1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-03-10 04:31:03 +00:00

Queueing all kernel parameters dramatically reduces stale block rates.

This commit is contained in:
Con Kolivas 2011-07-01 20:34:22 +10:00
parent 7ae9afc40f
commit e2fb3e84cb

View File

@ -1043,14 +1043,10 @@ static void *gpuminer_thread(void *userdata)
applog(LOG_DEBUG, "getwork thread %d", thr_id);
/* Flushes the writebuffer set with CL_FALSE above */
clFinish(clState->commandQueue);
status = queue_kernel_parameters(clState, &work->blk);
if (unlikely(status != CL_SUCCESS))
{ applog(LOG_ERR, "Error: clSetKernelArg of all params failed."); goto out; }
} else {
status = clSetKernelArg(*kernel, 14, sizeof(uint), (void *)&work->blk.nonce);
if (unlikely(status != CL_SUCCESS))
{ applog(LOG_ERR, "Error: clSetKernelArg of nonce failed."); goto out; }
}
status = queue_kernel_parameters(clState, &work->blk);
if (unlikely(status != CL_SUCCESS))
{ applog(LOG_ERR, "Error: clSetKernelArg of all params failed."); goto out; }
/* MAXBUFFERS entry is used as a flag to say nonces exist */
if (res[MAXBUFFERS]) {