| OPENMP API Specification: Version 5.0 November 2018
1.2.4 Synchronization Terminology
barrier
A point in the execution of a program encountered by a team of threads, beyond which no thread in
the team may execute until all threads in the team have reached the barrier and all explicit tasks generated by
the team have executed to completion. If cancellation has been requested, threads may proceed to
the end of the canceled region even if some threads in the team have not reached the barrier.
cancellation
An action that cancels (that is, aborts) an OpenMP region and causes executing implicit or
explicit tasks to proceed to the end of the canceled region.
cancellation point
A point at which implicit and explicit tasks check if cancellation has been requested. If
cancellation has been observed, they perform the
cancellation.
COMMENT:
For
a
list
of
cancellation
points,
see
Section 2.18.1
on
page 752.
flush
An operation that a thread performs to enforce consistency between its view and other threads’ view
of memory.
flush property
Properties that determine the manner in which a
flush operation enforces memory
consistency. These properties are:
-
strong:
flushes
a
set
of
variables
from
the
current
thread’s
temporary
view
of
the
memory
to
the
memory;
-
release:
orders
memory
operations
that
precede
the
flush
before
memory
operations
performed
by
a
different
thread
with
which
it
synchronizes;
-
acquire:
orders
memory
operations
that
follow
the
flush
after
memory
operations
performed
by
a
different
thread
that
synchronizes
with
it.
COMMENT:
Any
flush
operation
has
one
or
more
flush
properties.
strong flush
A flush operation that has the strong flush property.
release flush
A flush operation that has the release flush property.
acquire flush
A flush operation that has the acquire flush property.
atomic operation
An operation that is specified by an atomic construct and atomically accesses and/or
modifies a specific storage location.
atomic read
An atomic operation that is specified by an atomic construct on which the read clause is
present.
atomic write
An atomic operation that is specified by an atomic construct on which the write clause is
present.
atomic update
An atomic operation that is specified by an atomic construct on which the update clause
is present.
atomic captured update
An atomic operation that is specified by an atomic construct on which the
capture clause is present.
read-modify-write
An
atomic operation that reads and writes to a given storage location.
COMMENT:
All
atomic
update
and
atomic
captured
update
operations
are
read-modify-write
operations.
sequentially consistent atomic construct
An atomic construct for which the seq_cst clause is specified.
non-sequentially consistent atomic construct
An atomic construct for which the seq_cst clause is not
specified
sequentially consistent atomic operation
An atomic operation that is specified by a sequentially consistent
atomic construct.