View Code? Open in Web Editor
NEW
Accelerating bitcoin's ECDSA - implemented in C and OpenCL for GPUs
ecdsa-opencl's People
Contributors
ecdsa-opencl's Issues
test count = 64
random seed = 1e84f0a2694e5b731ce1341dfcc0a9fb
/tmp/OCL11561T1.cl:225:17: warning: incompatible pointer types initializing 'const uint ' (aka 'const unsigned int ') with an expression of type 'ulong const[5]'
const uint d = a->n;
^ ~~~~
/tmp/OCL11561T1.cl:301:53: error: use of undeclared identifier 'NULL'
secp256k1_scalar_set_b32X(r, &sig->data[0], NULL);
^
/tmp/OCL11561T1.cl:302:54: error: use of undeclared identifier 'NULL'
secp256k1_scalar_set_b32X(s, &sig->data[32], NULL);
^
/tmp/OCL11561T1.cl:1001:10: warning: incompatible pointer to integer conversion assigning to 'ulong' (aka 'unsigned long') from 'ulong [5]'
r->n[0] = arr; /TODO this is not correct/
^ ~~~
/tmp/OCL11561T1.cl:1226:20: error: use of undeclared identifier 'NULL'
if (rzr != NULL) {
^
/tmp/OCL11561T1.cl:1232:16: error: use of undeclared identifier 'NULL'
if (rzr != NULL) {
^
/tmp/OCL11561T1.cl:1318:20: error: use of undeclared identifier 'NULL'
if (rzr != NULL) {
^
/tmp/OCL11561T1.cl:1337:24: error: use of undeclared identifier 'NULL'
if (rzr != NULL) {
^
/tmp/OCL11561T1.cl:1347:16: error: use of undeclared identifier 'NULL'
if (rzr != NULL) {
^
/tmp/OCL11561T1.cl:1364:38: error: use of undeclared identifier 'NULL'
secp256k1_gej_double_varX(&d, a, NULL);
^
/tmp/OCL11561T1.cl:1535:45: error: use of undeclared identifier 'NULL'
secp256k1_gej_double_varX(r, a, NULL);
^
/tmp/OCL11561T1.cl:1602:41: error: use of undeclared identifier 'NULL'
secp256k1_gej_double_varX(r, r, NULL);
^
/tmp/OCL11561T1.cl:1606:56: error: use of undeclared identifier 'NULL'
secp256k1_gej_add_ge_varX(r, r, &tmpa, NULL);
^
/tmp/OCL11561T1.cl:1715:42: error: use of undeclared identifier 'NULL'
secp256k1_scalar_set_b32X(&m, msg32, NULL);
^
/tmp/OCL11561T1.cl:1717:37: warning: incompatible pointer types passing 'const __global secp256k1_ge_storageX ' to parameter of type 'const __global secp256k1_contextX ' (aka 'const __global struct secp256k1_context_structX ')
secp256k1_ecdsa_signature_loadX(ctx, &r, &s, &sig[get_global_id(0)]);
^~~
/tmp/OCL11561T1.cl:295:78: note: passing argument to parameter 'ctx' here
static void secp256k1_ecdsa_signature_loadX(global const secp256k1_contextX ctx, secp256k1_scalarX r, secp256k1_scalarX s, global secp256k1_ecdsa_signatureX sig) {
^
/tmp/OCL11561T1.cl:1717:50: warning: passing 'const __global secp256k1_ecdsa_signatureX ' to parameter of type '__global secp256k1_ecdsa_signatureX ' discards qualifiers
secp256k1_ecdsa_signature_loadX(ctx, &r, &s, &sig[get_global_id(0)]);
^~~~~~~~~~~~~~~~~~~~~~
/tmp/OCL11561T1.cl:295:162: note: passing argument to parameter 'sig' here
static void secp256k1_ecdsa_signature_loadX(global const secp256k1_contextX ctx, secp256k1_scalarX r, secp256k1_scalarX s, global secp256k1_ecdsa_signatureX sig) {
^
/tmp/OCL11561T1.cl:1718:36: warning: incompatible pointer types passing 'const __global secp256k1_ge_storageX ' to parameter of type 'const __global secp256k1_contextX ' (aka 'const __global struct secp256k1_context_structX ')
int tmp = (secp256k1_pubkey_loadX(ctx, &q, &pubkey[get_global_id(0)]) && secp256k1_ecdsa_sig_verifyX(ctx, &r, &s, &q, &m));
^~~
/tmp/OCL11561T1.cl:403:68: note: passing argument to parameter 'ctx' here
static int secp256k1_pubkey_loadX(global const secp256k1_contextX ctx, secp256k1_geX ge, global const secp256k1_pubkeyX pubkey) {
^
5 warnings and 12 errors generated.
error: Clang front-end compilation failed!
Frontend phase failed compilation.
Error: Compiling CL to IR
CPU GPU
1 1 0
2 1 0
3 1 0
4 1 0
5 1 0
6 1 0
7 1 0
8 1 0
9 1 0
10 1 0
11 1 0
12 1 0
13 1 0
14 1 0
15 1 0
16 1 0
17 1 0
18 1 0
19 1 0
20 1 0
21 1 0
22 1 -1878458368
23 1 -1476392448
24 1 10923209
25 1 0
26 1 67108864
27 1 0
28 1 -1140828928
29 1 1188616271
30 1 8
31 1 5636293
32 1 0
33 1 -587650551
34 1 -973799403
35 1 20
36 1 24323
37 1 3604480
38 1 0
39 1 -299214098
40 1 3211264
41 1 0
42 1 0
43 1 0
44 1 0
45 1 22272
46 1 -2085811755
47 1 0
48 1 -1644106976
49 1 0
50 1 0
51 1 0
52 1 0
53 1 0
54 1 0
55 1 0
56 1 0
57 1 0
58 1 0
59 1 8060944
60 1 0
.
.
.
998 1 0
999 1 0
1000 1 0
CPU GPU
1000 verify took 0.160601 seconds to execute
random run = 97d639022fd2f9ee419fea3055da6992
no problems found
hi,ilaychen,
it looks interesting,
when i am trying to build a demo about ecdsa signature or verify for gpu ,which folder should i build ?