From 80cdfed7b216b3f5e8d1dcb71a46e4925534bcd7 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Wed, 27 Jul 2022 23:43:20 +0200 Subject: [PATCH] Use OMP_ADAPTIVE setting to choose between static and dynamic OMP threadpool size --- driver/others/blas_server_omp.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/driver/others/blas_server_omp.c b/driver/others/blas_server_omp.c index a576127aa..1a5fd06a3 100644 --- a/driver/others/blas_server_omp.c +++ b/driver/others/blas_server_omp.c @@ -403,6 +403,7 @@ int exec_blas(BLASLONG num, blas_queue_t *queue){ break; } +if (openblas_omp_adaptive_env() != 0) { #pragma omp parallel for num_threads(num) schedule(OMP_SCHED) for (i = 0; i < num; i ++) { @@ -412,6 +413,17 @@ int exec_blas(BLASLONG num, blas_queue_t *queue){ exec_threads(&queue[i], buf_index); } +} else { +#pragma omp parallel for schedule(OMP_SCHED) + for (i = 0; i < num; i ++) { + +#ifndef USE_SIMPLE_THREADED_LEVEL3 + queue[i].position = i; +#endif + + exec_threads(&queue[i], buf_index); + } +} #ifdef HAVE_C11 atomic_store(&blas_buffer_inuse[buf_index], false);