Pages:
Author

Topic: DiabloMiner GPU Miner - page 52. (Read 866596 times)

legendary
Activity: 1162
Merit: 1000
DiabloMiner author
June 22, 2011, 01:01:15 PM
newbie
Activity: 27
Merit: 0
June 22, 2011, 06:39:44 AM
 I'm having a look at your code because i would like to understand how a miner works.
I have a few questions.
Where i can find how is stored the data contained in the work sent to the miner from the server ?
Also could you explain a little bit in few words what happens in lines of code between 888 and 944?
Here:
Code:
 bufferIndex = (bufferIndex == 0) ? 1 : 0;

          workSizeTemp.put(0, workSize);
          currentWork.update(workSizeTemp.get(0) * loops * vectors);

          System.arraycopy(currentWork.midstate, 0, midstate2, 0, 8);

          sharound(midstate2, 0, 1, 2, 3, 4, 5, 6, 7, currentWork.data[16], 0x428A2F98);
          sharound(midstate2, 7, 0, 1, 2, 3, 4, 5, 6, currentWork.data[17], 0x71374491);
          sharound(midstate2, 6, 7, 0, 1, 2, 3, 4, 5, currentWork.data[18], 0xB5C0FBCF);

          int fW0 = currentWork.data[16] + (rot(currentWork.data[17], 7) ^ rot(currentWork.data[17], 18) ^
                    (currentWork.data[17] >>> 3));
          int fW1 = currentWork.data[17] + (rot(currentWork.data[18], 7) ^ rot(currentWork.data[18], 18) ^
                    (currentWork.data[18] >>> 3)) + 0x01100000;
          int fW2 = currentWork.data[18] + (rot(fW0, 17) ^ rot(fW0, 19) ^ (fW0 >>> 10));
          int fW3 = 0x11002000 + (rot(fW1, 17) ^ rot(fW1, 19) ^ (fW1 >>> 10));
          int fW15 = 0x00000280 + (rot(fW0, 7) ^ rot(fW0, 18) ^ (fW0 >>> 3));
          int fW01r = fW0 + (rot(fW1, 7) ^ rot(fW1, 18) ^ (fW1 >>> 3));

          int fcty_e = currentWork.midstate[4] + (rot(midstate2[1], 6) ^ rot(midstate2[1], 11) ^ rot(midstate2[1], 25)) +
                       (midstate2[3] ^ (midstate2[1] & (midstate2[2] ^ midstate2[3]))) + 0xe9b5dba5;
          int fcty_e2 = (rot(midstate2[5], 2) ^ rot(midstate2[5], 13) ^ rot(midstate2[5], 22)) + ((midstate2[5] & midstate2[6]) |
                        (midstate2[7] & (midstate2[5] | midstate2[6])));

          int fcty_e_plus_e2 = fcty_e + fcty_e2;
          int fcty_e_plus_state0 = fcty_e + currentWork.midstate[0];
I also noticed that i get 'Spurious CL_INVALID_KERNEL_ARGS error, ignoring' when running with -d enabled, what could it be ?
Thanks for the patience Cheesy
legendary
Activity: 1162
Merit: 1000
DiabloMiner author
June 21, 2011, 07:24:03 PM
I run 2 6990s and 1 hour ago i was getting about .5 hw errors per second and full speed on the newest version.

Then there was a power brownout and all my equipment froze and restarted. When I restarted, the newest version gave me 75-85% of speed under the same settings and 1000 hw errors per second. However on the old version which I switched back to now, I get 100% speed still.  I had this problem before, and what might have fixed it is reseating the cards. But if thats the problem why does the old version work fine?

If you're getting a lot of HW errors, the miner is probably slowing down.
full member
Activity: 133
Merit: 100
June 21, 2011, 07:17:01 PM
i will took a look into apache logfiles, but no errors.

my idea was, that the requests are to fast and the webserver / proxy protects against ddos. But i will figure it out exactly tomorrow.

if there is an easy way to tell the miner just to slow down on errors it would just a workaround ... the problem is not the miner its apaches fault.

Good night
newbie
Activity: 15
Merit: 0
June 21, 2011, 07:15:35 PM
I run 2 6990s and 1 hour ago i was getting about .5 hw errors per second and full speed on the newest version.

Then there was a power brownout and all my equipment froze and restarted. When I restarted, the newest version gave me 75-85% of speed under the same settings and 1000 hw errors per second. However on the old version which I switched back to now, I get 100% speed still.  I had this problem before, and what might have fixed it is reseating the cards. But if thats the problem why does the old version work fine?
legendary
Activity: 1162
Merit: 1000
DiabloMiner author
June 21, 2011, 07:02:27 PM
ups sorry, im sleepy Smiley

