Author

Topic: OFFICIAL CGMINER mining software thread for linux/win/osx/mips/arm/r-pi 4.11.0 - page 614. (Read 5805546 times)

legendary
Activity: 1795
Merit: 1208
This is not OK.
Kano, just tried to compile your latest, getting this:

Code:
bitforce.c: In function ‘bitforce_scanhash’:
bitforce.c:310: error: ‘REASON_THERMAL_CUTOFF’ undeclared (first use in this function)
bitforce.c:310: error: (Each undeclared identifier is reported only once
bitforce.c:310: error: for each function it appears in.)

Haven't looked into it myself yet, but thought I'd post it straight away...
hero member
Activity: 807
Merit: 500
Daylight savings does not affect the internal storage of time, it simply displays it differently.
Right, I forgot, too much time in Windows-land where this isn't the case, so I agree, this one doesn't really need fixing.
Edit: oops yes the pool can also tell cgminer to submit stales - forgot to mention that - as mentioned above.
And this pool does tell it to.  Like I said, it would be difficult to replicate, but I believe the stale handling via the SUBMITOLD function (pool telling cgminer to submit them) was ignored when the communication failure occurred (whereas --submit-stale would have presumably held onto it indefinitely based on posts to another user who was experiencing a memory leak issue that turned out to be due to GPU idle restarts with the 5970 bug).  It is possible that the pool didn't send the SUBMITOLD command this time, but the same pool did in my previous run that was only a few days, and I haven't seen any posts indicating a change to the pool, so I wanted to bring up the possibility of that function not being as persistent as --submit-stale switch, as I don't know whether it should be or not.  My discussion regarding whether or not the share would have been accepted shouldn't have been included, that was extraneous information.
donator
Activity: 1218
Merit: 1079
Gerald Davis
ETA2  If your point was that there is something I can do (in spite of the fact that my post should have made it clear that I was aware of that, I did say "I can't do much about either of these")

Yes that was the point.   You said "I can't do much" and I was showing there is something = workaround that you CAN do.

I didn't say conman ignore this guy cgminer is flawless and never needs any future patches/fixes.  Just pointing out if it is a bug it is somewhat rare and likely hard to track down one.  It is also possible your pool screwed up.  Are you saving raw copies of getworks?  If pool has a bug where sometimes it fails to indicate stales should be submitted then cgminer won't.

In the meantime using submit stale = true will force cgminer to always submit a share.  The code is very simple and likely immune to any potential bugs.  cgminer simply always submits completed work, no matter what.  I have one rig running 90+ days with almost 4 million shares and SS = 0 because submit stale = true.

If you don't want to workaround until a fix is found (if ever) then feel free to ignore the suggestion.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
I noticed two small issues this morning, one which would be easy to reproduce but doesn't necessarily need fixed, the other which would be difficult to reproduce but should theoretically be fixed for best performance (assuming my observation was correct).

Issue one is related to the use of system time, my mining machine was about 6 minutes slow, over the course of a couple weeks with ntp not running.  I started ntp and when the time changed, cgminer immediately reported "pool not providing work enough" and subsequently switched pools.  This probably wouldn't have happened if ntp was running all along, which is why I think it is a minor issue, but it makes me wonder if DST causes dropped work and pool failovers when they shouldn't exist.  Since that would only be a problem once or twice a year, I still don't know if this would be worth fixing, because I'm guessing it would be difficult to fix (would require a unique time source or some sort of interrupt to deal with known time changes on the existing time source [assuming either one of those is even possible]).
No - time always travels forwards - oddly enough Smiley
Daylight savings does not affect the internal storage of time, it simply displays it differently.

However, if you change the computer clock backwards or forwards (with ntp) - you get what you deserve.

Issue two is related to submission of stale shares.  Note that I did not have --submit-stale on the command line in this case, but I have previously seen cgminer submit detected stales to the pool because it was instructed to (pool is eligius).  This morning, I just happened to look at my miner while this was still on the screen:
Quote
[2012-03-23 08:22:53] LONGPOLL requested work restart, waiting on fresh work
[2012-03-23 08:22:57] Accepted 00000000.949b59d0.7ecd59ab GPU 0 thread 1 pool 0
[2012-03-23 08:23:03] Accepted 00000000.58e019ff.7a3bc657 GPU 0 thread 1 pool 0
[2012-03-23 08:23:05] Pool 0 communication failure, caching submissions
[2012-03-23 08:23:05] Stale share detected, discarding
[2012-03-23 08:23:07] Pool 0 communication resumed, submitting work
[2012-03-23 08:23:07] Accepted 00000000.ade4193a.07083649 GPU 0 thread 0 pool 0
I had recently restarted cgminer, so I can't be 100% certain cgminer was again instructed to submit stales, but assuming it was, I believe the discarded share above would indicate a bug in stale share handling in this scenario.  I also believe it would have been accepted based on the length of time between the last longpoll and this event and the fact that other shares were accepted before and after this one with no other new block event shown.

