Author

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

-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Yes I've audited the code a million times and can't find the bug. For some reason some dual GPU cards the auto-fan control isn't doing anything and it's sitting at 85% at all times.
I think I figured it out:

ga->lasttemp seems to always contain the value for the temperature of the first GPU on the twin GPU card.  "temp" always contains the temperature of the GPU that is highest between the two.  Therefore, if the 2nd GPU on the card is hotter (and it almost always is on 5970s), it's never going to adjust.  ga->lasttemp needs to be modified to contain the value of the highest temp GPU between the two so that they're comparing "apples to apples".

The only reason my one rig is working and the other two aren't is because the 2nd GPU happens to stay a little cooler than the first.  The other two have hotter 2nd GPUs (as they should, since the hot air from the first GPU blows across it).

I'd make the change myself, but you really don't want to see my coding "skills".  I'm a good reverse-engineer, but I'm a shit coder (as far as keeping things clean goes).
If you're using linux + git, try the current git tree please to see if it fixes it.
donator
Activity: 1218
Merit: 1079
Gerald Davis
Code:
So I am trying to get 4x5970 working under Linux.

Aticonfig shows 8 GPUs but cgminer bombs out.
[code]
* 0. 17:00.0 ATI Radeon HD 5900 Series
  1. 16:00.0 ATI Radeon HD 5900 Series
  2. 13:00.0 ATI Radeon HD 5900 Series
  3. 12:00.0 ATI Radeon HD 5900 Series
  4. 0b:00.0 ATI Radeon HD 5900 Series
  5. 0a:00.0 ATI Radeon HD 5900 Series
  6. 07:00.0 ATI Radeon HD 5900 Series
  7. 06:00.0 ATI Radeon HD 5900 Series

* - Default adapter

cgminer -n
Code:

X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (ATIFGLEXTENSION)
  Minor opcode of failed request:  67 ()
  Value in failed request:  0x17
  Serial number of failed request:  21
  Current serial number in output stream:  21

cgminer -D -T (w/ config file) has same error.

Unplugging PCIe power cables for one 5970 (6 active GPUs) works.[/code]
donator
Activity: 1218
Merit: 1079
Gerald Davis
Is it possible to turn it on for a specific gpu?
I've been running one with autogpu because it has a non reference fan. The rest I just use fan auto
This parameter is global and enables ADL-related routines in cgminer, it is not enabled on a by-card basis as you'd surely know had you RTFM'd first.
Normally, since auto-gpu is a prerequisite for card speed throttling in case of fan failure(1) you want it enabled anyway.

