| OPENMP API Specification: Version 5.1 November 2020
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.
flush
An operation that a thread performs to enforce consistency between its view and other threads’ view
of memory.
device-set
The set of devices for which a flush operation may enforce memory consistency.
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 or is implicitly performed by the
OpenMP implementation and that 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 update operation that is specified by an atomic construct on which the
capture clause is present.
atomic conditional update
An atomic update operation that is specified by an atomic construct on which
the compare clause is present.
read-modify-write
An
atomic operation that reads and writes to a given storage location.
COMMENT:
Any
atomic
update
is
a
read-modify-write
operation.
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.