I can't do much about either of these, but I thought I would bring them up in case anyone who could might want to.
If you tell cgminer to submit stales it tells you explicitly that it is doing that:
"Stale share detected, submitting as user requested" before it shows the share Accepted/Rejected/whatever

If you don't tell cgminer to submit stales, then it will discard what it considers stale.
The thing to know about stales is that a work request is stale based on when it was received, not when you see it's share(s) shown in cgminer.
Cgminer threw away that share coz it wasn't told to submit stales and the getwork time implied the share was stale.
You can't assume the getwork order matches the share display order.

Edit: oops yes the pool can also tell cgminer to submit stales - forgot to mention that - as mentioned above.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
...
Isn't there a way in OpenCL to check what version of the SDK the .bin was compiled in and re-compile only if the SDK did not match currently installed?
No.
hero member
Activity: 807
Merit: 500
If you want to avoid the second one there is a submit stale = true option available in the config file.

If the share is genuinely stale though that will simply increase the stale count on the pool server.  If the share is valid it will prevent cgminer from proactively killing it.
Note that I did not have --submit-stale on the command line in this case, but I have previously seen cgminer submit detected stales to the pool because it was instructed to (pool is eligius).
Expiry is irrelevant when you have submit stale enabled or the pool asks for submitold (as p2pool does).
Wink

ETA emphasis

ETA2  If your point was that there is something I can do (in spite of the fact that my post should have made it clear that I was aware of that, I did say "I can't do much about either of these"), then I should clarify and note that I meant to fix the issues (as opposed to working around them, I can disable ntp and dst if need be for issue one and use --submit-old for issue 2, but that doesn't change the fact that either issue may be considered a design flaw worthy of fixing, which is why I posted them).
hero member
Activity: 531
Merit: 505
Why?  Compiling the kernel takes time and resources.  It makes the first start much slower.

That is the entire point of saving a bin file.

1) cgminer looks to see if bin files exists (binary version of OpenCL kernel)
2a) if no bin file exists it compiles the open CL kernel using CURRENTLY INSTALLED SDK and saves a copy as bin file
2b) if bin file exists then cgminer saves time and resources and loads that bin file
3) compiled binary (bin file) is loaded onto the GPU
4) execution begins

The 2a & 2b means if you upgrade sdk but DON'T delete the bin files you will run cgminer used kernel compiled on the SDK at the time of first start.  If later you install a new copy of cgminer (which has no precompiled bin files) then and only then will the new SDK be used.

ckolivas could make cgminer compile on the fly on each startup and it likely would reduce confusion because as soon as you upgraded SDK and restarted cgminer you would see performance drop and people would stop blaming later version of cgminer for the drop. Still that change would only help the uninformed be less clueless and would slow start times for everyone else.

Isn't there a way in OpenCL to check what version of the SDK the .bin was compiled in and re-compile only if the SDK did not match currently installed? Or, encode the version into .bin filename. Sorry for nitpicking Smiley.
donator
Activity: 1218
Merit: 1079
Gerald Davis
If you want to avoid the second one there is a submit stale = true option available in the config file.

If the share is genuinely stale though that will simply increase the stale count on the pool server.  If the share is valid it will prevent cgminer from proactively killing it.
hero member
Activity: 807
Merit: 500
I noticed two small issues this morning, one which would be easy to reproduce but doesn't necessarily need fixed, the other which would be difficult to reproduce but should theoretically be fixed for best performance (assuming my observation was correct).

Issue one is related to the use of system time, my mining machine was about 6 minutes slow, over the course of a couple weeks with ntp not running.  I started ntp and when the time changed, cgminer immediately reported "pool not providing work enough" and subsequently switched pools.  This probably wouldn't have happened if ntp was running all along, which is why I think it is a minor issue, but it makes me wonder if DST causes dropped work and pool failovers when they shouldn't exist.  Since that would only be a problem once or twice a year, I still don't know if this would be worth fixing, because I'm guessing it would be difficult to fix (would require a unique time source or some sort of interrupt to deal with known time changes on the existing time source [assuming either one of those is even possible]).

