Developer Guide and Reference

  • 2021.2
  • 04/07/2021
  • Public Content
  • Download as PDF
Contents

OpenMP* Implementation-Defined Behaviors

This topic summarizes the behaviors that are described as implementation defined in the OpenMP* API specification.
Internal Control Variables (ICVs) mentioned below are discussed in the OpenMP* API specification.
Name
Description
single
construct
The first thread that encounters the single construct executes the structured block.
teams
construct
The number of teams that are created is equal to 1 if you don't specify the
num_teams
clause.
dist_schedule
clause,
distribute
construct
If you don't specify the
dist_schedule
clause, then the schedule for the
distribute
construct is
static
.
omp_set_num_threads
routine
If the argument is not a positive integer, then Intel's OpenMP* implementation sets the value of the first element of the
nthreads-var
ICV of the current task to 1.
omp_set_max_active_levels
routine
If the argument is a negative integer this call is ignored and the last valid setting is used.
omp_get_max_active_levels
routine
When called from within any explicit parallel region the binding thread set, and binding region, if required, for the
omp_get_max_active_levels
region is the current task region.
OMP_SCHEDULE
environment variable
If the value of the variable does not conform to the specified format then the value of the
run-sched-var
ICV is set to
static
and the chunk size is set to 1.
OMP_NUM_THREADS
environment variable
If any value of the list specified in the environment variable is negative then the whole list is ignored. If any value of the list is zero then this value is set to 1.
OMP_PROC_BIND
environment variable
If the value is not
true
,
false
, or a comma separated list of
master
,
close
, or
spread
, then Intel's OpenMP* implementation sets the value of
bind-var
ICV to false.
OMP_DYNAMIC
environment variable
If the value is neither
true
nor
false
, then the implementation sets the value of
dyn-var
ICV to false.
OMP_NESTED
environment variable
If the value is neither
true
nor
false
, then the implementation sets the value of
nest-var
ICV to false.
OMP_STACKSIZE
environment variable
If the value does not conform to the specified format or the implementation cannot provide a stack of the specified size, then Intel's OpenMP* implementation sets the value of
stacksize-var
ICV to the default size, which is specified as being from1MB to 4MB depending on the architecture.
OMP_MAX_ACTIVE_LEVELS
environment variable
If the value is a negative integer or is greater than the number of parallel levels an implementation can support, then Intel's OpenMP* implementation sets the value of the
max-active-levels-var
ICV to the maximum number of parallel levels supported on a particular platform.
OMP_THREAD_LIMIT
environment variable
If the requested value is greater than the number of threads an implementation can support, or if the value is a negative integer, then Intel's OpenMP* implementation sets the value of the
thread-limit-var
ICV to the maximum number of threads supported on a particular platform. If the requested value is zero then the implementation sets the value of the
thread-limit-var
ICV to 1.
Runtime library definitions
Intel's OpenMP* implementation provides both the include file
omp_lib.h
and the module
omp_lib
.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.