Runtime variables
OpenBLAS checks the following environment variables on startup:
OPENBLAS_NUM_THREADS
: the number of threads to use (for non-OpenMP builds of OpenBLAS)OMP_NUM_THREADS
: the number of threads to use (for OpenMP builds - note that setting this may also affect any other OpenMP code)-
OPENBLAS_DEFAULT_NUM_THREADS
: the number of threads to use, irrespective if OpenBLAS was built for OpenMP or pthreads -
OPENBLAS_MAIN_FREE=1
: this can be used to disable automatic assignment of cpu affinity in OpenBLAS builds that have it enabled by default OPENBLAS_THREAD_TIMEOUT
: this can be used to define the length of time that idle threads should wait before exitingOMP_ADAPTIVE=1
: this can be used in OpenMP builds to actually remove any surplus threads when the number of threads is decreased
DYNAMIC_ARCH
builds also accept the following:
-
OPENBLAS_VERBOSE
:- set this to
1
to enable a warning when there is no exact match for the detected cpu in the library - set this to
2
to make OpenBLAS print the name of the cpu target it autodetected
- set this to
-
OPENBLAS_CORETYPE
: set this to one of the supported target names to override autodetection, e.g.,OPENBLAS_CORETYPE=HASWELL
OPENBLAS_L2_SIZE
: set this to override the autodetected size of the L2 cache where it is not reported correctly (in virtual environments)
Deprecated variables still recognized for compatibilty:
GOTO_NUM_THREADS
: equivalent toOPENBLAS_NUM_THREADS
GOTOBLAS_MAIN_FREE
: equivalent toOPENBLAS_MAIN_FREE
OPENBLAS_BLOCK_FACTOR
: this applies a scale factor to the GEMM "P" parameter of the block matrix code, see filedriver/others/parameter.c