There is no rest ... thats all
I forgot to tell you that i connect to proxy ( http://forum.bitcoin.org/index.php?topic=5506 ) and than to slush, deepbit or btcguild.

Im just wondering that it runs about 30h-40h very smoth and than i have this endless loop ... stoping ... waiting 5 seconds .... restart and every thing is smoth for the next day Smiley

Thanks for your time and support.

cheers


Sounds like the proxy is trying to report an error message, I wish I knew what it was saying.
full member
Activity: 133
Merit: 100
June 21, 2011, 06:56:22 PM
ups sorry, im sleepy Smiley

There is no rest ... thats all
I forgot to tell you that i connect to proxy ( http://forum.bitcoin.org/index.php?topic=5506 ) and than to slush, deepbit or btcguild.

Im just wondering that it runs about 30h-40h very smoth and than i have this endless loop ... stoping ... waiting 5 seconds .... restart and every thing is smoth for the next day Smiley

Thanks for your time and support.

cheers


legendary
Activity: 1162
Merit: 1000
DiabloMiner author
June 21, 2011, 06:48:21 PM
Hello,

first thanks for your great Miner and thanks to all who help with those projects.

There is a little problem, sometimes the miner runs in an endless loop:
Code:
ERROR: Cannot connect to Bitcoin: Bitcoin returned error message: 

There is no way that it stops.

If i stop the miner from requesting work, wait some second than restart it, everytihing is fine.
Maybe there is a parameter that i dont see to tell the miner just wait 10 seconds if this happens and than start asking for work again.

cheers
carlo

I wish I knew what the rest of that is. What are you connecting it to?
full member
Activity: 133
Merit: 100
June 21, 2011, 06:34:33 PM
Hello,

first thanks for your great Miner and thanks to all who help with those projects.

There is a little problem, sometimes the miner runs in an endless loop:
Code:
ERROR: Cannot connect to Bitcoin: Bitcoin returned error message: 

There is no way that it stops.

If i stop the miner from requesting work, wait some second than restart it, everytihing is fine.
Maybe there is a parameter that i dont see to tell the miner just wait 10 seconds if this happens and than start asking for work again.

cheers
carlo
legendary
Activity: 1162
Merit: 1000
DiabloMiner author
June 21, 2011, 08:23:21 AM
I had a problem overnight with DiabloMiner and I'm not sure if this is a known problem (couldn't find anything in a quick search).

I have two 5970s (four total GPU cores) and overnight, one of the cores went idle with DiabloMiner. I noticed long enough after it happened that any error messages were not in my scrollback buffer anymore, so I don't know what happened.

Is this a normal problem?  Restarting DiabloMiner fixed it, but I am worried that this wasn't a one time issue. 

I really hope to find a solution for this one because it is really slick to only have to run one instance of DiabloMiner vs multiple instances of phoenix/poclbm.

Assuming that your GPUs are not overheating (keep them 85c or below) and the VRMs are not overheating (which can happen with poor airflow, even at low GPU temps), then you're looking at a driver bug.

Sadly, the driver bug would even happen if you ran pheonix/poclbm. Some people work around it by running twice as many miners at once, because it doesn't freeze both of them. Its a bad hack, but it'll work until AMD fixes their shit.

Temps on the cards are all around 70c.  Not sure how to check the VRMs, but the rig is a caseless rig with several large fans pointing at it.

I'll let it run for another day and see if it recurs.  Note, I switched to DiabloMiner yesterday because of the elegant simplicity of running a single miner that handled all the GPUs and because your miner handled network problems better.  That said, I had been running poclbm and phoenix for more than a month without any problems like this.  Hopefully it is rare.

To your last point, so it's reasonable to run two instances of DiabloMiner at the same time?  I am used to having to do that with phoenix and poclbm to work around their poor handling of network problems and slow-to-response getwork requests.  I suppose I could even setup some cron jobs to restart each instance periodically to make sure that if one of them gets in a bad state, it gets fixed hopefully before the second one gets in a bad state.

I suppose I could also try the newest AMD driver (I am still on 11.5).

You can't check VRM temps on Linux, but if you're only at 70c, I doubt this is the problem.

I've seen phoenix and poclbm users report the infamous bug. I originally thought it was limited to just multi-GPU users, but single GPU users get it as well.

DiabloMiner's networking code never gives up. Which is great for Eligius users because the pool chokes frequently and shares fail to get delivered.

I'm not aware of 11.6 fixing this, but you can always try.
hero member
Activity: 737
Merit: 500
June 21, 2011, 07:56:38 AM
I had a problem overnight with DiabloMiner and I'm not sure if this is a known problem (couldn't find anything in a quick search).

