Visible to Intel only — GUID: GUID-341B837A-9381-451D-B2BE-C049969CF545
Visible to Intel only — GUID: GUID-341B837A-9381-451D-B2BE-C049969CF545
mkl_set_dynamic
Enables Intel® oneAPI Math Kernel Library to dynamically change the number of OpenMP* threads.
call mkl_set_dynamic( flag )
- Include file: mkl.fi
- Module (compiled): mkl_service.mod
- Module (source): mkl_service.f90
Name |
Type |
Description |
---|---|---|
flag |
INTEGER |
flag = 0 - Requests disabling dynamic adjustment of the number of threads. flag≠ 0 - Requests enabling dynamic adjustment of the number of threads. |
This function indicates whether Intel® oneAPI Math Kernel Library can dynamically change the number of OpenMP threads or should avoid doing this. The setting applies to all Intel® oneAPI Math Kernel Library functions on all execution threads. This function takes precedence over theMKL_DYNAMIC environment variable.
Dynamic adjustment of the number of threads is enabled by default. Specifically, Intel® oneAPI Math Kernel Library may use fewer threads in parallel regions than the number returned by themkl_get_max_threadsfunction. Disabling dynamic adjustment of the number of threads does not ensure that Intel® oneAPI Math Kernel Library actually uses the specified number of threads, although the library attempts to use that number.
If you call Intel® oneAPI Math Kernel Library from within an OpenMP parallel region and want to create internal parallel regions, either disable dynamic adjustment of the number of threads or set the thread-local number of threads (seemkl_set_num_threads_local for how to do it).
use mkl_service … call mkl_set_num_threads( 8 ) !$omp parallel call my_compute_with_mkl ! Intel MKL uses 1 thread, being called from OpenMP parallel region call mkl_set_dynamic(0) ! disable adjustment of the number of threads call my_compute_with_mkl ! Intel MKL uses 8 threads !$omp end parallel