|
|
@@ -1,25 +1,38 @@ |
|
|
|
## 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_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 exiting |
|
|
|
* `OMP_ADAPTIVE=1`: this can be used in OpenMP builds to actually remove any |
|
|
|
surplus threads when the number of threads is decreased |
|
|
|
|
|
|
|
* **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 exiting |
|
|
|
* **OMP_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: |
|
|
|
|
|
|
|
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 |
|
|
|
* **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) |
|
|
|
* `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 |
|
|
|
|
|
|
|
* `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 to **OPENBLAS_NUM_THREADS** |
|
|
|
* **GOTOBLAS_MAIN_FREE** equivalent to **OPENBLAS_MAIN_FREE** |
|
|
|
* **OPENBLAS_BLOCK_FACTOR** this applies a scale factor to the GEMM "P" parameter of the block matrix code, see file driver/others/parameter.cen |
|
|
|
|
|
|
|
* `GOTO_NUM_THREADS`: equivalent to `OPENBLAS_NUM_THREADS` |
|
|
|
* `GOTOBLAS_MAIN_FREE`: equivalent to `OPENBLAS_MAIN_FREE` |
|
|
|
* `OPENBLAS_BLOCK_FACTOR`: this applies a scale factor to the GEMM "P" |
|
|
|
parameter of the block matrix code, see file `driver/others/parameter.c` |