Does anyone tried to compile GPU miner with NVIDIA CUDA SDK?
I have compiled it successfully but running miner fails:
$ gapminer -o
http://mine3.gap.nonce-pool.com -p 4200 -u ***.*** -x *** -g
[2014-11-07 11:00:42] Server supports longpoll
[2014-11-07 11:00:42] Got new target: 13.0000000 @ 22.4775703
[2014-11-07 11:00:48] Found platform[0] name = NVIDIA CUDA
[2014-11-07 11:00:48] Found 1 device(s)
[2014-11-07 11:00:48] Compiling ...
[2014-11-07 11:00:48] Source: 205025 bytes
[2014-11-07 11:00:49] :4329:1: warning: type specifier missing, defaults to 'int'
sqrProductScan320(uint32_t *out, uint32_t *op)
^
and so on...
:4670:1: warning: control reaches end of non-void function
}
^
:4671:1: warning: type specifier missing, defaults to 'int'
sqrProductScan352(uint32_t *out, uint32_t *op)
^
:5068:1: warning: control reaches end of non-void function
}
^
:6687:35: warning: incompatible pointer types passing 'uint4 *' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan352to96(result, limbs, q);
^~~~~
:3715:53: note: passing argument to parameter 'op1' here
void mulProductScan352to96(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:6687:42: warning: incompatible pointer types passing 'uint4 [2]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan352to96(result, limbs, q);
^
:3715:68: note: passing argument to parameter 'op2' here
void mulProductScan352to96(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:6689:36: warning: incompatible pointer types passing 'uint4 *' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan352to128(result, limbs, q);
^~~~~
:3881:54: note: passing argument to parameter 'op1' here
void mulProductScan352to128(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:6689:43: warning: incompatible pointer types passing 'uint4 [2]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan352to128(result, limbs, q);
^
:3881:69: note: passing argument to parameter 'op2' here
void mulProductScan352to128(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:6691:36: warning: incompatible pointer types passing 'uint4 *' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan352to192(result, limbs, q);
^~~~~
:4076:54: note: passing argument to parameter 'op1' here
void mulProductScan352to192(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:6691:43: warning: incompatible pointer types passing 'uint4 [2]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan352to192(result, limbs, q);
^
:4076:69: note: passing argument to parameter 'op2' here
void mulProductScan352to192(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:6708:16: error: too few elements in vector initialization (expected 4 elements, have 2)
uint4 q[2] = {0, 0};
^
:6747:17: warning: incompatible pointer types passing 'uint4 *' to parameter of type 'uint32_t *' (aka 'unsigned int *')
monSqr352(redcl, limbs, inverted);
^~~~~
:2025:26: note: passing argument to parameter 'op' here
void monSqr352(uint32_t *op, uint32_t *mod, uint32_t invm)
^
:6747:24: warning: incompatible pointer types passing 'uint4 *restrict' to parameter of type 'uint32_t *' (aka 'unsigned int *')
monSqr352(redcl, limbs, inverted);
^~~~~
:2025:40: note: passing argument to parameter 'mod' here
void monSqr352(uint32_t *op, uint32_t *mod, uint32_t invm)
^
:6749:33: warning: incompatible pointer types passing 'uint4 [3]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
redcify352(index, q, limbs, m, windowSize);
^
:6674:27: note: passing argument to parameter 'result' here
uint32_t *result,
^
:6750:15: warning: incompatible pointer types passing 'uint4 *' to parameter of type 'uint32_t *' (aka 'unsigned int *')
monMul352(redcl, m, limbs, inverted);
^~~~~
:2669:26: note: passing argument to parameter 'op1' here
void monMul352(uint32_t *op1, uint32_t *op2, uint32_t *mod, uint32_t invm)
^
:6750:22: warning: incompatible pointer types passing 'uint4 [3]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
monMul352(redcl, m, limbs, inverted);
^
:2669:41: note: passing argument to parameter 'op2' here
void monMul352(uint32_t *op1, uint32_t *op2, uint32_t *mod, uint32_t invm)
^
:6750:25: warning: incompatible pointer types passing 'uint4 *restrict' to parameter of type 'uint32_t *' (aka 'unsigned int *')
monMul352(redcl, m, limbs, inverted);
^~~~~
:2669:56: note: passing argument to parameter 'mod' here
void monMul352(uint32_t *op1, uint32_t *op2, uint32_t *mod, uint32_t invm)
^
:6755:15: warning: incompatible pointer types passing 'uint4 *' to parameter of type 'uint32_t *' (aka 'unsigned int *')
redcHalf352(redcl, limbs, inverted);
^~~~~
:3313:28: note: passing argument to parameter 'op' here
void redcHalf352(uint32_t *op, uint32_t *mod, uint32_t invm)
^
:6755:22: warning: incompatible pointer types passing 'uint4 *restrict' to parameter of type 'uint32_t *' (aka 'unsigned int *')
redcHalf352(redcl, limbs, inverted);
^~~~~
:3313:42: note: passing argument to parameter 'mod' here
void redcHalf352(uint32_t *op, uint32_t *mod, uint32_t invm)
^
:6776:35: warning: incompatible pointer types passing 'uint4 *' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan320to96(result, limbs, q);
^~~~~
:1458:53: note: passing argument to parameter 'op1' here
void mulProductScan320to96(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:6776:42: warning: incompatible pointer types passing 'uint4 [2]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan320to96(result, limbs, q);
^
:1458:68: note: passing argument to parameter 'op2' here
void mulProductScan320to96(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:6778:36: warning: incompatible pointer types passing 'uint4 *' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan320to128(result, limbs, q);
^~~~~
:1611:54: note: passing argument to parameter 'op1' here
void mulProductScan320to128(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:6778:43: warning: incompatible pointer types passing 'uint4 [2]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan320to128(result, limbs, q);
^
:1611:69: note: passing argument to parameter 'op2' here
void mulProductScan320to128(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:6780:36: warning: incompatible pointer types passing 'uint4 *' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan320to192(result, limbs, q);
^~~~~
:1791:54: note: passing argument to parameter 'op1' here
void mulProductScan320to192(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:6780:43: warning: incompatible pointer types passing 'uint4 [2]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan320to192(result, limbs, q);
^
:1791:69: note: passing argument to parameter 'op2' here
void mulProductScan320to192(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:6795:16: error: too few elements in vector initialization (expected 4 elements, have 2)
uint4 q[2] = {0, 0};
^
:6834:17: warning: incompatible pointer types passing 'uint4 *' to parameter of type 'uint32_t *' (aka 'unsigned int *')
monSqr320(redcl, limbs, inverted);
^~~~~
:20:26: note: passing argument to parameter 'op' here
void monSqr320(uint32_t *op, uint32_t *mod, uint32_t invm)
^
:6834:24: warning: incompatible pointer types passing 'uint4 *restrict' to parameter of type 'uint32_t *' (aka 'unsigned int *')
monSqr320(redcl, limbs, inverted);
^~~~~
:20:40: note: passing argument to parameter 'mod' here
void monSqr320(uint32_t *op, uint32_t *mod, uint32_t invm)
^
:6835:33: warning: incompatible pointer types passing 'uint4 [3]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
redcify320(index, q, limbs, m, windowSize);
^
:6762:27: note: passing argument to parameter 'result' here
uint32_t *result,
^
:6836:15: warning: incompatible pointer types passing 'uint4 *' to parameter of type 'uint32_t *' (aka 'unsigned int *')
monMul320(redcl, m, limbs, inverted);
^~~~~
:566:26: note: passing argument to parameter 'op1' here
void monMul320(uint32_t *op1, uint32_t *op2, uint32_t *mod, uint32_t invm)
^
:6836:22: warning: incompatible pointer types passing 'uint4 [3]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
monMul320(redcl, m, limbs, inverted);
^
:566:41: note: passing argument to parameter 'op2' here
void monMul320(uint32_t *op1, uint32_t *op2, uint32_t *mod, uint32_t invm)
^
:6836:25: warning: incompatible pointer types passing 'uint4 *restrict' to parameter of type 'uint32_t *' (aka 'unsigned int *')
monMul320(redcl, m, limbs, inverted);
^~~~~
:566:56: note: passing argument to parameter 'mod' here
void monMul320(uint32_t *op1, uint32_t *op2, uint32_t *mod, uint32_t invm)
^
:6841:15: warning: incompatible pointer types passing 'uint4 *' to parameter of type 'uint32_t *' (aka 'unsigned int *')
redcHalf320(redcl, limbs, inverted);
^~~~~
:1112:28: note: passing argument to parameter 'op' here
void redcHalf320(uint32_t *op, uint32_t *mod, uint32_t invm)
^
:6841:22: warning: incompatible pointer types passing 'uint4 *restrict' to parameter of type 'uint32_t *' (aka 'unsigned int *')
redcHalf320(redcl, limbs, inverted);
^~~~~
:1112:42: note: passing argument to parameter 'mod' here
void redcHalf320(uint32_t *op, uint32_t *mod, uint32_t invm)
^
:6846:17: warning: passing 'uint4 const *' to parameter of type 'uint4 *' discards qualifiers
FermatTest352((const uint4*)p, modpowl);
^~~~~~~~~~~~~~~
:6700:36: note: passing argument to parameter 'limbs' here
void FermatTest352(uint4 *restrict limbs,
^
:6860:17: warning: passing 'uint4 const *' to parameter of type 'uint4 *' discards qualifiers
FermatTest320((const uint4*)p, modpowl);
^~~~~~~~~~~~~~~
:6789:36: note: passing argument to parameter 'limbs' here
void FermatTest320(uint4 *restrict limbs, uint4 *redcl)
^
:7038:25: warning: incompatible pointer types passing 'uint4 [3]' to parameter of type 'uint const *' (aka 'unsigned int const *')
result[id] = fermat352(p);
^
:6844:28: note: passing argument to parameter 'p' here
bool fermat352(const uint* p) {
^
:7052:26: warning: incompatible pointer types passing 'uint4 [3]' to parameter of type 'uint const *' (aka 'unsigned int const *')
result[id] = fermat320(p);
^
:6858:28: note: passing argument to parameter 'p' here
bool fermat320(const uint* p) {
^
:7109:25: warning: incompatible pointer types passing 'uint4 [6]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
sqrProductScan320(result, op1v);
^~~~~~
:4329:29: note: passing argument to parameter 'out' here
sqrProductScan320(uint32_t *out, uint32_t *op)
^
:7109:33: warning: incompatible pointer types passing 'uint4 [3]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
sqrProductScan320(result, op1v);
^~~~
:4329:44: note: passing argument to parameter 'op' here
sqrProductScan320(uint32_t *out, uint32_t *op)
^
:7144:25: warning: incompatible pointer types passing 'uint4 [6]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
sqrProductScan352(result, op1v);
^~~~~~
:4671:29: note: passing argument to parameter 'out' here
sqrProductScan352(uint32_t *out, uint32_t *op)
^
:7144:33: warning: incompatible pointer types passing 'uint4 [3]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
sqrProductScan352(result, op1v);
^~~~
:4671:44: note: passing argument to parameter 'op' here
sqrProductScan352(uint32_t *out, uint32_t *op)
^
:7191:30: warning: incompatible pointer types passing 'uint4 [6]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan320to320(result, op1v, op2v);
^~~~~~
:5069:39: note: passing argument to parameter 'out' here
void mulProductScan320to320(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:7191:38: warning: incompatible pointer types passing 'uint4 [3]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan320to320(result, op1v, op2v);
^~~~
:5069:54: note: passing argument to parameter 'op1' here
void mulProductScan320to320(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:7191:44: warning: incompatible pointer types passing 'uint4 [3]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan320to320(result, op1v, op2v);
^~~~
:5069:69: note: passing argument to parameter 'op2' here
void mulProductScan320to320(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:7236:30: warning: incompatible pointer types passing 'uint4 [6]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan352to352(result, op1v, op2v);
^~~~~~
:5411:39: note: passing argument to parameter 'out' here
void mulProductScan352to352(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:7236:38: warning: incompatible pointer types passing 'uint4 [3]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan352to352(result, op1v, op2v);
^~~~
:5411:54: note: passing argument to parameter 'op1' here
void mulProductScan352to352(uint32_t *out, uint32_t *op1, uint32_t *op2)
^
:7236:44: warning: incompatible pointer types passing 'uint4 [3]' to parameter of type 'uint32_t *' (aka 'unsigned int *')
mulProductScan352to352(result, op1v, op2v);
^~~~
:5411:69: note: passing argument to parameter 'op2' here
void mulProductScan352to352(uint32_t *out, uint32_t *op1, uint32_t *op2)
^