1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
.. _shmem_int_fetch:
shmem_int_fetch
===============
.. include_body
shmem_int4_fetch\ (3), shmem_int8_fetch\ (3),
:ref:`shmem_int_fetch`\ (3), :ref:`shmem_long_fetch`\ (3),
:ref:`shmem_longlong_fetch`\ (3) :ref:`shmem_double_fetch`\ (3)
:ref:`shmem_float_fetch`\ (3) - Atomically fetches the value of a remote data
object
SYNOPSIS
--------
C or C++:
.. code-block:: c++
#include <mpp/shmem.h>
int shmem_int_fetch(int *target, int pe)
long shmem_long_fetch(long *target, int pe)
long long shmem_longlong_fetch(long long *target, int pe)
double shmem_double_fetch(long long *target, int pe)
float shmem_float_fetch(float *target, int pe)
Fortran:
.. code-block:: fortran
INCLUDE "mpp/shmem.fh"
INTEGER pe
INTEGER(KIND=4) SHMEM_INT4_FETCH, ires, target
ires = SHMEM_INT4_FETCH(target, pe)
INTEGER(KIND=8) SHMEM_INT8_FETCH, ires, target
ires = SHMEM_INT8_FETCH(target, pe)
REAL(KIND=4) SHMEM_INT4_FETCH, ires, target
ires = SHMEM_REAL4_FETCH(target, pe)
REAL(KIND=8) SHMEM_INT8_FETCH, ires, target
ires = SHMEM_REAL8_FETCH(target, pe)
DESCRIPTION
-----------
The shmem_fetch functions perform an atomic fetch operation. They return
the contents of the **target** as an atomic operation.
The arguments are as follows:
target
The remotely accessible data object to be fetched from the remote PE.
pe
An integer that indicates the PE number from which *target* is to be
fetched. If you are using Fortran, it must be a default integer
value.
RETURN VALUES
-------------
The contents at the *target* address on the remote PE. The data type of
the return value is the same as the the type of the remote data object.
.. seealso::
*intro_shmem*\ (3)
|