Notes:
(1) or the house catching fire - "Whew! Suddenly getting hot in here, better drop those clocks"    (I really couldn't abstain from making a bad joke, sorry)
I read the manual. It's not very clear on the subject. I want to get as much of the settings in the config as possible. I don't want the other cards to down clock. If the fans stop the pc will crash in a few seconds anyway.

Code:
"auto-gpu": true
"auto-fan" : true
gpu-engine : "600-800","800-800",800-800", etc
gpu-fan: "100-100", "60-85","60-85", etc

That should work.  It is saying turn auto gpu and auto fan ON.  range the first gpu but keep all others at 800.  keep first fan at 100 and range the others.

I recommend always using auto-gpu even if you want the clock static.  Having auto-gpu enabled allows cgminer to shutdown gpu if it overheats or put the fan into emergency (100% mode).
Vbs
hero member
Activity: 504
Merit: 500
I'll be taking an extended break from coding on cgminer shortly since most things are stable at the moment for my sanity.

A well deserved break! Grin

I'll keep tinkering with the phatk kernel when I have some free time. Meanwhile my best result for V2 (ignoring infinitesimally rare x==y==0), is:
Code:
#elif defined VECTORS2
uint result = !W[117].x ? W[3].x:0u;
result = !W[117].y ? W[3].y:result;
if (result)
output[FOUND] = output[NFLAG & result] = result;
(1357 ALUs, 67.65 min, 67.85 max, 67.75 avg)
sr. member
Activity: 392
Merit: 250
Is it possible to turn it on for a specific gpu?
I've been running one with autogpu because it has a non reference fan. The rest I just use fan auto
This parameter is global and enables ADL-related routines in cgminer, it is not enabled on a by-card basis as you'd surely know had you RTFM'd first.
Normally, since auto-gpu is a prerequisite for card speed throttling in case of fan failure(1) you want it enabled anyway.

Notes:
(1) or the house catching fire - "Whew! Suddenly getting hot in here, better drop those clocks"    (I really couldn't abstain from making a bad joke, sorry)
I read the manual. It's not very clear on the subject. I want to get as much of the settings in the config as possible. I don't want the other cards to down clock. If the fans stop the pc will crash in a few seconds anyway.
sr. member
Activity: 383
Merit: 250
Are there any windows 7 miners that can help me with the following problem?

I have APP SDK 2.5.732.1, AMD driver 11.12 installed.

One Nvidia GPU as my primary video card (not mining), One ATI Radeon HD 5870 (mining) with cgminer 2.3.1-2.

If I disconnect the dummy plug from the 5870 or disconnect it via AMD Vision Engine Control Center or via Windows (as in not extend the desktop to it), Cgminer cannot read/control GPU Clock, GPU Memory Speed, or GPU Fan.

If I leave the dummy plug on and extend the desktop to that GPU, occasionally I get display driver stopped responding and Cgminer craps out (keeps running but cannot hash).

Anyway to make it work either without the dummy plug or with out the desktop being extended to the 5870?
hero member
Activity: 642
Merit: 500
(and thanks for all of the hard work lately!)
hero member
Activity: 642
Merit: 500
Well spotted, thanks.

I'll be taking an extended break from coding on cgminer shortly since most things are stable at the moment for my sanity.
np.  Understood.  You've been working a *lot* on it lately.  Smiley   A break is certainly in order...
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Yes I've audited the code a million times and can't find the bug. For some reason some dual GPU cards the auto-fan control isn't doing anything and it's sitting at 85% at all times.
I think I figured it out:

ga->lasttemp seems to always contain the value for the temperature of the first GPU on the twin GPU card.  "temp" always contains the temperature of the GPU that is highest between the two.  Therefore, if the 2nd GPU on the card is hotter (and it almost always is on 5970s), it's never going to adjust.  ga->lasttemp needs to be modified to contain the value of the highest temp GPU between the two so that they're comparing "apples to apples".

The only reason my one rig is working and the other two aren't is because the 2nd GPU happens to stay a little cooler than the first.  The other two have hotter 2nd GPUs (as they should, since the hot air from the first GPU blows across it).

I'd make the change myself, but you really don't want to see my coding "skills".  I'm a good reverse-engineer, but I'm a shit coder (as far as keeping things clean goes).
Well spotted, thanks.

I'll be taking an extended break from coding on cgminer shortly since most things are stable at the moment for my sanity.
hero member
Activity: 642
Merit: 500
Yes I've audited the code a million times and can't find the bug. For some reason some dual GPU cards the auto-fan control isn't doing anything and it's sitting at 85% at all times.
I think I figured it out:

ga->lasttemp seems to always contain the value for the temperature of the first GPU on the twin GPU card.  "temp" always contains the temperature of the GPU that is highest between the two.  Therefore, if the 2nd GPU on the card is hotter (and it almost always is on 5970s), it's never going to adjust.  ga->lasttemp needs to be modified to contain the value of the highest temp GPU between the two so that they're comparing "apples to apples".

The only reason my one rig is working and the other two aren't is because the 2nd GPU happens to stay a little cooler than the first.  The other two have hotter 2nd GPUs (as they should, since the hot air from the first GPU blows across it).

I'd make the change myself, but you really don't want to see my coding "skills".  I'm a good reverse-engineer, but I'm a shit coder (as far as keeping things clean goes).
full member
Activity: 210
Merit: 100
Is it possible to turn it on for a specific gpu?
I've been running one with autogpu because it has a non reference fan. The rest I just use fan auto
This parameter is global and enables ADL-related routines in cgminer, it is not enabled on a by-card basis as you'd surely know had you RTFM'd first.
Normally, since auto-gpu is a prerequisite for card speed throttling in case of fan failure(1) you want it enabled anyway.

Notes:
(1) or the house catching fire - "Whew! Suddenly getting hot in here, better drop those clocks"    (I really couldn't abstain from making a bad joke, sorry)
sr. member
Activity: 392
Merit: 250
I've been trying to get auto-gpu set in the config file with now luck. Can it even be turned on that way?

Code:
"auto-gpu" : true
Is it possible to turn it on for a specific gpu?
I've been running one with autogpu because it has a non reference fan. The rest I just use fan auto
hero member
Activity: 642
Merit: 500
Interesting...   The odd part is that it works perfectly on another rig with identical components.  :-/

Code:
cgminer version 2.3.1 - Started: [2012-02-25 14:55:46]
--------------------------------------------------------------------------------
 (5s):1489.6 (avg):1409.0 Mh/s | Q:2678  A:2381  R:6  HW:0  E:89%  U:20.00/m
 TQ: 4  ST: 5  SS: 20  DW: 156  NB: 18  LW: 0  GF: 34  RF: 28
 Connected to http://btcguild.com:8332 with LP as user bleh
 Block: 000003b6184ffd99b28ebe6d5d0c7f0a...  Started: [16:38:37]
--------------------------------------------------------------------------------
 [P]ool management [G]PU management [S]ettings [D]isplay options [Q]uit
 GPU 0:  75.5C 3252RPM | 369.2/352.7Mh/s | A:589 R:0 HW:0 U:  4.95/m I: 8
 GPU 1:  73.5C 3252RPM | 369.5/352.8Mh/s | A:624 R:2 HW:0 U:  5.24/m I: 8
 GPU 2:  75.5C 2912RPM | 369.0/352.1Mh/s | A:589 R:2 HW:0 U:  4.95/m I: 8
 GPU 3:  75.5C 2912RPM | 369.1/351.5Mh/s | A:579 R:2 HW:0 U:  4.86/m I: 8
--------------------------------------------------------------------------------
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Yes I've audited the code a million times and can't find the bug. For some reason some dual GPU cards the auto-fan control isn't doing anything and it's sitting at 85% at all times.
hero member
Activity: 642
Merit: 500
Heya ckolivas,

I upgraded my rigs to 2.3.1 today and everything was fine on my single GPU rigs.  On my 5970 rigs though, fan control isn't behaving.  I've got one rig that is doing exactly what it should.  I've 2 other rigs that are adjusting one card but ignoring the 2nd card (it's either at the max fanspeed I specify, or 1-2% underneath it).  All 3 machines are running identical flash drive images, were started with identical commands, and have the same inlet air temperatures (they're all stacked on each other in the same room).  I believe I was using 2.1.1 before, but I'm not completely sure.  It was controlling the fans properly though.

In the settings for each GPU, cgminer "knows" that fan autotune is enabled and it "knows" what the correct target temperature is.  It's like it's shooting for a much lower temperature though...

Code:
cgminer version 2.3.1 - Started: [2012-02-25 16:24:29]
--------------------------------------------------------------------------------
 (5s):1523.1 (avg):1303.5 Mh/s | Q:347  A:284  R:0  HW:0  E:82%  U:18.14/m
 TQ: 2  ST: 6  SS: 3  DW: 10  NB: 5  LW: 0  GF: 5  RF: 4
 Connected to http://btcguild.com:8332 with LP as user blah
 Block: 000003b6184ffd99b28ebe6d5d0c7f0a...  Started: [16:38:36]
--------------------------------------------------------------------------------
 [P]ool management [G]PU management [S]ettings [D]isplay options [Q]uit
 GPU 0:  69.0C 2496RPM | 370.0/328.3Mh/s | A:64 R:0 HW:0 U:  4.09/m I: 8
 GPU 1:  69.5C 2496RPM | 366.5/328.2Mh/s | A:81 R:0 HW:0 U:  5.17/m I: 8
 GPU 2:  42.5C 4274RPM | 369.8/323.5Mh/s | A:68 R:0 HW:0 U:  4.34/m I: 8
 GPU 3:  47.5C 4274RPM | 359.2/327.7Mh/s | A:72 R:0 HW:0 U:  4.60/m I: 8
--------------------------------------------------------------------------------
donator
Activity: 1218
Merit: 1079
Gerald Davis
I've been trying to get auto-gpu set in the config file with now luck. Can it even be turned on that way?

Code:
"auto-gpu" : true
sr. member
Activity: 392
Merit: 250
I've been trying to get auto-gpu set in the config file with no luck. Can it even be turned on that way?
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Did some more testing:
Code:
bool result = W[117].x & W[117].y;    //around 2400 false positives/second @400MH/s             | GPU ISA: w: AND_INT    R0.w, R0.x,     PV1350.y
bool result = W[117].x * W[117].y;    //around 2 false positives/second (yes, only 2!) @400MH/s | GPU ISA: t: MULLO_INT  R0.w, R0.x,     PV1350.y
bool result = min(W[117].x,W[117].y); //no false                                                | GPU ISA: w: MIN_UINT   R0.w, PV1350.y, PV1350.x

Food for thought!  Grin
Nice. Might be good for the older SDK suited kernels that suck with any().
Vbs
hero member
Activity: 504
Merit: 500
min(x,y) http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/commonMin.html
gets implemented low-level as
Code:
w: MIN_UINT    R0.w,  R0.x,  PV1350.y
, which *should*  (I know, AMD... Roll Eyes) be rather stable. The big problem with the alternative (&) is the huge number of false positives, since it's bitwise, like 01010011 & 10101100 = 00000000, which is bad for the branch predictor. I'm testing now with a conservative approach (just this one change from default),
Code:
#elif defined VECTORS2
bool result = min(W[117].x,W[117].y);
if (!result) {
if (!W[117].x)
output[FOUND] = output[NFLAG & W[3].x] = W[3].x;
if (!W[117].y)
output[FOUND] = output[NFLAG & W[3].y] = W[3].y;
}
and got a slight (3~4MH/s) increase (5850, SDK 2.5 from Cat 11.11).
You can do the maths on false positives. You're greatly exaggerating the "HUGE NUMBER". It's about 1 share for 1 false positive. More so on 4 vectors (but no one uses them). That is not remotely common...

Increase eh?

Call me sceptical to the core.

EDIT: I will look into it, but I'm so terrified of unintentionally breaking shit like I did last time. It was in this code specifically where the slowdown was, so you can imagine why I'm so resistant.

Did some more testing:
Code:
bool result = W[117].x & W[117].y;    //around 2400 false positives/second @400MH/s             | GPU ISA: w: AND_INT    R0.w, R0.x,     PV1350.y
bool result = W[117].x * W[117].y;    //around 2 false positives/second (yes, only 2!) @400MH/s | GPU ISA: t: MULLO_INT  R0.w, R0.x,     PV1350.y
bool result = min(W[117].x,W[117].y); //no false                                                | GPU ISA: w: MIN_UINT   R0.w, PV1350.y, PV1350.x

Food for thought!  Grin
newbie
Activity: 11
Merit: 0
I would like to ask about mining on windows 8 ? any experience ?
I tryed and all i got was restarts of pc Sad
Jump to: