Browse Source

Optimise loop and make debug debug only.

nfactor-troky
Con Kolivas 14 years ago
parent
commit
f05270b8c8
  1. 35
      cpu-miner.c
  2. 3
      ocl.c
  3. 3
      oclminer.cl

35
cpu-miner.c

@ -814,25 +814,24 @@ static void *gpuminer_thread(void *userdata) @@ -814,25 +814,24 @@ static void *gpuminer_thread(void *userdata)
BUFFERSIZE, res, 0, NULL, NULL);
if (unlikely(status != CL_SUCCESS))
{ applog(LOG_ERR, "Error: clEnqueueReadBuffer failed. (clEnqueueReadBuffer)"); goto out;}
for (i = 0; i < 128; i++) {
int found = false;
if (res[i]) {
uint32_t start = res[i];
uint32_t my_g, my_nonce;
applog(LOG_INFO, "GPU Found something?");
my_g = postcalc_hash(mythr, &work->blk, work, start, start + 1026, &my_nonce, &h0count);
found = true;
res[i] = 0;
}
if (found) {
/* Clear the buffer again */
status = clEnqueueWriteBuffer(clState->commandQueue, clState->outputBuffer, CL_TRUE, 0,
BUFFERSIZE, res, 0, NULL, NULL);
if (unlikely(status != CL_SUCCESS))
{ applog(LOG_ERR, "Error: clEnqueueWriteBuffer failed."); goto out; }
if (unlikely(res[127])) {
/* 127 is used as a flag to say nonces exist */
for (i = 0; i < 127; i++) {
if (res[i]) {
uint32_t start = res[i];
uint32_t my_g, my_nonce;
applog(LOG_INFO, "GPU Found something?");
my_g = postcalc_hash(mythr, &work->blk, work, start, start + 1026, &my_nonce, &h0count);
res[i] = 0;
} else
break;
}
/* Clear the buffer again */
status = clEnqueueWriteBuffer(clState->commandQueue, clState->outputBuffer, CL_TRUE, 0,
BUFFERSIZE, res, 0, NULL, NULL);
if (unlikely(status != CL_SUCCESS))
{ applog(LOG_ERR, "Error: clEnqueueWriteBuffer failed."); goto out; }
}
gettimeofday(&tv_end, NULL);

3
ocl.c

@ -308,7 +308,8 @@ _clState *initCl(int gpu, char *name, size_t nameSize) { @@ -308,7 +308,8 @@ _clState *initCl(int gpu, char *name, size_t nameSize) {
/* copy over all of the generated binaries. */
binaries = (char **)malloc( sizeof(char *)*nDevices );
for( i = 0; i < nDevices; i++ ) {
printf("binary size %d : %d\n", i, binary_sizes[i]);
if (opt_debug)
applog(LOG_DEBUG, "binary size %d : %d\n", i, binary_sizes[i]);
if( binary_sizes[i] != 0 )
binaries[i] = (char *)malloc( sizeof(char)*binary_sizes[i] );
else

3
oclminer.cl

@ -629,9 +629,10 @@ A = A + E; @@ -629,9 +629,10 @@ A = A + E;
H = H + D;
if (H==0xa41f32e7) {
for (it = 0; it != 128; it++) {
for (it = 0; it != 127; it++) {
if (!output[it]) {
output[it] = tnonce;
output[127] = 1;
break;
}
}

Loading…
Cancel
Save