ATOMIC_DEFINE
— Setting a variable atomically ¶ATOMIC_DEFINE(ATOM, VALUE)
defines the variable ATOM with the value
VALUE atomically. When STAT is present and the invocation was
successful, it is assigned the value 0. If it is present and the invocation
has failed, it is assigned a positive value; in particular, for a coindexed
ATOM, if the remote image has stopped, it is assigned the value of
ISO_FORTRAN_ENV
’s STAT_STOPPED_IMAGE
and if the remote image has
failed, the value STAT_FAILED_IMAGE
.
Fortran 2008 and later; with STAT, TS 18508 or later
Atomic subroutine
CALL ATOMIC_DEFINE (ATOM, VALUE [, STAT])
ATOM | Scalar coarray or coindexed variable of either integer
type with ATOMIC_INT_KIND kind or logical type with
ATOMIC_LOGICAL_KIND kind. |
VALUE | Scalar of the same type as ATOM. If the kind is different, the value is converted to the kind of ATOM. |
STAT | (optional) Scalar default-kind integer variable. |
program atomic use iso_fortran_env integer(atomic_int_kind) :: atom[*] call atomic_define (atom[1], this_image()) end program atomic
ATOMIC_REF
— Obtaining the value of a variable atomically,
ATOMIC_CAS
— Atomic compare and swap,
ISO_FORTRAN_ENV
,
ATOMIC_ADD
— Atomic ADD operation,
ATOMIC_AND
— Atomic bitwise AND operation,
ATOMIC_OR
— Atomic bitwise OR operation,
ATOMIC_XOR
— Atomic bitwise OR operation