Browse Source

Queueing all kernel parameters dramatically reduces stale block rates.

Con Kolivas 14 years ago
parent
commit
e2fb3e84cb
1 changed files with 3 additions and 7 deletions
  1. 3 7
      cpu-miner.c

+ 3 - 7
cpu-miner.c

@@ -1043,14 +1043,10 @@ static void *gpuminer_thread(void *userdata)
 				applog(LOG_DEBUG, "getwork thread %d", thr_id);
 				applog(LOG_DEBUG, "getwork thread %d", thr_id);
 			/* Flushes the writebuffer set with CL_FALSE above */
 			/* Flushes the writebuffer set with CL_FALSE above */
 			clFinish(clState->commandQueue);
 			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 */
 		/* MAXBUFFERS entry is used as a flag to say nonces exist */
 		if (res[MAXBUFFERS]) {
 		if (res[MAXBUFFERS]) {