Browse Source

only change gpu engine, memclock, fans, if ADL is enabled

djm34
Jan Berdajs 10 years ago
parent
commit
87bbca6148
  1. 4
      driver-opencl.c
  2. 2
      driver-opencl.h
  3. 34
      sgminer.c

4
driver-opencl.c

@ -295,10 +295,12 @@ char *set_gpu_engine(const char *_arg)
return NULL; return NULL;
} }
char *set_gpu_fan(char *arg) char *set_gpu_fan(const char *_arg)
{ {
int i, val1 = 0, val2 = 0, device = 0; int i, val1 = 0, val2 = 0, device = 0;
char *nextptr; char *nextptr;
char *arg = (char *)alloca(strlen(_arg) + 1);
strcpy(arg, _arg);
nextptr = strtok(arg, ","); nextptr = strtok(arg, ",");
if (nextptr == NULL) if (nextptr == NULL)

2
driver-opencl.h

@ -9,7 +9,7 @@ extern void *reinit_gpu(void *userdata);
extern char *set_gpu_map(char *arg); extern char *set_gpu_map(char *arg);
extern char *set_gpu_threads(const char *arg); extern char *set_gpu_threads(const char *arg);
extern char *set_gpu_engine(const char *arg); extern char *set_gpu_engine(const char *arg);
extern char *set_gpu_fan(char *arg); extern char *set_gpu_fan(const char *arg);
extern char *set_gpu_memclock(const char *arg); extern char *set_gpu_memclock(const char *arg);
extern char *set_gpu_memdiff(char *arg); extern char *set_gpu_memdiff(char *arg);
extern char *set_gpu_powertune(char *arg); extern char *set_gpu_powertune(char *arg);

34
sgminer.c

@ -6241,22 +6241,24 @@ static void get_work_prepare_thread(struct thr_info *mythr, struct work *work)
set_rawintensity(work->pool->rawintensity); set_rawintensity(work->pool->rawintensity);
if (work->pool->thread_concurrency) if (work->pool->thread_concurrency)
set_thread_concurrency(work->pool->thread_concurrency); set_thread_concurrency(work->pool->thread_concurrency);
if (work->pool->gpu_engine) { #ifdef HAVE_ADL
set_gpu_engine(work->pool->gpu_engine); if (work->pool->gpu_engine) {
for (i = 0; i < nDevs; i++) set_gpu_engine(work->pool->gpu_engine);
set_engineclock(i, gpus[i].min_engine); for (i = 0; i < nDevs; i++)
} set_engineclock(i, gpus[i].min_engine);
if (work->pool->gpu_memclock) { }
set_gpu_memclock(work->pool->gpu_memclock); if (work->pool->gpu_memclock) {
for (i = 0; i < nDevs; i++) set_gpu_memclock(work->pool->gpu_memclock);
set_memoryclock(i, gpus[i].gpu_memclock); for (i = 0; i < nDevs; i++)
} set_memoryclock(i, gpus[i].gpu_memclock);
if (work->pool->gpu_fan) { }
set_gpu_fan(work->pool->gpu_fan); if (work->pool->gpu_fan) {
for (i = 0; i < nDevs; i++) set_gpu_fan(work->pool->gpu_fan);
if (gpus[i].min_fan == gpus[i].gpu_fan) for (i = 0; i < nDevs; i++)
set_fanspeed(i, gpus[i].gpu_fan); if (gpus[i].min_fan == gpus[i].gpu_fan)
} set_fanspeed(i, gpus[i].gpu_fan);
}
#endif
// Change algorithm for each thread (thread_prepare calls initCl) // Change algorithm for each thread (thread_prepare calls initCl)
for (i = 0; i < mining_threads; i++) { for (i = 0; i < mining_threads; i++) {
struct thr_info *thr = mining_thr[i]; struct thr_info *thr = mining_thr[i];

Loading…
Cancel
Save