mirror of
https://github.com/GOSTSec/sgminer
synced 2025-01-25 14:04:25 +00:00
Implement setting the GPU voltage of all devices or each device as a comma separated value.
This commit is contained in:
parent
54bc30ceec
commit
8ae273c56c
5
adl.c
5
adl.c
@ -230,6 +230,11 @@ void init_adl(int nDevs)
|
|||||||
applog(LOG_INFO, "Setting GPU %d memory clock to %d", gpu, gpus[gpu].gpu_memclock);
|
applog(LOG_INFO, "Setting GPU %d memory clock to %d", gpu, gpus[gpu].gpu_memclock);
|
||||||
ADL_Overdrive5_ODPerformanceLevels_Set(iAdapterIndex, lpOdPerformanceLevels);
|
ADL_Overdrive5_ODPerformanceLevels_Set(iAdapterIndex, lpOdPerformanceLevels);
|
||||||
}
|
}
|
||||||
|
if (gpus[gpu].gpu_vddc) {
|
||||||
|
lpOdPerformanceLevels->aLevels[lev].iVddc = gpus[gpu].gpu_vddc * 1000;
|
||||||
|
applog(LOG_INFO, "Setting GPU %d voltage to %.3f", gpu, gpus[gpu].gpu_vddc);
|
||||||
|
ADL_Overdrive5_ODPerformanceLevels_Set(iAdapterIndex, lpOdPerformanceLevels);
|
||||||
|
}
|
||||||
ADL_Overdrive5_ODPerformanceLevels_Get(iAdapterIndex, 0, lpOdPerformanceLevels);
|
ADL_Overdrive5_ODPerformanceLevels_Get(iAdapterIndex, 0, lpOdPerformanceLevels);
|
||||||
ga->iEngineClock = lpOdPerformanceLevels->aLevels[lev].iEngineClock;
|
ga->iEngineClock = lpOdPerformanceLevels->aLevels[lev].iEngineClock;
|
||||||
ga->iMemoryClock = lpOdPerformanceLevels->aLevels[lev].iMemoryClock;
|
ga->iMemoryClock = lpOdPerformanceLevels->aLevels[lev].iMemoryClock;
|
||||||
|
31
main.c
31
main.c
@ -1166,6 +1166,34 @@ static char *set_gpu_memclock(char *arg)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *set_gpu_vddc(char *arg)
|
||||||
|
{
|
||||||
|
int i, device = 0;
|
||||||
|
float val = 0;
|
||||||
|
char *saveptr = NULL, *nextptr;
|
||||||
|
|
||||||
|
nextptr = strtok_r(arg, ",", &saveptr);
|
||||||
|
if (nextptr == NULL)
|
||||||
|
return "Invalid parameters for set gpu vddc";
|
||||||
|
val = atof(nextptr);
|
||||||
|
if (val <= 0 || val >= 9999)
|
||||||
|
return "Invalid value passed to set_gpu_vddc";
|
||||||
|
|
||||||
|
gpus[device++].gpu_vddc = val;
|
||||||
|
|
||||||
|
while ((nextptr = strtok_r(NULL, ",", &saveptr)) != NULL) {
|
||||||
|
val = atoi(nextptr);
|
||||||
|
if (val <= 0 || val >= 9999)
|
||||||
|
return "Invalid value passed to set_gpu_vddc";
|
||||||
|
|
||||||
|
gpus[device++].gpu_vddc = val;
|
||||||
|
}
|
||||||
|
for (i = device; i < 16; i++)
|
||||||
|
gpus[i].gpu_vddc = val;
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* These options are available from config file or commandline */
|
/* These options are available from config file or commandline */
|
||||||
@ -1235,6 +1263,9 @@ static struct opt_table opt_config_table[] = {
|
|||||||
OPT_WITH_ARG("--gpu-memclock",
|
OPT_WITH_ARG("--gpu-memclock",
|
||||||
set_gpu_memclock, NULL, NULL,
|
set_gpu_memclock, NULL, NULL,
|
||||||
"Set the GPU memory (over)clock in Mhz - one value for all or separate by commas for per card."),
|
"Set the GPU memory (over)clock in Mhz - one value for all or separate by commas for per card."),
|
||||||
|
OPT_WITH_ARG("--gpu-vddc",
|
||||||
|
set_gpu_vddc, NULL, NULL,
|
||||||
|
"Set the GPU voltage in Volts - one value for all or separate by commas for per card."),
|
||||||
#endif
|
#endif
|
||||||
OPT_WITH_ARG("--intensity|-I",
|
OPT_WITH_ARG("--intensity|-I",
|
||||||
forced_int_1010, NULL, &scan_intensity,
|
forced_int_1010, NULL, &scan_intensity,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user