Browse Source

Do not add time to dynamic opencl calculations over a getwork.

nfactor-troky
ckolivas 12 years ago
parent
commit
edd9b81622
  1. 1
      cgminer.c
  2. 14
      driver-opencl.c
  3. 2
      miner.h

1
cgminer.c

@ -4239,6 +4239,7 @@ void *miner_thread(void *userdata)
if (api->free_work && likely(work->pool)) if (api->free_work && likely(work->pool))
api->free_work(mythr, work); api->free_work(mythr, work);
get_work(work, mythr, thr_id); get_work(work, mythr, thr_id);
cgpu->new_work = true;
gettimeofday(&tv_workstart, NULL); gettimeofday(&tv_workstart, NULL);
work->blk.nonce = 0; work->blk.nonce = 0;

14
driver-opencl.c

@ -1532,10 +1532,16 @@ static int64_t opencl_scanhash(struct thr_info *thr, struct work *work,
clFinish(clState->commandQueue); clFinish(clState->commandQueue);
} }
gettimeofday(&gpu->tv_gpumid, NULL); if (gpu->dynamic) {
if (!gpu->intervals) { gettimeofday(&gpu->tv_gpumid, NULL);
gpu->tv_gpustart.tv_sec = gpu->tv_gpumid.tv_sec; if (gpu->new_work) {
gpu->tv_gpustart.tv_usec = gpu->tv_gpumid.tv_usec; gpu->new_work = false;
gpu->intervals = 0;
}
if (!gpu->intervals) {
gpu->tv_gpustart.tv_sec = gpu->tv_gpumid.tv_sec;
gpu->tv_gpustart.tv_usec = gpu->tv_gpumid.tv_usec;
}
} }
status = thrdata->queue_kernel_parameters(clState, &work->blk, globalThreads[0]); status = thrdata->queue_kernel_parameters(clState, &work->blk, globalThreads[0]);

2
miner.h

@ -374,6 +374,8 @@ struct cgpu_info {
int intervals, hit; int intervals, hit;
#endif #endif
bool new_work;
float temp; float temp;
int cutofftemp; int cutofftemp;

Loading…
Cancel
Save