| 
          
  « Return to documentation listing 
    
Table of Contents
 
 shmem_double_swap(3), shmem_float_swap(3), shmem_int_swap(3),
shmem_long_swap(3), shmem_swap(3), shmem_int4_swap(3), shmem_int8_swap(3),
shmem_real4_swap(3), shmem_real8_swap(3), shmem_longlong_swap(3) - Performs
an atomic swap to a remote data object
 
 C or C++:  
 #include <mpp/shmem.h>
double shmem_double_swap(double *target, double value,
  int pe);
float shmem_float_swap(float *target, float value, int pe);
int shmem_int_swap(int *target, int value, int pe);
long shmem_long_swap(long *target, long value, int pe);
long long shmem_longlong_swap(long long *target,
  long long value, int pe);
long shmem_swap(long *target, long value, int pe);
  Fortran:  
INCLUDE "mpp/shmem.fh"
INTEGER pe
INTEGER SHMEM_SWAP
ires = SHMEM_SWAP(target, value, pe)
INTEGER(KIND=4) SHMEM_INT4_SWAP
ires = SHMEM_INT4_SWAP(target, value, pe)
INTEGER(KIND=8) SHMEM_INT8_SWAP
ires = SHMEM_INT8_SWAP(target, value, pe)
REAL(KIND=4) SHMEM_REAL4_SWAP
res = SHMEM_REAL4_SWAP(target, value, pe)
REAL(KIND=8) SHMEM_REAL8_SWAP
res = SHMEM_REAL8_SWAP(target, value, pe)
 
 The atomic swap routines write value to address target on
PE pe, and return the previous contents of target in one atomic operation.
 
The arguments are as follows:
 
- target 
 
- The remotely accessible integer data
object to be updated on the remote PE. If you are using C/C++, the type
of target should match that implied in the SYNOPSIS section. If you are
using Fortran, it must be of the following type: 
 
- SHMEM_SWAP: Integer of
default kind 
 
- SHMEM_INT4_SWAP: 4-byte integer 
 
- SHMEM_INT8_SWAP: 8-byte integer
 
- SHMEM_REAL4_SWAP: 4-byte real 
 
- SHMEM_REAL8_SWAP: 8-byte real 
 
 
  
- value 
 
- Value to
be atomically written to the remote PE. value is the same type as target.
 
- pe 
 
- An integer that indicates the PE number on which target is to be updated.
If you are using Fortran, it must be a default integer value. 
 
 
 
 The
term remotely accessible is defined in intro_shmem(3).
 
 The
contents that had been at the target address on the remote PE prior to
the swap is returned.
 
 intro_shmem(3)   
 
 
Table of Contents 
 
 « Return to documentation listing 
	  
	   |