I have two 5970s (four total GPU cores) and overnight, one of the cores went idle with DiabloMiner. I noticed long enough after it happened that any error messages were not in my scrollback buffer anymore, so I don't know what happened.

Is this a normal problem?  Restarting DiabloMiner fixed it, but I am worried that this wasn't a one time issue. 

I really hope to find a solution for this one because it is really slick to only have to run one instance of DiabloMiner vs multiple instances of phoenix/poclbm.

Assuming that your GPUs are not overheating (keep them 85c or below) and the VRMs are not overheating (which can happen with poor airflow, even at low GPU temps), then you're looking at a driver bug.

Sadly, the driver bug would even happen if you ran pheonix/poclbm. Some people work around it by running twice as many miners at once, because it doesn't freeze both of them. Its a bad hack, but it'll work until AMD fixes their shit.

Temps on the cards are all around 70c.  Not sure how to check the VRMs, but the rig is a caseless rig with several large fans pointing at it.

I'll let it run for another day and see if it recurs.  Note, I switched to DiabloMiner yesterday because of the elegant simplicity of running a single miner that handled all the GPUs and because your miner handled network problems better.  That said, I had been running poclbm and phoenix for more than a month without any problems like this.  Hopefully it is rare.

To your last point, so it's reasonable to run two instances of DiabloMiner at the same time?  I am used to having to do that with phoenix and poclbm to work around their poor handling of network problems and slow-to-response getwork requests.  I suppose I could even setup some cron jobs to restart each instance periodically to make sure that if one of them gets in a bad state, it gets fixed hopefully before the second one gets in a bad state.

I suppose I could also try the newest AMD driver (I am still on 11.5).
legendary
Activity: 1162
Merit: 1000
DiabloMiner author
June 21, 2011, 07:49:44 AM
I had a problem overnight with DiabloMiner and I'm not sure if this is a known problem (couldn't find anything in a quick search).

I have two 5970s (four total GPU cores) and overnight, one of the cores went idle with DiabloMiner. I noticed long enough after it happened that any error messages were not in my scrollback buffer anymore, so I don't know what happened.

Is this a normal problem?  Restarting DiabloMiner fixed it, but I am worried that this wasn't a one time issue. 

I really hope to find a solution for this one because it is really slick to only have to run one instance of DiabloMiner vs multiple instances of phoenix/poclbm.

Assuming that your GPUs are not overheating (keep them 85c or below) and the VRMs are not overheating (which can happen with poor airflow, even at low GPU temps), then you're looking at a driver bug.

Sadly, the driver bug would even happen if you ran pheonix/poclbm. Some people work around it by running twice as many miners at once, because it doesn't freeze both of them. Its a bad hack, but it'll work until AMD fixes their shit.
hero member
Activity: 737
Merit: 500
June 21, 2011, 06:20:14 AM
I had a problem overnight with DiabloMiner and I'm not sure if this is a known problem (couldn't find anything in a quick search).

I have two 5970s (four total GPU cores) and overnight, one of the cores went idle with DiabloMiner. I noticed long enough after it happened that any error messages were not in my scrollback buffer anymore, so I don't know what happened.

Is this a normal problem?  Restarting DiabloMiner fixed it, but I am worried that this wasn't a one time issue. 

I really hope to find a solution for this one because it is really slick to only have to run one instance of DiabloMiner vs multiple instances of phoenix/poclbm.
legendary
Activity: 1162
Merit: 1000
DiabloMiner author
June 20, 2011, 08:03:49 AM
I just tried the newest build, and somehow the hardware errors are around 180 instead of 180000 and speeds are as good as the old version. Whatever you did worked, thanks.

I was using the -g option with various values but I find it increases rejects and for some reason -f1 decreases the speed even though its supposed to increase it for my system.

Are the grouped rejects related to a pool specific protocol like longpoll, is that what you meant?

I have more testing and pool hopping to do later, but for now I am happy with this miner again.

I seem to have fixed the problems with nvidia hw errors, but not the extreme minority of AMD users that get it (which I still believe is a very obscure driver bug).

-g is ignored when using LP.

Grouped rejects happen on all pools no matter if they use LP or not because the client runs multiple getworks in parallel, if the pool hiccups it will hit all of them at once.
newbie
Activity: 15
Merit: 0
June 20, 2011, 03:46:05 AM
I just tried the newest build, and somehow the hardware errors are around 180 instead of 180000 and speeds are as good as the old version. Whatever you did worked, thanks.

I was using the -g option with various values but I find it increases rejects and for some reason -f1 decreases the speed even though its supposed to increase it for my system.

Are the grouped rejects related to a pool specific protocol like longpoll, is that what you meant?