Issue two is related to submission of stale shares.  Note that I did not have --submit-stale on the command line in this case, but I have previously seen cgminer submit detected stales to the pool because it was instructed to (pool is eligius).  This morning, I just happened to look at my miner while this was still on the screen:
Quote
[2012-03-23 08:22:53] LONGPOLL requested work restart, waiting on fresh work
[2012-03-23 08:22:57] Accepted 00000000.949b59d0.7ecd59ab GPU 0 thread 1 pool 0
[2012-03-23 08:23:03] Accepted 00000000.58e019ff.7a3bc657 GPU 0 thread 1 pool 0
[2012-03-23 08:23:05] Pool 0 communication failure, caching submissions
[2012-03-23 08:23:05] Stale share detected, discarding
[2012-03-23 08:23:07] Pool 0 communication resumed, submitting work
[2012-03-23 08:23:07] Accepted 00000000.ade4193a.07083649 GPU 0 thread 0 pool 0
I had recently restarted cgminer, so I can't be 100% certain cgminer was again instructed to submit stales, but assuming it was, I believe the discarded share above would indicate a bug in stale share handling in this scenario.  I also believe it would have been accepted based on the length of time between the last longpoll and this event and the fact that other shares were accepted before and after this one with no other new block event shown.

I can't do much about either of these, but I thought I would bring them up in case anyone who could might want to.
sr. member
Activity: 274
Merit: 250
So i`m cheating...i like it....
I`m mining this same, but can run other(oclhashcat) software... double win to me.
donator
Activity: 1218
Merit: 1079
Gerald Davis
Delete the .bin files from your beloved 2.0.6 installation and try again. You are NOT using the new sdk on the old installation if you still have old .bin files there. I did NOT spend 6 months and hundreds of hours coding upgrades to cgminer to make it slower.

Shouldn't the cgminer delete old .bin files itself? If it created them before, it should take care of them.


Why?  Compiling the kernel takes time and resources.  It makes the first start much slower.

That is the entire point of saving a bin file.

1) cgminer looks to see if bin files exists (binary version of OpenCL kernel)
2a) if no bin file exists it compiles the open CL kernel using CURRENTLY INSTALLED SDK and saves a copy as bin file
2b) if bin file exists then cgminer saves time and resources and loads that bin file
3) compiled binary (bin file) is loaded onto the GPU
4) execution begins

The 2a & 2b means if you upgrade sdk but DON'T delete the bin files you will run cgminer used kernel compiled on the SDK at the time of first start.  If later you install a new copy of cgminer (which has no precompiled bin files) then and only then will the new SDK be used.

ckolivas could make cgminer compile on the fly on each startup and it likely would reduce confusion because as soon as you upgraded SDK and restarted cgminer you would see performance drop and people would stop blaming later version of cgminer for the drop. Still that change would only help the uninformed be less clueless and would slow start times for everyone else.
sr. member
Activity: 274
Merit: 250
22.02.2012 wasent the first day of usig, so he did i think...

.bin deleted....
 
