Bitcoin Forum

Other => Beginners & Help => Topic started by: dc740 on June 29, 2011, 12:41:45 PM



Title: GPU doesn't generate shares, CPU does
Post by: dc740 on June 29, 2011, 12:41:45 PM
Hello everyone, I'm using old jgarzik miner (CPU only) to mine with 1 cpu thread and poclbm python miner to work on the GPU. I'm using deepbit.

I've set up two workers, jgarzik works on CPU mining, and finds a share every hour (that's really slow! I know).

the other worker uses the latest m0chil python gpu miner and it's using full GPU and 100% of one CPU core (cause the latest nvidia cude implementation) BUT IT DOESN'T FIND ANYTHING!

I get 4.8 Mhash on a Geforce 8600GT and 0.9 Mhash on one AMD X2 +4400 core using sse2_64 algorithm.

My problem:
why does the cpu worker find a share every hour, and the gpu worker is not finding anything, even though it has 5 times the cpu power?

Thanks in advance.


Title: Re: GPU doesn't generate shares, CPU does
Post by: dc740 on June 29, 2011, 06:57:35 PM
update:
I tried using new gpuminer implementation from ckolivas. but it's giving me a segmentation fault:
ckolivas-cpuminer-b66aa45$ ./minerd --gpu-threads 1 --url http://pit.deepbit.net:8332/ --user myuser --pass mypassword
Code:
[2011-06-29 15:49:10] Init GPU thread 0
[2011-06-29 15:49:10] List of devices:
[2011-06-29 15:49:10] 0 GeForce 8600 GT
[2011-06-29 15:49:10] Selected 0: GeForce 8600 GT
[2011-06-29 15:49:23] Initialising kernel poclbm.cl without BFI_INT patching, 1 vectors and worksize 512
[2011-06-29 15:49:36] initCl() finished. Found GeForce 8600 GT
[2011-06-29 15:49:36] 1 gpu miner threads started
[2011-06-29 15:49:36] 0 cpu miner threads started, using SHA256 'sse2_64' algorithm.
[2011-06-29 15:49:37] Long-polling activated for http://pit.deepbit.net:8332/listenChannel
Segmentation fault

Then I tried again using ./minerd --gpu-threads 1 --url http://pit.deepbit.net:8332/ --userpass myusername:mypassword

Code:
[2011-06-29 15:52:35] Init GPU thread 0
[2011-06-29 15:52:35] List of devices:
[2011-06-29 15:52:35] 0 GeForce 8600 GT
[2011-06-29 15:52:35] Selected 0: GeForce 8600 GT
[2011-06-29 15:52:46] Initialising kernel poclbm.cl without BFI_INT patching, 1 vectors and worksize 512
[2011-06-29 15:52:46] initCl() finished. Found GeForce 8600 GT
[2011-06-29 15:52:46] 1 gpu miner threads started
[2011-06-29 15:52:46] 0 cpu miner threads started, using SHA256 'sse2_64' algorithm.
[2011-06-29 15:52:49] Long-polling activated for http://pit.deepbit.net:8332/listenChannel
[2011-06-29 15:52:52] [630.46 | 1197.87 Mhash/s] [0 Accepted] [0 Rejected] [0 HW errors]
[2011-06-29 15:52:57] [1601.08 | 1786.52 Mhash/s] [0 Accepted] [0 Rejected] [0 HW errors]
[2011-06-29 15:53:02] [1255.39 | 1513.48 Mhash/s] [0 Accepted] [0 Rejected] [0 HW errors]
*** glibc detected *** ./minerd: malloc(): smallbin double linked list corrupted: 0x00007f20b8dbcdc0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x76bb6)[0x7f20c1de6bb6]
/lib/x86_64-linux-gnu/libc.so.6(+0x79e78)[0x7f20c1de9e78]
/lib/x86_64-linux-gnu/libc.so.6(__libc_malloc+0x6e)[0x7f20c1dec31e]
/usr/lib/libcuda.so(+0x17eddf)[0x7f20becb0ddf]
/usr/lib/libcuda.so(+0x192fb1)[0x7f20becc4fb1]
/usr/lib/libcuda.so(+0x18fc8a)[0x7f20becc1c8a]
/usr/lib/libcuda.so(+0x1900fc)[0x7f20becc20fc]
./minerd[0x402e18]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x6d8c)[0x7f20c230fd8c]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f20c1e5604d]
...

Any hints?


Title: Re: GPU doesn't generate shares, CPU does
Post by: dc740 on June 29, 2011, 08:09:35 PM
fixed! All I had to do was to rollback the last commit:

https://github.com/m0mchil/poclbm/commit/3d43c4e4c2c476cf367822868202f02d168d6f3b

It seems that the new code:
#define Ma(x, y, z) amd_bytealign( (z^x), (y), (x) )
is not the same as the old code:
#define Ma(x, y, z) amd_bytealign((y), (x | z), (z & x))


I changed the code back to use the old one. Now my poclbm uses "amd_bytealign((y), (x | z), (z & x))" , and the gpu started to get shares. Everything runs as it should :D

Update
My bad. it's not finding anything :( . It got 3 accepted solutions the first 15 minutes, and then it just stayed there.