mirror of
https://github.com/GOSTSec/sgminer
synced 2025-03-13 06:01:03 +00:00
Implement setting the GPU memory clock speed of all devices or each device as a comma separated value.
This commit is contained in:
parent
ec8808d004
commit
54bc30ceec
9
adl.c
9
adl.c
@ -221,11 +221,16 @@ void init_adl(int nDevs)
|
||||
ga->DefPerfLev = lpOdPerformanceLevels;
|
||||
|
||||
if (gpus[gpu].gpu_engine) {
|
||||
applog(LOG_INFO, "Setting GPU %d engine clock to %d", gpu, gpus[gpu].gpu_engine);
|
||||
lpOdPerformanceLevels->aLevels[lev].iEngineClock = gpus[gpu].gpu_engine * 100;
|
||||
applog(LOG_INFO, "Setting GPU %d engine clock to %d", gpu, gpus[gpu].gpu_engine);
|
||||
ADL_Overdrive5_ODPerformanceLevels_Set(iAdapterIndex, lpOdPerformanceLevels);
|
||||
ADL_Overdrive5_ODPerformanceLevels_Get(iAdapterIndex, 0, lpOdPerformanceLevels);
|
||||
}
|
||||
if (gpus[gpu].gpu_memclock) {
|
||||
lpOdPerformanceLevels->aLevels[lev].iMemoryClock = gpus[gpu].gpu_memclock * 100;
|
||||
applog(LOG_INFO, "Setting GPU %d memory clock to %d", gpu, gpus[gpu].gpu_memclock);
|
||||
ADL_Overdrive5_ODPerformanceLevels_Set(iAdapterIndex, lpOdPerformanceLevels);
|
||||
}
|
||||
ADL_Overdrive5_ODPerformanceLevels_Get(iAdapterIndex, 0, lpOdPerformanceLevels);
|
||||
ga->iEngineClock = lpOdPerformanceLevels->aLevels[lev].iEngineClock;
|
||||
ga->iMemoryClock = lpOdPerformanceLevels->aLevels[lev].iMemoryClock;
|
||||
ga->iVddc = lpOdPerformanceLevels->aLevels[lev].iVddc;
|
||||
|
30
main.c
30
main.c
@ -1139,6 +1139,33 @@ static char *set_gpu_engine(char *arg)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static char *set_gpu_memclock(char *arg)
|
||||
{
|
||||
int i, val = 0, device = 0;
|
||||
char *saveptr = NULL, *nextptr;
|
||||
|
||||
nextptr = strtok_r(arg, ",", &saveptr);
|
||||
if (nextptr == NULL)
|
||||
return "Invalid parameters for set gpu memclock";
|
||||
val = atoi(nextptr);
|
||||
if (val <= 0 || val >= 9999)
|
||||
return "Invalid value passed to set_gpu_memclock";
|
||||
|
||||
gpus[device++].gpu_memclock = val;
|
||||
|
||||
while ((nextptr = strtok_r(NULL, ",", &saveptr)) != NULL) {
|
||||
val = atoi(nextptr);
|
||||
if (val <= 0 || val >= 9999)
|
||||
return "Invalid value passed to set_gpu_memclock";
|
||||
|
||||
gpus[device++].gpu_memclock = val;
|
||||
}
|
||||
for (i = device; i < 16; i++)
|
||||
gpus[i].gpu_memclock = val;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* These options are available from config file or commandline */
|
||||
@ -1205,6 +1232,9 @@ static struct opt_table opt_config_table[] = {
|
||||
OPT_WITH_ARG("--gpu-engine",
|
||||
set_gpu_engine, NULL, NULL,
|
||||
"Set the GPU engine (over)clock in Mhz - one value for all or separate by commas for per card."),
|
||||
OPT_WITH_ARG("--gpu-memclock",
|
||||
set_gpu_memclock, NULL, NULL,
|
||||
"Set the GPU memory (over)clock in Mhz - one value for all or separate by commas for per card."),
|
||||
#endif
|
||||
OPT_WITH_ARG("--intensity|-I",
|
||||
forced_int_1010, NULL, &scan_intensity,
|
||||
|
Loading…
x
Reference in New Issue
Block a user