I have more testing and pool hopping to do later, but for now I am happy with this miner again.
newbie
Activity: 20
Merit: 0
June 19, 2011, 09:14:31 AM
You probably need to experiment with -v and -w commands to find out what works best with your setup.
newbie
Activity: 15
Merit: 0
June 19, 2011, 08:56:46 AM
Regardless of the pool I use, the rejects group together usually 2-20. Is there a reason for this and is it usual?

On the new version of diablominer, speeds decrease with hardware errors and the pool reports those speeds. But on the old version it gave much higher speeds and the pool reported those higher speeds. I have tested this. How can this be fixed for the newer version?

(I know i asked this before, but i got no answer specific to grouped rejects and there is a 25%+ speed difference between versions that is not just on my end, I have experimented with -v and -w to no major difference in the long run)
newbie
Activity: 20
Merit: 0
June 18, 2011, 09:29:12 PM
If you have a monitor always plugged into the second card as well, you don't need a dummy plug.

Updated to cat 11.6 and had to change some settings around. Seems that optimum now for my cards is -v 18 -w 128 and I'm still getting ~450Mh/s with both cores oc'd to 875MHz (stock 775), memory at 500MHz. Temps are at 60c on both cards with the side of the case off and a house fan blowing into the case. I had to move the bottom card down to the lower pci-e x8 slot (no performance loss) to achieve this. Top card was running at about 80c when they were close. I guess that's about all I'm going to get. I noticed no difference in performance with the crossfire cable off or on, but, it's off because that's what you recommend. Seems that my usage fluctuation problems have been taken care of after I unplugged all the unnecessary components (pc was originally designed for gaming). Both cards have been pegged at full load for over two hours now. So I think I'm ready to let her sit and look for a while. Again, thanks for the great miner and all the help, diabloD3.

legendary
Activity: 1162
Merit: 1000
DiabloMiner author
June 18, 2011, 04:29:29 PM
BTW, yes, 0 accepts and 0 rejects are valid for solo mining. At the current difficulty it will take you about 14 weeks on average to find a block, which then accepts will turn to 1.

Disconnect your crossfire cable if you have crossfire disabled. If you're solo mining, the only thing you need to give to DiabloMiner is -u and -p, -o and -r are already set correctly by default for local solo mining.

From your description in the other thread, it almost sounds like its failing to connect to Bitcoin (which eventually will timeout) during startup.

Also, are you using a dummy plug on your second GPU? With crossfire off, Windows turns cards off, even if they're in use, when there is no monitor plugged in.

I got the bitcoin client working. It's at 48 connections and your miner is hashing. That's about all I know what to look for to be able to tell if it's working. The command I use to connect is diablominer-windows.exe -u XXXX -p XXXX -v 19 -w 192.

I have a monitor hooked up to the second card. As I said in the other thread, if I disconnect the crossfire cable I get bad core usage fluctuations according to msi afterburner. It's more stable with it connected. Crossfire is disabled in catalyst control center as well. All along I've had full load on both cards, other than fluctuations. Do I need a dummy plug? To my understanding a dummy plug is only used if you don't have a monitor hooked up. I can view the desktop on my 2nd monitor as well. Thanks again for all the help.

If you have a monitor always plugged into the second card as well, you don't need a dummy plug.
newbie
Activity: 20
Merit: 0
June 18, 2011, 02:02:59 PM
BTW, yes, 0 accepts and 0 rejects are valid for solo mining. At the current difficulty it will take you about 14 weeks on average to find a block, which then accepts will turn to 1.

Disconnect your crossfire cable if you have crossfire disabled. If you're solo mining, the only thing you need to give to DiabloMiner is -u and -p, -o and -r are already set correctly by default for local solo mining.

From your description in the other thread, it almost sounds like its failing to connect to Bitcoin (which eventually will timeout) during startup.

Also, are you using a dummy plug on your second GPU? With crossfire off, Windows turns cards off, even if they're in use, when there is no monitor plugged in.

I got the bitcoin client working. It's at 48 connections and your miner is hashing. That's about all I know what to look for to be able to tell if it's working. The command I use to connect is diablominer-windows.exe -u XXXX -p XXXX -v 19 -w 192.

I have a monitor hooked up to the second card. As I said in the other thread, if I disconnect the crossfire cable I get bad core usage fluctuations according to msi afterburner. It's more stable with it connected. Crossfire is disabled in catalyst control center as well. All along I've had full load on both cards, other than fluctuations. Do I need a dummy plug? To my understanding a dummy plug is only used if you don't have a monitor hooked up. I can view the desktop on my 2nd monitor as well. Thanks again for all the help.
Pages:
Jump to: