|
|
@ -1970,7 +1970,6 @@ retry: |
|
|
|
gpu, cgpu->rolling, cgpu->total_mhashes / total_secs, |
|
|
|
gpu, cgpu->rolling, cgpu->total_mhashes / total_secs, |
|
|
|
cgpu->getworks, cgpu->accepted, cgpu->rejected, cgpu->hw_errors, |
|
|
|
cgpu->getworks, cgpu->accepted, cgpu->rejected, cgpu->hw_errors, |
|
|
|
cgpu->efficiency, cgpu->utility); |
|
|
|
cgpu->efficiency, cgpu->utility); |
|
|
|
wlog("Last initialised: %s\n", cgpu->init); |
|
|
|
|
|
|
|
for (i = 0; i < mining_threads; i++) { |
|
|
|
for (i = 0; i < mining_threads; i++) { |
|
|
|
thr = &thr_info[i]; |
|
|
|
thr = &thr_info[i]; |
|
|
|
if (thr->cgpu != cgpu) |
|
|
|
if (thr->cgpu != cgpu) |
|
|
@ -3378,9 +3377,8 @@ static void *reinit_gpu(void *userdata) |
|
|
|
struct cgpu_info *cgpu = (struct cgpu_info *)userdata; |
|
|
|
struct cgpu_info *cgpu = (struct cgpu_info *)userdata; |
|
|
|
int gpu = cgpu->cpu_gpu; |
|
|
|
int gpu = cgpu->cpu_gpu; |
|
|
|
struct thr_info *thr; |
|
|
|
struct thr_info *thr; |
|
|
|
struct timeval now; |
|
|
|
|
|
|
|
_clState *clState; |
|
|
|
|
|
|
|
int thr_id; |
|
|
|
int thr_id; |
|
|
|
|
|
|
|
_clState *clState; |
|
|
|
|
|
|
|
|
|
|
|
/* Send threads message to stop */ |
|
|
|
/* Send threads message to stop */ |
|
|
|
gpu_devices[gpu] = false; |
|
|
|
gpu_devices[gpu] = false; |
|
|
@ -3418,9 +3416,6 @@ static void *reinit_gpu(void *userdata) |
|
|
|
applog(LOG_WARNING, "Thread %d restarted", thr_id); |
|
|
|
applog(LOG_WARNING, "Thread %d restarted", thr_id); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
gettimeofday(&now, NULL); |
|
|
|
|
|
|
|
get_datestamp(cgpu->init, &now); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Try to re-enable it */ |
|
|
|
/* Try to re-enable it */ |
|
|
|
gpu_devices[gpu] = true; |
|
|
|
gpu_devices[gpu] = true; |
|
|
|
for (thr_id = 0; thr_id < gpu_threads; thr_id ++) { |
|
|
|
for (thr_id = 0; thr_id < gpu_threads; thr_id ++) { |
|
|
@ -4053,7 +4048,6 @@ int main (int argc, char *argv[]) |
|
|
|
for (j = 0; j < nDevs * opt_g_threads; j++) { |
|
|
|
for (j = 0; j < nDevs * opt_g_threads; j++) { |
|
|
|
int gpu = j % nDevs; |
|
|
|
int gpu = j % nDevs; |
|
|
|
struct cgpu_info *cgpu; |
|
|
|
struct cgpu_info *cgpu; |
|
|
|
struct timeval now; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gpus[gpu].is_gpu = 1; |
|
|
|
gpus[gpu].is_gpu = 1; |
|
|
|
gpus[gpu].cpu_gpu = gpu; |
|
|
|
gpus[gpu].cpu_gpu = gpu; |
|
|
@ -4081,12 +4075,9 @@ int main (int argc, char *argv[]) |
|
|
|
if (!clStates[i]) { |
|
|
|
if (!clStates[i]) { |
|
|
|
applog(LOG_ERR, "Failed to init GPU thread %d", i); |
|
|
|
applog(LOG_ERR, "Failed to init GPU thread %d", i); |
|
|
|
gpu_devices[i] = false; |
|
|
|
gpu_devices[i] = false; |
|
|
|
strcat(cgpu->init, "Never"); |
|
|
|
|
|
|
|
continue; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
applog(LOG_INFO, "initCl() finished. Found %s", name); |
|
|
|
applog(LOG_INFO, "initCl() finished. Found %s", name); |
|
|
|
gettimeofday(&now, NULL); |
|
|
|
|
|
|
|
get_datestamp(cgpu->init, &now); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (unlikely(thr_info_create(thr, NULL, gpuminer_thread, thr))) |
|
|
|
if (unlikely(thr_info_create(thr, NULL, gpuminer_thread, thr))) |
|
|
|
quit(1, "thread %d create failed", i); |
|
|
|
quit(1, "thread %d create failed", i); |
|
|
|