Merge pull request #4308 from martin-frbg/issue4277-2

Add workaround for omp_get_max_threads hanging on FreeBSD/LLVM14
This commit is contained in:
Martin Kroeker 2023-11-12 13:08:43 +01:00 committed by GitHub
commit eef4d15369
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 2 deletions

View File

@ -124,9 +124,18 @@ void openblas_set_num_threads(int num_threads) {
}
int blas_thread_init(void){
if(blas_omp_number_max <= 0)
#if defined(__FreeBSD__) && defined(__clang__)
extern int openblas_omp_num_threads_env();
if(blas_omp_number_max <= 0)
blas_omp_number_max= openblas_omp_num_threads_env();
if (blas_omp_number_max <= 0)
blas_omp_number_max=MAX_CPU_NUMBER;
#else
blas_omp_number_max = omp_get_max_threads();
#endif
blas_get_cpu_number();
adjust_thread_buffers();