Code:
2012-03-23 13:32:28] Failed to init GPU thread 0, disabling device 0
2012-03-23 13:32:28] Restarting the GPU from the menu is unlikely to fix this.
2012-03-23 13:32:28] Try stopping other applications using the GPU like afterburner.
2012-03-23 13:32:28] Then restart cgminer.
Press enter to continue:
cgminer version 2.0.6 - Started: [2012-03-23 13:32:28]
-------------------------------------------------------------------------------
(5s):0.0 (avg):0.0 Mh/s | Q:2  A:0  R:0  HW:0  E:0%  U:0.00/m
TQ: 2  ST: 3  SS: 0  DW: 0  NB: 1  LW: 0  GF: 0  RF: 0
Connected to http://gpumax.com:8332 with LP as user 4f39b86921fd404e601c2805
Block: 0000037bee13fa9ed034f4ae959e3405...  Started: [13:32:28]
-------------------------------------------------------------------------------
[P]ool management [G]PU management [S]ettings [D]isplay options [Q]uit
GPU 0: 41.5C 100% | DISABLED /0.0Mh/s | A:0 R:0 HW:0 U:0.00/m I:0
GPU 1: 35.0C 1574RPM | DISABLED /0.0Mh/s | A:0 R:0 HW:0 U:0.00/m I:9
GPU 2: 35.0C | DISABLED /0.0Mh/s | A:0 R:0 HW:0 U:0.00/m I:9
GPU 3: 37.5C  960RPM | DISABLED /0.0Mh/s | A:0 R:0 HW:0 U:0.00/m I:9
GPU 4: 42.0C | DISABLED /0.0Mh/s | A:0 R:0 HW:0 U:0.00/m I:9
GPU 5: 38.5C  960RPM | DISABLED /0.0Mh/s | A:0 R:0 HW:0 U:0.00/m I:9
GPU 6: 38.5C | DISABLED /0.0Mh/s | A:0 R:0 HW:0 U:0.00/m I:9
-------------------------------------------------------------------------------
I`m not able enable...
Code:
Select GPU to enable:
0
Must restart device before enabling itGPU 0: 0.0 / 0.0 Mh/s | A:0  R:0  HW:0  U:0.00/m  I:0
hero member
Activity: 531
Merit: 505
Delete the .bin files from your beloved 2.0.6 installation and try again. You are NOT using the new sdk on the old installation if you still have old .bin files there. I did NOT spend 6 months and hundreds of hours coding upgrades to cgminer to make it slower.

Shouldn't the cgminer delete old .bin files itself? If it created them before, it should take care of them.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
I dont mind mining on 2.0.6, i had performance simmilar to that i had with sdk 2.4 & cat 11.6.
so for me gold spot - i can run oclhashcat Cheesy

Edit:
Last post have been edit with this:
Code:
 cgminer version 2.3.1 - Started: [2012-03-23 08:16:21]
-------------------------------------------------------------------------------
(5s):2137.6 (avg):2085.5 Mh/s | Q:9271  A:7769  R:10  HW:199890  E:84%  U:29.50
TQ: 5  ST: 7  SS: 12  DW: 240  NB: 25  LW: 0  GF: 2  RF: 3
Connected to http://pit.deepbit.net:8332 with LP as user [email protected]_GNG
Block: 0000000d14a8a028262dab4904b4ddb8...  Started: [12:36:35]
-------------------------------------------------------------------------------
[P]ool management [G]PU management [S]ettings [D]isplay options [Q]uit
GPU 0:  62.0C 100%    | 222.0/245.6Mh/s | A: 897 R:1 HW:23123 U:3.41/m I: 4
GPU 1:  51.5C 1549RPM | 304.1/303.0Mh/s | A:1091 R:1 HW:27984 U:4.14/m I: 9
GPU 2:  52.5C 1549RPM | 305.4/302.8Mh/s | A:1146 R:1 HW:29428 U:4.35/m I: 9
GPU 3:  57.5C  960RPM | 309.9/309.3Mh/s | A:1182 R:3 HW:30351 U:4.49/m I: 9
GPU 4:  60.5C         | 310.9/308.2Mh/s | A:1155 R:1 HW:29722 U:4.39/m I: 9
GPU 5:  60.5C  960RPM | 307.7/308.7Mh/s | A:1146 R:2 HW:29581 U:4.35/m I: 9
GPU 6:  58.5C  960RPM | 312.4/308.4Mh/s | A:1152 R:1 HW:29701 U:4.37/m I: 9
-------------------------------------------------------------------------------

Conclusion:
You wont get performance loss using sdk 2.6 on 5xxx series if you use old software?

Delete the .bin files from your beloved 2.0.6 installation and try again. You are NOT using the new sdk on the old installation if you still have old .bin files there. I did NOT spend 6 months and hundreds of hours coding upgrades to cgminer to make it slower.
sr. member
Activity: 274
Merit: 250
I dont mind mining on 2.0.6, i had performance simmilar to that i had with sdk 2.4 & cat 11.6.
so for me gold spot - i can run oclhashcat Cheesy

Edit:
Last post have been edit with this:
Code:
 cgminer version 2.3.1 - Started: [2012-03-23 08:16:21]
-------------------------------------------------------------------------------
(5s):2137.6 (avg):2085.5 Mh/s | Q:9271  A:7769  R:10  HW:199890  E:84%  U:29.50
TQ: 5  ST: 7  SS: 12  DW: 240  NB: 25  LW: 0  GF: 2  RF: 3
Connected to http://pit.deepbit.net:8332 with LP as user [email protected]_GNG
Block: 0000000d14a8a028262dab4904b4ddb8...  Started: [12:36:35]
-------------------------------------------------------------------------------
[P]ool management [G]PU management [S]ettings [D]isplay options [Q]uit
GPU 0:  62.0C 100%    | 222.0/245.6Mh/s | A: 897 R:1 HW:23123 U:3.41/m I: 4
GPU 1:  51.5C 1549RPM | 304.1/303.0Mh/s | A:1091 R:1 HW:27984 U:4.14/m I: 9
GPU 2:  52.5C 1549RPM | 305.4/302.8Mh/s | A:1146 R:1 HW:29428 U:4.35/m I: 9
GPU 3:  57.5C  960RPM | 309.9/309.3Mh/s | A:1182 R:3 HW:30351 U:4.49/m I: 9
GPU 4:  60.5C         | 310.9/308.2Mh/s | A:1155 R:1 HW:29722 U:4.39/m I: 9
GPU 5:  60.5C  960RPM | 307.7/308.7Mh/s | A:1146 R:2 HW:29581 U:4.35/m I: 9
GPU 6:  58.5C  960RPM | 312.4/308.4Mh/s | A:1152 R:1 HW:29701 U:4.37/m I: 9
-------------------------------------------------------------------------------

Conclusion:
You wont get performance loss using sdk 2.6 on 5xxx series if you use old software?
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
kano, i was using 11.6 catalyst with SDK 2.4 for last 6 months.
I removed it myself and instaled SDK2.6 insted.
I was searching a guide hawto uninstall, but not found, so i decided to experimen a little.
i followed guide of amd guide "haw to check why it`s not working" but in different dirrection.
Well I could point this out but it may not be helpful if you don't know exactly what 2.6 installed
(what and where it put the files)

