| OPENMP API Specification: Version 5.0 November 2018

2.5.2  ICV Initialization

Table 2.1: ICV Initial Values

ICV Environment Variable Initial value

dyn-var OMP_DYNAMIC See description below
nthreads-var OMP_NUM_THREADS Implementation defined
run-sched-var OMP_SCHEDULE Implementation defined
def-sched-var (none) Implementation defined
bind-var OMP_PROC_BIND Implementation defined
stacksize-var OMP_STACKSIZE Implementation defined
wait-policy-var OMP_WAIT_POLICY Implementation defined
thread-limit-var OMP_THREAD_LIMIT Implementation defined
max-active-levels-var OMP_MAX_ACTIVE_LEVELS, OMP_NESTED See description below
active-levels-var (none) zero
levels-var (none) zero
place-partition-var OMP_PLACES Implementation defined
cancel-var OMP_CANCELLATION false
display-affinity-var OMP_DISPLAY_AFFINITY false
affinity-format-var OMP_AFFINITY_FORMAT Implementation defined
default-device-var OMP_DEFAULT_DEVICE Implementation defined
max-task-priority-var OMP_MAX_TASK_PRIORITY zero
tool-var OMP_TOOL enabled
tool-libraries-var OMP_TOOL_LIBRARIES empty string
debug-var OMP_DEBUG disabled
def-allocator-var OMP_ALLOCATOR Implementation defined

Table 2.1 shows the ICVs, associated environment variables, and initial values.


The host and target device ICVs are initialized before any OpenMP API construct or OpenMP API routine executes. After the initial values are assigned, the values of any OpenMP environment variables that were set by the user are read and the associated ICVs for the host device are modified accordingly. The method for initializing a target device’s ICVs is implementation defined.

Cross References