Various
changes
throughout
the
specification
were
made
to
provide
initial
support
of
Fortran
2003
(see
Section 1.7).
C/C++
array
syntax
was
extended
to
support
array
sections
(see
Section 3.2.5).
The
reduction
clause
(see
Section 5.5.8)
was
extended
and
the
declarereduction
construct
(see
Section 5.5.11)
was
added
to
support
user
defined
reductions.
The
proc_bind
clause
(see
Section 10.1.3),
the
OMP_PLACES
environment
variable
(see
Section 21.1.6),
and
the
omp_get_proc_bind
runtime
routine
(see
Section 18.3.1)
were
added
to
support
thread
affinity
policies.
SIMD
directives
were
added
to
support
SIMD
parallelism
(see
Section 10.4).
Implementation
defined
task
scheduling
points
for
untied
tasks
were
removed
(see
Section 12.9).
Device
directives
(see
Chapter 13),
the
OMP_DEFAULT_DEVICE
environment
variable
(see
Section 21.2.7),
and
the
omp_set_default_device,
omp_get_default_device,
omp_get_num_devices,
omp_get_num_teams,
omp_get_team_num,
and
omp_is_initial_device
routines
were
added
to
support
execution
on
devices.
The
taskgroup
construct
(see
Section 15.4)
was
added
to
support
deep
task
synchronization.
The
atomic
construct
(see
Section 15.8.4)
was
extended
to
support
atomic
swap
with
the
capture
clause,
to
allow
new
atomic
update
and
capture
forms,
and
to
support
sequentially
consistent
atomic
operations
with
a
new
seq_cst
clause.
The
depend
clause
(see
Section 15.9.5)
was
added
to
support
task
dependences.
The
cancel
construct
(see
Section 16.1),
the
cancellationpoint
construct
(see
Section 16.2),
the
omp_get_cancellation
runtime
routine
(see
Section 18.2.8),
and
the
OMP_CANCELLATION
environment
variable
(see
Section 21.2.6)
were
added
to
support
the
concept
of
cancellation.
The
OMP_DISPLAY_ENV
environment
variable
(see
Section 21.7)
was
added
to
display
the
value
of
ICVs
associated
with
the
OpenMP
environment
variables.
Examples
(previously
Appendix
A)
were
moved
to
a
separate
document.