| 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 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: |
| |
| * `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.c` |