2.9 OpenMP Support

OpenMP 3.1 is fully supported. Some features from more recent OpenMP specifications are also supported; check the Release Notes for details.

When using the IEEE arithmetic support modules, the IEEE modes (rounding, halting and underflow) are propagated into spawned OpenMP threads at the beginning of a PARALLEL construct, and any IEEE flag that are set by an OpenMP thread is passed back to the parent thread at the end of the PARALLEL construct.

The following table lists the OpenMP environment variables with their default values and, if applicable, their limits.

Environment Variable Default Limits
OMP_NUM_THREADS number of cores 1-32768
OMP_DYNAMIC False true or false
OMP_NESTED False true or false
OMP_STACKSIZE 0 <1GB (32-bit) or 16GB (64-bit)
OMP_WAIT_POLICY None active or passive
OMP_MAX_ACTIVE_LEVELS 1 1-64
OMP_THREAD_LIMIT 32768 1-32768
OMP_CANCELLATION False true or false

Note that although the NAG runtime supports up to 32768 threads, operating system limits may prevent usage of so many.

OpenMP is not compatible with the -coarray=cosmp and -gline options.