1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-25 14:04:25 +00:00

Only increase gpu engine speed by a larger step if the temperature is below hysteresis instead of increasing it to max speed.

This commit is contained in:
Con Kolivas 2012-11-18 17:03:50 +11:00
parent 4039ee7a93
commit b6066217e0

7
adl.c
View File

@ -1192,11 +1192,12 @@ void gpu_autotune(int gpu, enum dev_enable *denable)
newengine = engine - ga->lpOdParameters.sEngineClock.iStep; newengine = engine - ga->lpOdParameters.sEngineClock.iStep;
/* Only try to tune engine speed up if this GPU is not disabled */ /* Only try to tune engine speed up if this GPU is not disabled */
} else if (temp < ga->targettemp && engine < ga->maxspeed && fan_window && *denable == DEV_ENABLED) { } else if (temp < ga->targettemp && engine < ga->maxspeed && fan_window && *denable == DEV_ENABLED) {
int iStep = ga->lpOdParameters.sEngineClock.iStep;
applog(LOG_DEBUG, "Temperature below target, increasing clock speed"); applog(LOG_DEBUG, "Temperature below target, increasing clock speed");
if (temp < ga->targettemp - opt_hysteresis) if (temp < ga->targettemp - opt_hysteresis)
newengine = ga->maxspeed; iStep *= 2;
else newengine = engine + iStep;
newengine = engine + ga->lpOdParameters.sEngineClock.iStep;
} else if (temp < ga->targettemp && *denable == DEV_RECOVER && opt_restart) { } else if (temp < ga->targettemp && *denable == DEV_RECOVER && opt_restart) {
applog(LOG_NOTICE, "Device recovered to temperature below target, re-enabling"); applog(LOG_NOTICE, "Device recovered to temperature below target, re-enabling");
*denable = DEV_ENABLED; *denable = DEV_ENABLED;