77 строки
1.9 KiB
Plaintext
77 строки
1.9 KiB
Plaintext
|
.\" -*- nroff -*-
|
||
|
.\" Copyright (c) 2015 University of Houston. All rights reserved.
|
||
|
.\" Copyright (c) 2015 Mellanox Technologies, Inc.
|
||
|
.\" $COPYRIGHT$
|
||
|
.de Vb
|
||
|
.ft CW
|
||
|
.nf
|
||
|
..
|
||
|
.de Ve
|
||
|
.ft R
|
||
|
|
||
|
.fi
|
||
|
..
|
||
|
.TH "SHMEM\\_ADD" "3" "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#"
|
||
|
.SH NAME
|
||
|
|
||
|
\fIshmem_int_add\fP(3),
|
||
|
\fIshmem_int4_add\fP(3),
|
||
|
\fIshmem_int8_add\fP(3),
|
||
|
\fIshmem_long_add\fP(3),
|
||
|
\fIshmem_longlong_add\fP(3)
|
||
|
\- Performs an atomic add
|
||
|
operation.
|
||
|
.SH SYNOPSIS
|
||
|
|
||
|
C or C++:
|
||
|
.Vb
|
||
|
#include <mpp/shmem.h>
|
||
|
|
||
|
void shmem_int_add(int *target, int value, int pe);
|
||
|
void shmem_long_add(long *target, long value, int pe);
|
||
|
void shmem_longlong_add(long long *target, long long value,
|
||
|
int pe);
|
||
|
.Ve
|
||
|
Fortran:
|
||
|
.Vb
|
||
|
include 'mpp/shmem.h'
|
||
|
|
||
|
INTEGER pe
|
||
|
|
||
|
CALL SHMEM_INT4_ADD(target, value, pe)
|
||
|
CALL SHMEM_INT8_ADD(target, value, pe)
|
||
|
.Ve
|
||
|
.SH DESCRIPTION
|
||
|
|
||
|
The atomic add routines add \fBvalue\fP
|
||
|
to the data at address \fBtarget\fP
|
||
|
on PE
|
||
|
\fBpe\fP\&.
|
||
|
The operation completes without the possibility of another process updating
|
||
|
target between the time of the fetch and the update.
|
||
|
.PP
|
||
|
The arguments are as follows:
|
||
|
.TP
|
||
|
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 the Fortran compiler, it must be of type integer with an element size of 4 bytes
|
||
|
for SHMEM_INT4_ADD and 8 bytes for SHMEM_INT8_ADD.
|
||
|
.TP
|
||
|
value
|
||
|
The value to be atomically added to target. If you are using C/C++, the type of
|
||
|
value should match that implied in the SYNOPSIS section. If you are using Fortran, it must be
|
||
|
of type integer with an element size of target.
|
||
|
.TP
|
||
|
pe
|
||
|
An integer that indicates the PE number upon which target is to be updated. If you
|
||
|
are using Fortran, it must be a default integer value.
|
||
|
.PP
|
||
|
.SH NOTES
|
||
|
|
||
|
The term remotely accessible is defined in \fIintro_shmem\fP(3)\&.
|
||
|
.SH SEE ALSO
|
||
|
|
||
|
\fIintro_shmem\fP(3),
|
||
|
\fIshmem_cache\fP(3)
|