Oracle® Solaris Studio 12.4: OpenMP API User's Guide

Exit Print View

Updated: December 2014
 
 

2.2.1 OpenMP Environment Variable Behaviors and Defaults

The following table describes the behaviors of the OpenMP environment variables supported by Oracle Solaris Studio and their default values. Note that the values specified for the environment variables are case insensitive and can be in uppercase or lowercase.

Environment Variable
Behavior, Default Value, and Example
OMP_SCHEDULE
If the schedule type specified for the OMP_SCHEDULE is not one of the valid types (static, dynamic, guided, auto, sunw_mp_sched_reserved), then the environment variable is ignored, and the default schedule (static with no chunk size) is used. A warning message is issued if SUNW_MP_WARN is set to TRUE or a callback function is registered by a call to sunw_mp_register_warn().
If the schedule type specified for the OMP_SCHEDULE environment variable is static, dynamic, or guided but the chunk size specified is a negative integer, then the chunk size used is as follows: For static, there is no chunk size. For dynamic and guided, the chunk size is 1. A warning message is issued if SUNW_MP_WARN is set to TRUE or a callback function is registered by a call to sunw_mp_register_warn().
If not set, a default value of static (with no chunk size) is used.
Example: % setenv OMP_SCHEDULE "GUIDED,4"
OMP_NUM_THTEADS
If the value specified for OMP_NUM_THREADS is not a positive integer, then the environment variable is ignored. A warning message is issued if SUNW_MP_WARN is set to TRUE or a callback function is registered by a call to sunw_mp_register_warn().
If the value specified is greater than the number of threads the implementation can support, the following actions are taken:
  • If dynamic adjustment of the number of threads is enabled, then the number of threads will be reduced and a warning message will be issued if SUNW_MP_WARN is set to TRUE or a callback function is registered by a call to sunw_mp_register_warn().

  • If dynamic adjustment of the number of threads is disabled, then an error message will be issued and the program will stop execution.

If not set, the default is equal to the number of cores on the machine, capped at 32.
Example: % setenv OMP_NUM_THREADS 16
OMP_DYNAMIC
If the value specified for OMP_DYNAMIC is neither TRUE nor FALSE, then the value will be ignored, and the default value TRUE will be used. A warning message will be issued if SUNW_MP_WARN is set to TRUE or a callback function is registered by a call to sunw_mp_register_warn().
If not set, the default is TRUE.
Example: % setenv OMP_DYNAMIC FALSE
OMP_PROC_BIND
If the value specified for OMP_PROC_BIND is not TRUE, FALSE, or a comma separated list of master, close, or spread, then the process is exited with a nonzero status.
If an initial thread cannot be bound to the first place in the OpenMP place list, then the process is exited with a nonzero status.
If not set, the default is FALSE.
Example: % setenv OMP_PROC_BIND spread
OMP_PLACES
If the value specified for OMP_PLACES is not valid or cannot be fufilled, then the process is exited with a nonzero status.
If not set, the default is cores.
Example: % setenv OMP_PLACES sockets
OMP_NESTED
If the value specified for OMP_NESTED is neither TRUE nor FALSE, then the value will be ignored and the default value FALSE will be used. A warning message will be issued if SUNW_MP_WARN is set to TRUE or a callback function is registered by a call to sunw_mp_register_warn().
If not set, the default is FALSE.
Example: % setenv OMP_NESTED TRUE
OMP_STACKSIZE
If the value specified for OMP_STACKSIZE does not conform to the specified format, then the value will be ignored and the default value (4 Megabytes for 32-bit applications, and 8 Megabytes for 64-bit applications) will be used. A warning message will be issued if SUNW_MP_WARN is set to TRUE or a callback function is registered by a call to sunw_mp_register_warn().
The default stack size of a helper thread is 4 Megabytes for 32-bit applications, and 8 Megabytes for 64-bit applications.
Example: % setenv OMP_STACKSIZE 10M
OMP_WAIT_POLICY
The ACTIVE behavior for a thread is spin. The PASSIVE behavior for a thread is sleep after possibly spinning for a while.
If not set, the default is PASSIVE.
Example: % setenv OMP_WAIT_POLICY ACTIVE
OMP_MAX_ACTIVE_LEVELS
If the value specified for OMP_MAX_ACTIVE_LEVELS is not a nonnegative integer, then the value will be ignored and the default value of 4 will be used. A warning message will be issued if SUNW_MP_WARN is set to TRUE or a callback function is registered by a call to sunw_mp_register_warn().
If not set, the default is 4.
Example: % setenv OMP_MAX_ACTIVE_LEVELS 8
OMP_THREAD_LIMIT
If the value specified for OMP_THREAD_LIMIT is not a positive integer, then the value will be ignored and the default value of 1024 will be used. A warning message will be issued if SUNW_MP_WARN is set to TRUE or a callback function is registered by a call to sunw_mp_register_warn().
If not set, the default is 1024.
Example: % setenv OMP_THREAD_LIMIT 128
OMP_DISPLAY_ENV
If the value specified for OMP_DISPLAY_ENV is not TRUE, FALSE, or VERBOSE, then the value will be ignored, and the default value FALSE will be used. A warning message will be issued if SUNW_MP_WARN is set to TRUE or a callback function is registered by a call to sunw_mp_register_warn().
If not set, the default is FALSE.
Example: % setenv OMP_DISPLAY_ENV VERBOSE