Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pool-gpu-engine and pool-gpu-memclock not evaluated correctly when switching algorithms #265

Closed
kenshirothefist opened this issue Jun 13, 2014 · 2 comments
Labels
Milestone

Comments

@kenshirothefist
Copy link

I'm using different Engine and/or Memory settings on a per-pool basis and auto-gpu option (which is basically essential since it enables temp-cutoff functionality). Whenever one of the pool-xxx setting sets a high/low threshold it is remained in the next algorithm switch even if settings are set in a fixed "low-high" manner.

Example:

global settings:
"gpu-engine" : "1000-1000",
"gpu-memclock" : "1500-1500",
"temp-cutoff" : "95",
"temp-overheat" : "85",
"temp-target" : "75",
"auto-fan" : true,
"auto-gpu" : true,

pool_x11:
"pool-gpu-engine" : "1000-1000",
"pool-gpu-memclock" : "1500-1500",

pool_scrypt-N:
"pool-gpu-engine" : "947-947",
"pool-gpu-memclock" : "1250-1250"

Miner starts at x11, all is fine, gpu engine fixed at 1000, mem at 1500, I see
"GPU engine clock autotune is enabled (1000-1000)"

I switch to scrypt-N and I observe this:
"GPU engine clock autotune is enabled (947-1000)"

If temps are low, GPU is forced to 1000 and causes issues. This is wrong, since I specified "pool-gpu-engine" : "947-947" and I would expect
"GPU engine clock autotune is enabled (947-947)"


Similar issue is when switching back to x11, I see:
"GPU engine clock autotune is enabled (947-1000)"

If temps are above threshold, GPU is throttled to 947 and decreases performance, but I don't want this, I just wan't Engine speed to be fixed and only being completely cut-off at cut-off temp. Since I specified "pool-gpu-engine" : "1000-1000" I would expect
"GPU engine clock autotune is enabled (1000-1000)"


Exactly the same goes with Memory settings.

You should make sure Engine and Memory settings are set and applied exactly as specified by the "pool-gpu-engine" and "pool-gpu-memclock". Moreover, I do believe that all the "pool-xxx" settings should be revised and verified if they are all properly and 100% correctly applied when switching algorithms (maybe it would be wise to add logging when using -D with the output of all active "pool-xxx" settings after they are applied at algorithm switch).

@platinum4
Copy link
Contributor

I second this issue: it's pretty clearly obvious these settings don't take in the pool-area, the only way to lock a GPU's speed or memclock right now is in the lower part of the .conf. This defeats the purpose of having these two available settings if they don't take precedence. Is this a cascade/prioritization issue? We saw similar issues with pool-intensity earlier, to where it would flip down (keccak I:13) but never back up after a algo flip to x11/x13 (I:19). The intensity has since been fixed.

ystarnaud added a commit that referenced this issue Jun 20, 2014
This addresses issue #265. GPU engine clock will be the exact value or range specified, with the correct min/max.
@veox veox added the bug label Jun 20, 2014
@veox veox added this to the 5.0 milestone Jun 20, 2014
@ystarnaud
Copy link
Contributor

I believe ef722e6 should resolve the gpu-engine issue. I tested this by having one pool use 1100-1100 and the next pool use 1000-1000,1065-1065. Upon switching back and forth between pools, the GPUs all had their respective values.

Unless I'm mistaken, gpu-memclock does not accept ranges, only whole numbers. If you would like the memory clock to be linked to the core clock, you can always try gpu-memdiff.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants