Handle misleading thread count when OMP_PLACES=threads

This commit is contained in:
Martin Kroeker 2020-07-07 15:30:29 +02:00 committed by GitHub
parent a83680b40b
commit fb5d13e37b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 6 deletions

View File

@ -135,12 +135,13 @@ static __inline int num_cpu_avail(int level) {
int openmp_nthreads=0;
#endif
if (blas_cpu_number == 1
#ifdef USE_OPENMP
|| omp_in_parallel()
#endif
) return 1;
#ifndef USE_OPENMP
if ( blas_cpu_number == 1 )
#else
if ( omp_in_parallel() ||
(blas_cpu_number == 1 && !openblas_env_omp_places_threads) )
#endif
return 1;
#ifdef USE_OPENMP
openmp_nthreads=omp_get_max_threads();