File: shmem_float_swap.3

package info (click to toggle)
openmpi 5.0.8-4
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 201,684 kB
  • sloc: ansic: 613,078; makefile: 42,353; sh: 11,194; javascript: 9,244; f90: 7,052; java: 6,404; perl: 5,179; python: 1,859; lex: 740; fortran: 61; cpp: 20; tcl: 12
file content (147 lines) | stat: -rw-r--r-- 3,335 bytes parent folder | download | duplicates (3)
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
.\" Man page generated from reStructuredText.
.
.TH "SHMEM_FLOAT_SWAP" "3" "May 30, 2025" "" "Open MPI"
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.INDENT 0.0
.INDENT 3.5
.UNINDENT
.UNINDENT
.sp
\fI\%shmem_double_swap\fP(3), \fI\%shmem_float_swap\fP(3),
\fI\%shmem_int_swap\fP(3), \fI\%shmem_long_swap\fP(3), \fI\%shmem_swap\fP(3),
shmem_int4_swap(3), shmem_int8_swap(3), shmem_real4_swap(3),
shmem_real8_swap(3), \fI\%shmem_longlong_swap\fP(3) \- Performs an atomic
swap to a remote data object
.SH SYNOPSIS
.sp
C or C++:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft 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)
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Fortran:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
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)
.ft P
.fi
.UNINDENT
.UNINDENT
.SH DESCRIPTION
.sp
The atomic swap routines write \fBvalue\fP to address target on PE \fBpe\fP,
and return the previous contents of \fBtarget\fP in one atomic operation.
.sp
The arguments are as follows:
.INDENT 0.0
.TP
.B 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:
.sp
\fBSHMEM_SWAP:\fP Integer of default kind
.sp
\fBSHMEM_INT4_SWAP:\fP 4\-byte integer
.sp
\fBSHMEM_INT8_SWAP:\fP 8\-byte integer
.sp
\fBSHMEM_REAL4_SWAP:\fP 4\-byte real
.sp
\fBSHMEM_REAL8_SWAP:\fP 8\-byte real
.TP
.B value
Value to be atomically written to the remote PE. value is the same
type as target.
.TP
.B 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.
.UNINDENT
.SH NOTES
.sp
The term remotely accessible is defined in \fIintro_shmem\fP(3).
.SH RETURN VALUES
.sp
The contents that had been at the target address on the remote PE prior
to the swap is returned.
.sp
\fBSEE ALSO:\fP
.INDENT 0.0
.INDENT 3.5
\fIintro_shmem\fP(3)
.UNINDENT
.UNINDENT
.SH COPYRIGHT
2003-2025, The Open MPI Community
.\" Generated by docutils manpage writer.
.