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);