Bitcoin Forum
November 04, 2024, 08:10:13 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 [39] 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 »
  Print  
Author Topic: python OpenCL bitcoin miner  (Read 1239028 times)
FnuGk
Newbie
*
Offline Offline

Activity: 55
Merit: 0


View Profile
April 22, 2011, 12:16:54 PM
 #761

I just installed the 270.61 nvidia drivers, and it seems to make the drivers crash each time I exit poclbm by clicking the x, if I ctrl-c they seem to exit fine most of the time. Nothing serious yet, but I keep getting these in my system event log:

"Display driver nvlddmkm stopped responding and has successfully recovered."

https://i.imgur.com/VrnJn.png

have you done any overclocking?
drgr33n
Sr. Member
****
Offline Offline

Activity: 308
Merit: 251



View Profile
April 22, 2011, 02:18:03 PM
 #762

No. The kernel computes correctly only the 4 first bytes. It's confusing, because there is a code in BitcoinMiner.cl BelowOrEquals() which checks 8 bytes - this produces better assembler for some reason, at least in my setup. It can be replaced with 'if (H == 0)' (but it was slower). That's exactly why the targets are hard coded to difficulty of 1 (00000000 FFFF0000).

If you mean that this:
Code:
#ifdef VECTORS
if (belowOrEquals(H.x, targetH, G.x, targetG))
{
output[OUTPUT_SIZE] = output[nonce.x & OUTPUT_MASK] = nonce.x;
}
else if (belowOrEquals(H.y, targetH, G.y, targetG))
{
output[OUTPUT_SIZE] = output[nonce.y & OUTPUT_MASK] = nonce.y;
}
#else
if (belowOrEquals(H, targetH, G, targetG))
{
output[OUTPUT_SIZE] = output[nonce & OUTPUT_MASK] = nonce;
}
#endif
}
is faster than this:
Code:
#ifdef VECTORS
if (H.x == 0)
{
output[OUTPUT_SIZE] = output[nonce.x & OUTPUT_MASK] = nonce.x;
}
else if (H.y == 0)
{
output[OUTPUT_SIZE] = output[nonce.y & OUTPUT_MASK] = nonce.y;
}
#else
if (H == 0)
{
output[OUTPUT_SIZE] = output[nonce & OUTPUT_MASK] = nonce;
}
#endif
then I got very different results in my tests on Windows 7 x64 & HD5850.

With belowEquals I get ~270Mhps
With the H == 0 version I get ~275Mhps

That's a 1.8% speed increase.

Quote
Actually you are right, but in a different way - because of this I should use hard coded kernel target of 00000000 FFFFFFFF in order to not lose 1 thousandth of a percent of all valid difficulty=1 candidates. I'll do this with the next release.

I'd just stop the target from being sent to the GPU and do that H==0 thing. I see no logical reason that it would be slower. There might be illogical reasons, though :-)

Quote
Why you check for 'lower' with a 'greater than' operator? Where did the '0x80000000' came from?

I guess I didn't explain that part that well. I chose 0x80000000 to make it easy to determine if bytes 4-7 were actually calculated correctly. I edited BitcoinMiner.cl to only accept hashes below 0x80000000. In the Python code, "> 0x80000000" (should've been >= though) is checking if that part of the hash is over 0x80000000 and warns the user if it is, i.e. if the GPU calculated the hash wrong. But none of that matters since it wasn't even supposed to calculate bytes 4-7 right.


mOmchill,

Is this H==0 mod. going to go into official version of poclbm miner on github  ?

Cheers.

I just tried this and I'm too getting around 1.8% increase in speed.

debian sid x86_64
ATI APP v2.4
11.3 catalyst
pyopencl git
poclbm git
XFX ATI Radeon HD5830 xxx

with the git version I'm getting around 240000
adding the above I'm getting 245000
djex
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
April 22, 2011, 06:07:58 PM
Last edit: April 22, 2011, 07:31:44 PM by djex
 #763