https://github.com/kanoi/linux-usb-cgminer/blob/master/linux-AMD-SDK-2.4-2.6-upgrade-downgrade

Drivers was changed(and SDK) this week - monday i think.
I tried to force 2.3.1 with -k phatk -v 2 -w 128 - not working as well as 2.0.6 with nothing.
should i show you my line? i`m not using .cfg files.
Yep 2.6 is slower than 2.4/2.5 on phatk on 6xxx cards (and probably 5xxx cards too?)
See if you can work out how to undo your 2.6 (if my doc helps?) - once you get back to 2.4 that MAY resolve it
(if you delete the new *.bin before running cgminer)

However, I found also that even 12.0 (which came with the standalone 2.6 SDK as mentioned in my git document)
was slower with the same *.bin files than 11.4/11.6
sr. member
Activity: 274
Merit: 250
ocl mismach .... uninstall all OCL, and install new one.
what Catalyst? - 11.10 or never ??
member
Activity: 82
Merit: 10
Code:
[2012-03-22 22:46:43] Started cgminer 2.3.1

[2012-03-22 22:46:43] Started cgminer 2.3.1
[2012-03-22 22:46:43] Probing for an alive pool
[2012-03-22 22:46:44] Long-polling activated for http://mining.eligius.st:8337/LP
Segmentation fault
root@ds-r:~/cgminer-2.3.1-2#

Running on debian squeeze, sdk 2.4, newer/ish fglrx

I get the same error from both a self built and the pre-built ubuntu binary.
You included CPU mining didn't you?

If not, then try "-D --verbose -T" and also "-n" to see what's unusual about your computer.

/cgminer-2.3.1-2# ./cgminer -D --verbose -T
[2012-03-23 02:59:44] Started cgminer 2.3.1
*** CAL version mismatch:
This OpenCL build requires version 1.4.879, version 1.4.815 installed.
Aborting.
*** CAL version mismatch:
This OpenCL build requires version 1.4.879, version 1.4.815 installed.
Aborting.
[2012-03-23 02:59:44] CL Platform 0 vendor: Advanced Micro Devices, Inc.       
[2012-03-23 02:59:44] CL Platform 0 name: AMD Accelerated Parallel Processing   
[2012-03-23 02:59:44] CL Platform 0 version: OpenCL 1.1 AMD-APP-SDK-v2.4 (595.10)
[2012-03-23 02:59:44] Error -1: Getting Device IDs (num)
[2012-03-23 02:59:44] clDevicesNum returned error, no GPUs usable               
All devices disabled, cannot mine!
sr. member
Activity: 274
Merit: 250
kano, i was using 11.6 catalyst with SDK 2.4 for last 6 months.
I removed it myself and instaled SDK2.6 insted.
I was searching a guide hawto uninstall, but not found, so i decided to experimen a little.
i followed guide of amd guide "haw to check why it`s not working" but in different dirrection.

Drivers was changed(and SDK) this week - monday i think.
I tried to force 2.3.1 with -k phatk -v 2 -w 128 - not working as well as 2.0.6 with nothing.
should i show you my line? i`m not using .cfg files.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
Well straight up you can see that the old one (that you said is faster?) is phatk2w128 ... which doesn't even exist in your new list.

There is also the point that you'd need to be sure what SDK was installed back on 2012-02-22 vs now.

"./cgminer -n" will tell you what it is now.

Jump to: