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

14
driver-opencl.c

@ -1532,10 +1532,16 @@ static int64_t opencl_scanhash(struct thr_info *thr, struct work *work, @@ -1532,10 +1532,16 @@ static int64_t opencl_scanhash(struct thr_info *thr, struct work *work,
clFinish(clState->commandQueue);
}
gettimeofday(&gpu->tv_gpumid, NULL);
if (!gpu->intervals) {
gpu->tv_gpustart.tv_sec = gpu->tv_gpumid.tv_sec;
gpu->tv_gpustart.tv_usec = gpu->tv_gpumid.tv_usec;
if (gpu->dynamic) {
gettimeofday(&gpu->tv_gpumid, NULL);
if (gpu->new_work) {
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]);

2
miner.h

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

Loading…
Cancel
Save