Browse Source

GPU Initialization update

Moved the GPU initialization block to happen when a pool is actually switched to. Sometimes the first pool alive isn't the first pool switched to. This would result in unnecessary kernel loading if the first pool detected alive isn't used right away.
djm34
ystarnaud 11 years ago
parent
commit
212009a48a
  1. 22
      sgminer.c

22
sgminer.c

@ -4072,20 +4072,20 @@ void switch_pools(struct pool *selected) @@ -4072,20 +4072,20 @@ void switch_pools(struct pool *selected)
applog(LOG_WARNING, "Switching to %s", get_pool_name(pool));
if (pool_localgen(pool) || opt_fail_only)
clear_pool_work(last_pool);
//if startup, initialize gpus and start mining threads
if(startup)
{
startup = false; //remove startup flag so we don't enter this block again
applog(LOG_NOTICE, "Startup GPU initialization... Using settings from pool %s.", get_pool_name(pool));
//apply gpu settings based on first alive pool
apply_initial_gpu_settings(pool);
gpu_initialized = true; //gpus initialized
}
}
}
//if startup, initialize gpus and start mining threads
if(startup)
{
startup = false; //remove startup flag so we don't enter this block again
applog(LOG_NOTICE, "Startup GPU initialization... Using settings from pool %s.", get_pool_name(pool));
//apply gpu settings based on first alive pool
apply_initial_gpu_settings(pool);
gpu_initialized = true; //gpus initialized
}
mutex_lock(&lp_lock);
pthread_cond_broadcast(&lp_cond);
mutex_unlock(&lp_lock);

Loading…
Cancel
Save