Hi,
I was trying for a long time to make work this GPU miner on my laptop (Nvidia GeForce GTX 765M) without success, and today it works
!
# ./xpmclient -b
madPrimeMiner-v1.1
ClientName = 'modulix' ClientID = 1962103082 InstanceID = 2241023174
Address = 'AG7ofBFDfjoPNWvYapLUj2DL4KXDMSyNJA'
found platform[0] name = 'NVIDIA CUDA'
Found 1 devices
Using device 0 as GPU 0
GeForce GTX 765M; 4 compute units
square 320 bits: 315.070ms (425.993M ops/sec)
square 320 bits: 323.220ms (415.252M ops/sec)
multiply 320 bits: 244.722ms (548.450M ops/sec)
square 352 bits: 363.831ms (368.901M ops/sec)
multiply 352 bits: 297.200ms (451.607M ops/sec)
Fermat tests 320 bits: 229.570ms (0.571M ops/sec)
Fermat tests 352 bits: 276.810ms (0.474M ops/sec)
*** hashmod benchmark ***
MHash per second: 37.204
Hash per iteration: 37.266 (0.000444 %)
Average hash multiplier size: 30.620
*** sieve (check) benchmark ***
* [OK] found candidates by CPU: 5431 by GPU: 5435
* [OK] invalid candidates: 0
* [OK] CPU/GPU candidates difference: 0
*** sieve (performance) benchmark ***
* scan speed: 2.303 G
* iteration time: 239.022ms
* candidates per second: 30096.465
* candidates per iteration: 7193.70 (3017.97 320bit, 4175.73 352bit)
* 320bit/352bit ratio: 0.723/1
Unfortunately, i needed to hack the xpmclient.cpp file to remove the test after the line 1251 about incompatible configuration :
config_t config = miner->getConfig();
/*
if (config.TARGET != clKernelTarget ||
config.PCOUNT != clKernelPCount ||
config.STRIPES != clKernelStripes ||
config.WIDTH != clKernelWidth ||
config.WINDOWSIZE_ != clKernelWindowSize) {
printf("Existing OpenCL kernel (kernel.bin) incompatible with configuration\n");
printf("Please remove kernel.bin file and restart miner\n");
exit(1);
}
*/
I don't know exactly what is bad in this test, but after i tried to put in config.txt file same values as found in gpu/config.cl without success, i tried to remove the test and... now, it's ok ;-)
The values i have in my config.txt :
server = "xpmforall.org";
port = "6666";
address="xxxxxxxxxxxxxxxxxxxxxxxxxxx";
name="modulix";
cpuload="1";
platform="nvidia";
target="10";
weaveDepth="40960";
sieveSize="420";
width="20";
windowSize="4096";
devices=["1", "0", "0", "0"];
I hope that this post could enhance this great project !