4.10 OMP_PROC_BIND – Whether threads may be moved between CPUs

Description:

Specifies whether threads may be moved between processors. If set to TRUE, OpenMP threads should not be moved; if set to FALSE they may be moved. Alternatively, a comma separated list with the values PRIMARY, MASTER, CLOSE and SPREAD can be used to specify the thread affinity policy for the corresponding nesting level. With PRIMARY and MASTER the worker threads are in the same place partition as the primary thread. With CLOSE those are kept close to the primary thread in contiguous place partitions. And with SPREAD a sparse distribution across the place partitions is used. Specifying more than one item in the list will automatically enable nesting by default.

When undefined, OMP_PROC_BIND defaults to TRUE when OMP_PLACES or GOMP_CPU_AFFINITY is set and FALSE otherwise.

See also:

omp_get_proc_bind – Whether threads may be moved between CPUs, GOMP_CPU_AFFINITY – Bind threads to specific CPUs, OMP_NESTED – Nested parallel regions, OMP_PLACES – Specifies on which CPUs the threads should be placed

Reference:

OpenMP specification v4.5, Section 4.4