Code:
#ifdef VECTORS
if (H.x == 0)
{
output[OUTPUT_SIZE] = output[nonce.x & OUTPUT_MASK] = nonce.x;
}
else if (H.y == 0)
{
output[OUTPUT_SIZE] = output[nonce.y & OUTPUT_MASK] = nonce.y;
}
#else
if (H == 0)
{
output[OUTPUT_SIZE] = output[nonce & OUTPUT_MASK] = nonce;
}
#endif

I can confirm that this code does give a faster hash rate.

Windows 7 64bit
XFX ATI HD 5850
SDK 2.1
11.3 Catalyst

With the original code I get ~249Mhash/s

With the new code suggested above I get ~251Mhash/s

Update: I noticed that this new code is temperature dependent with my setup. I turned my fan up from 50% to 60% and got 255Mhash/s.

At 50% fan speed I get 74*C
At 60% fan speed I get 66*C

If I use the old code turning the fan up has no effect. I'm not sure why this is.

Smiley  : 1LbvSEJwtQZKLSQQVYxQJes8YneQk2yhE3
nster
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
April 22, 2011, 06:54:24 PM
 #764

I go from 233 to 238Mh/s with that code, but fan speed has no effect in any way on both codes

167q1CHgVjzLCwQwQvJ3tRMUCrjfqvSznd Donations are welcome Smiley Please be kind if I helped
qed
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
April 22, 2011, 10:53:49 PM
 #765

The if (H == 0) modification fixed my crossfire issue. Now all the GPUs are used at 97%-99%, before i had 1 GPU at 99% one at around 94% and one at around 85%.

Mobile App (Android)

Monitor miners, exchange rates and Bitcoin network stats.
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2349


Eadem mutata resurgo


View Profile
April 22, 2011, 11:01:42 PM
 #766


The if (H == 0) modification fixed my crossfire issue. Now all the GPUs are used at 97%-99%, before i had 1 GPU at 99% one at around 94% and one at around 85%.

Wow, really? How could that be I wonder?

Did you do anything else besides pasting in the above section of code?

nster
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
April 22, 2011, 11:31:24 PM
 #767

hmmm imana try and see if it fixed my too, brb

167q1CHgVjzLCwQwQvJ3tRMUCrjfqvSznd Donations are welcome Smiley Please be kind if I helped
nster
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
April 22, 2011, 11:37:26 PM
 #768

It MAY have lowered the amplitude of the problem, but not by much, it still requires -f 60 for it to be somewhat stable

167q1CHgVjzLCwQwQvJ3tRMUCrjfqvSznd Donations are welcome Smiley Please be kind if I helped
qed
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
April 23, 2011, 12:37:33 AM
Last edit: April 23, 2011, 06:36:27 AM by qed
 #769


The if (H == 0) modification fixed my crossfire issue. Now all the GPUs are used at 97%-99%, before i had 1 GPU at 99% one at around 94% and one at around 85%.

Wow, really? How could that be I wonder?

Did you do anything else besides pasting in the above section of code?

I just made all the 3 changes posted, that's it. I'm using 3 hd 6950 on windows 7 64 bit.

Mobile App (Android)

Monitor miners, exchange rates and Bitcoin network stats.
LobsterMan
Member
**
Offline Offline

Activity: 73
Merit: 10


View Profile
April 23, 2011, 01:37:31 AM
 #770

I just installed the 270.61 nvidia drivers, and it seems to make the drivers crash each time I exit poclbm by clicking the x, if I ctrl-c they seem to exit fine most of the time. Nothing serious yet, but I keep getting these in my system event log:

"Display driver nvlddmkm stopped responding and has successfully recovered."



have you done any overclocking?

No  Undecided
dishwara
Legendary
*
Offline Offline

Activity: 1855
Merit: 1016



View Profile
April 23, 2011, 02:00:32 AM
 #771

I just installed the 270.61 nvidia drivers, and it seems to make the drivers crash each time I exit poclbm by clicking the x, if I ctrl-c they seem to exit fine most of the time. Nothing serious yet, but I keep getting these in my system event log:

"Display driver nvlddmkm stopped responding and has successfully recovered."



have you done any overclocking?

No  Undecided
you using flag -f1 or fxxx?

Completely remove driver using driver sweeper & install again with CUDA.
kindle
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
April 23, 2011, 03:44:53 AM
 #772

Just curious did anyone manage to mine a successful block with the (H == 0)  mod?

nster
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
April 23, 2011, 06:23:28 AM
 #773

Just curious did anyone manage to mine a successful block with the (H == 0)  mod?

deepbit's pool is seeing the right hashrate so I am being paid in that way :p

167q1CHgVjzLCwQwQvJ3tRMUCrjfqvSznd Donations are welcome Smiley Please be kind if I helped
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2349


Eadem mutata resurgo


View Profile
April 23, 2011, 06:40:27 AM
 #774


The if (H == 0) modification fixed my crossfire issue. Now all the GPUs are used at 97%-99%, before i had 1 GPU at 99% one at around 94% and one at around 85%.

Wow, really? How could that be I wonder?

Did you do anything else besides pasting in the above section of code?

I just made all the 3 changes posted, that's it. I'm using 3 hd 6950 on windows 7 64 bit.

Besides pasting in the
#ifdef VECTORS
   if (H.x == 0)
-------
loop, what other 2 changes did you make exactly?

nster
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
April 23, 2011, 06:42:19 AM
 #775


The if (H == 0) modification fixed my crossfire issue. Now all the GPUs are used at 97%-99%, before i had 1 GPU at 99% one at around 94% and one at around 85%.

Wow, really? How could that be I wonder?

Did you do anything else besides pasting in the above section of code?

I just made all the 3 changes posted, that's it. I'm using 3 hd 6950 on windows 7 64 bit.

Besides pasting in the
#ifdef VECTORS
   if (H.x == 0)
-------
loop, what other 2 changes did you make exactly?

H.y == 0
H == 0
 Undecided

I believe he didn't paste but just manually change the 3 things (H.x == 0 and the 2 above)

167q1CHgVjzLCwQwQvJ3tRMUCrjfqvSznd Donations are welcome Smiley Please be kind if I helped
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2349


Eadem mutata resurgo


View Profile
April 23, 2011, 10:47:40 AM
 #776


Okay, I tested the H == 0 mod on linux ubuntblow 10.10, HD5970 and it is 1-2% SLOWER. (Wonder why it is faster on Win?)

... poclbm fork for Win users ... ?

nster
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
April 23, 2011, 04:13:11 PM
 #777

yup I am on win 7 64 bit

167q1CHgVjzLCwQwQvJ3tRMUCrjfqvSznd Donations are welcome Smiley Please be kind if I helped
drgr33n
Sr. Member
****
Offline Offline

Activity: 308
Merit: 251



View Profile
April 23, 2011, 05:24:10 PM
 #778


Okay, I tested the H == 0 mod on linux ubuntblow 10.10, HD5970 and it is 1-2% SLOWER. (Wonder why it is faster on Win?)

... poclbm fork for Win users ... ?

It's not just windows. Its running around 5000kh/s faster on my debian server.
djex
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
April 23, 2011, 05:32:22 PM
 #779


Okay, I tested the H == 0 mod on linux ubuntblow 10.10, HD5970 and it is 1-2% SLOWER. (Wonder why it is faster on Win?)

... poclbm fork for Win users ... ?

I have a Ubuntu 10.10 box and it gets about 1.1Mh/s faster with this mod.

Smiley  : 1LbvSEJwtQZKLSQQVYxQJes8YneQk2yhE3
eleuthria
Legendary
*
Offline Offline

Activity: 1750
Merit: 1007



View Profile
April 23, 2011, 05:42:52 PM
 #780

I made the modification and my 5870s went from 363 mHash/sec and 361 mHash/sec to 370 even on both.  Ubuntu 10.10.

RIP BTC Guild, April 2011 - June 2015
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 [39] 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!