Browse Source

ensure that threading has been initialized in the first place before calling openblas_set_num_threads

tags/v0.3.4
Erik M. Bray 7 years ago
parent
commit
38cf5d9364
2 changed files with 11 additions and 1 deletions
  1. +5
    -0
      driver/others/blas_server.c
  2. +6
    -1
      driver/others/blas_server_win32.c

+ 5
- 0
driver/others/blas_server.c View File

@@ -850,6 +850,11 @@ void goto_set_num_threads(int num_threads) {

long i;

#ifdef SMP_SERVER
// Handle lazy re-init of the thread-pool after a POSIX fork
if (unlikely(blas_server_avail == 0)) blas_thread_init();
#endif

if (num_threads < 1) num_threads = blas_num_threads;

#ifndef NO_AFFINITY


+ 6
- 1
driver/others/blas_server_win32.c View File

@@ -478,7 +478,12 @@ int BLASFUNC(blas_thread_shutdown)(void){

void goto_set_num_threads(int num_threads)
{
long i;
long i;

#if defined(SMP_SERVER) && defined(OS_CYGWIN_NT)
// Handle lazy re-init of the thread-pool after a POSIX fork
if (unlikely(blas_server_avail == 0)) blas_thread_init();
#endif

if (num_threads < 1) num_threads = blas_cpu_number;



Loading…
Cancel
Save