mirror of
https://github.com/GOSTSec/sgminer
synced 2025-09-04 02:02:29 +00:00
Make sure not to try and submit work for nonces higher than already submitted in current work item.
This reduces rejects substantially.
This commit is contained in:
parent
b198badcf4
commit
a2dd410e36
17
findnonce.c
17
findnonce.c
@ -157,7 +157,6 @@ static void *postcalc_hash(void *userdata)
|
|||||||
cl_uint A, B, C, D, E, F, G, H;
|
cl_uint A, B, C, D, E, F, G, H;
|
||||||
cl_uint W[16];
|
cl_uint W[16];
|
||||||
cl_uint nonce;
|
cl_uint nonce;
|
||||||
cl_uint best_g;
|
|
||||||
uint32_t end;
|
uint32_t end;
|
||||||
int entry = 0;
|
int entry = 0;
|
||||||
|
|
||||||
@ -172,7 +171,6 @@ cycle:
|
|||||||
if (entry == MAXBUFFERS)
|
if (entry == MAXBUFFERS)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
best_g = ~0;
|
|
||||||
end = start + 1026;
|
end = start + 1026;
|
||||||
|
|
||||||
for (nonce = start; nonce != end; nonce+=1) {
|
for (nonce = start; nonce != end; nonce+=1) {
|
||||||
@ -206,20 +204,21 @@ cycle:
|
|||||||
FR(48); PFR(56);
|
FR(48); PFR(56);
|
||||||
|
|
||||||
if (unlikely(H == 0xA41F32E7)) {
|
if (unlikely(H == 0xA41F32E7)) {
|
||||||
if (unlikely(submit_nonce(thr, work, nonce) == false)) {
|
|
||||||
applog(LOG_ERR, "Failed to submit work, exiting");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
G += 0x1f83d9ab;
|
G += 0x1f83d9ab;
|
||||||
G = ByteReverse(G);
|
G = ByteReverse(G);
|
||||||
|
|
||||||
if (G < best_g)
|
if (G < thr->best_g) {
|
||||||
best_g = G;
|
if (unlikely(submit_nonce(thr, work, nonce) == false)) {
|
||||||
|
applog(LOG_ERR, "Failed to submit work, exiting");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
thr->best_g = G;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (unlikely(best_g == ~0)) {
|
if (unlikely(thr->best_g == ~0)) {
|
||||||
if (opt_debug)
|
if (opt_debug)
|
||||||
applog(LOG_DEBUG, "No best_g found! Error in OpenCL code?");
|
applog(LOG_DEBUG, "No best_g found! Error in OpenCL code?");
|
||||||
hw_errors++;
|
hw_errors++;
|
||||||
|
1
main.c
1
main.c
@ -1727,6 +1727,7 @@ static void *gpuminer_thread(void *userdata)
|
|||||||
"gpu mining thread %d", mythr->id);
|
"gpu mining thread %d", mythr->id);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
mythr->best_g = ~0;
|
||||||
mythr->cgpu->getworks++;
|
mythr->cgpu->getworks++;
|
||||||
work->thr_id = thr_id;
|
work->thr_id = thr_id;
|
||||||
requested = false;
|
requested = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user