You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ompi/mpi/man/man3/MPI_Alloc_mem.3in
+5-1Lines changed: 5 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -58,9 +58,13 @@ Fortran only: Error status (integer).
58
58
.SH DESCRIPTION
59
59
.ftR
60
60
MPI_Alloc_mem allocates \fIsize\fP bytes of memory. The starting address
61
-
of this memory is returned in the variable \fIbase\fP.
61
+
of this memory is returned in the variable \fIbaseptr\fP.
62
62
.sp
63
63
64
+
.SH C NOTES
65
+
.ftR
66
+
The parameter \fIbaseptr\fP is of type \fIvoid*\fP to allow passing any pointer object for this parameter. The provided argument should be a pointer to a pointer of arbitrary type (e.g., \fIvoid**\fP).
67
+
64
68
.SH FORTRAN NOTES
65
69
.ftR
66
70
There is no portable FORTRAN 77 syntax for using MPI_Alloc_mem.
Copy file name to clipboardExpand all lines: ompi/mpi/man/man3/MPI_Win_allocate.3in
+7Lines changed: 7 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -100,6 +100,12 @@ elements of type \fItype\fP. The later choice will allow one to use
100
100
array indices in RMA calls, and have those scaled correctly to byte
101
101
displacements, even in a heterogeneous environment.
102
102
.sp
103
+
Calling \fBMPI_Win_free\fP will deallocate the memory allocated by \fBMPI_Win_allocate\fP. It is thus erroneous to manually free \fIbaseptr\fP.
104
+
105
+
.SH C NOTES
106
+
.ftR
107
+
While \fIbaseptr\fP is a \fIvoid*\fP type, this is to allow easy use of any pointer object for this parameter. This argument is really a \fIvoid**\fP type.
108
+
.sp
103
109
104
110
.SH ERRORS
105
111
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
Copy file name to clipboardExpand all lines: ompi/mpi/man/man3/MPI_Win_allocate_shared.3in
+8Lines changed: 8 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -123,6 +123,12 @@ elements of type \fItype\fP. The later choice will allow one to use
123
123
array indices in RMA calls, and have those scaled correctly to byte
124
124
displacements, even in a heterogeneous environment.
125
125
.sp
126
+
Calling \fBMPI_Win_free\fP will deallocate the memory allocated by \fBMPI_Win_allocate_shared\fP. It is thus erroneous to manually free \fIbaseptr\fP.
127
+
128
+
.SH C NOTES
129
+
.ftR
130
+
While \fIbaseptr\fP is a \fIvoid*\fP type, this is to allow easy use of any pointer object for this parameter. This argument is really a \fIvoid**\fP type.
131
+
.sp
126
132
127
133
.SH ERRORS
128
134
Almost all MPI routines return an error value; C routines as the value
Copy file name to clipboardExpand all lines: ompi/mpi/man/man3/MPI_Win_create_dynamic.3in
+22-6Lines changed: 22 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -53,34 +53,44 @@ Fortran only: Error status (integer).
53
53
.SH DESCRIPTION
54
54
.ftR
55
55
MPI_Win_create_dynamic is a one-sided MPI communication collective call executed by all processes in the group of \fIcomm\fP. It returns a window object without memory attached that can be used by these processes to perform RMA operations.
56
+
.sp
57
+
A window created with \fBMPI_Win_create_dynamic\fP requires the \fItarget_disp\fP argument for all RMA communication functions to be the actual address at the target.
58
+
56
59
.sp
57
60
The following info keys are supported:
58
61
.ftR
59
62
.TP1i
60
63
no_locks
61
64
If set to \fItrue\fP, then the implementation may assume that the local
62
65
window is never locked (by a call to MPI_Win_lock or
63
-
MPI_Win_lock_all). Setting this value if only active synchronization
66
+
MPI_Win_lock_all). Setting this value if only active synchronization
64
67
may allow the implementation to enable certain optimizations.
65
68
.sp
66
69
.TP1i
67
70
accumulate_ordering
68
71
By default, accumulate operations from one initiator to one target on
69
-
the same window are strictly ordered. If the info key
72
+
the same window memory location are strictly ordered. If the info key
70
73
accumulate_ordering is set to \fInone\fP, no ordering of accumulate
71
-
operations guaranteed. They key can also be a comma-separated list of
74
+
operations guaranteed. They key can also be a comma-separated list of
72
75
required orderings consisting of \fIrar\fP, \fIwar\fP, \fIraw\fP, and \fIwaw\fP for
73
76
read-after-read, write-after-read, read-after-write, and
74
-
write-after-write, respectively. Looser ordering constraints are
77
+
write-after-write, respectively. Looser ordering constraints are
75
78
likely to result in improved performance.
76
79
.sp
77
80
.TP1i
78
81
accumulate_ops
79
82
If set to \fIsame_op\fP, the implementation will assume that all concurrent
80
83
accumulate calls to the same target address will use the same
81
-
operation. If set to \fIsame_op_no_op\fP, then the implementation will
84
+
operation. If set to \fIsame_op_no_op\fP, then the implementation will
82
85
assume that all concurrent accumulate calls to the same target address
83
-
will use the same operation or MPI_NO_OP. The default is \fIsame_op_no_op\fP.
86
+
will use the same operation or \fBMPI_NO_OP\fP. The default is \fIsame_op_no_op\fP.
87
+
.sp
88
+
89
+
.SH NOTES
90
+
Since dynamically attaching memory to a window is a local operation, one has to communicate the actual address at the target using \fBMPI_Get_address\fP and some communication.
91
+
.sp
92
+
Dynamic memory does not have any \fIdisp_unit\fP associated and requires correct offset calculations with proper type handling.
93
+
.sp
84
94
85
95
.SH ERRORS
86
96
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
@@ -89,4 +99,10 @@ Before the error value is returned, the current MPI error handler is
89
99
called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error.
Copy file name to clipboardExpand all lines: ompi/mpi/man/man3/MPI_Win_fence.3in
+17-1Lines changed: 17 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -54,7 +54,23 @@ MPI_Win_fence synchronizes RMA calls on \fIwin\fP. The call is collective on the
54
54
.sp
55
55
The call completes an RMA access epoch if it was preceded by another fence call and the local process issued RMA communication calls on \fIwin\fP between these two calls. The call completes an RMA exposure epoch if it was preceded by another fence call and the local window was the target of RMA accesses between these two calls. The call starts an RMA access epoch if it is followed by another fence call and by RMA communication calls issued between these two fence calls. The call starts an exposure epoch if it is followed by another fence call and the local window is the target of RMA accesses between these two fence calls. Thus, the fence call is equivalent to calls to a subset of \fIpost,start,complete,wait\fP.
56
56
.sp
57
-
A fence call usually entails a barrier synchronization: a process completes a call to MPI_Win_fence only after all other processes in the group have entered their matching call. However, a call to MPI_Win_fence that is known not to end any epoch (in particular, a call with \fIassert\fP = MPI_MODE_NOPRECEDE) does not necessarily act as a barrier.
57
+
The \fIassert\fP argument is used to provide assertions on the context of the call that may be used for various optimizations. A value of \fIassert\fP = 0 is always valid. The following assertion value is supported:
58
+
.ftR
59
+
.TP1i
60
+
MPI_MODE_NOPRECEDE
61
+
No local RMA calls have been issued before this fence. This assertion must be provided by all or no members of the group of the window. It may enable faster fence call by avoiding unnecessary synchronization.
62
+
.sp
63
+
.TP1i
64
+
MPI_MODE_NOSTORE
65
+
Informs that the local window was not updated by local stores or get calls in the preceding epoch.
66
+
.TP1i
67
+
MPI_MODE_NOPUT
68
+
Informs that the local window will not be updated by any put or accummulate calls in the ensuing epoch (until next fence call).
69
+
.TP1i
70
+
MPI_MODE_NOSUCCEED
71
+
No local RMA calls will be issued after this fence. This assertion must be provided by all or no members of the group of the window. It may enable faster fence call by avoiding unnecessary synchronization.
72
+
.sp
73
+
58
74
59
75
.SH NOTE
60
76
Calls to MPI_Win_fence should both precede and follow calls to put, get or accumulate that are synchronized with fence calls.
Copy file name to clipboardExpand all lines: ompi/mpi/man/man3/MPI_Win_free.3in
+6-2Lines changed: 6 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -48,6 +48,10 @@ Fortran only: Error status (integer).
48
48
.ftR
49
49
MPI_Win_free frees the window object \fIwin\fP and returns a null handle (equal to MPI_WIN_NULL). This collective call is executed by all processes in the group associated with \fIwin\fP. It can be invoked by a process only after it has completed its involvement in RMA communications on window \fIwin\fP, that is, the process has called MPI_Win_fence, or called MPI_Win_unlock to match a previous call to MPI_Win_lock. When the call returns, the window memory can be freed.
50
50
51
+
.SH NOTES
52
+
.ftR
53
+
If the window was created through \fBMPI_Win_allocate\fP or \fBMPI_Win_allocate_shared\fP then the memory buffer allocated in that call will be freed when calling \fBMPI_Win_free\fP.
54
+
51
55
.SH ERRORS
52
56
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.
53
57
.sp
@@ -56,7 +60,7 @@ called. By default, this error handler aborts the MPI job, except for I/O functi
Copy file name to clipboardExpand all lines: ompi/mpi/man/man3/MPI_Win_lock.3in
+6-1Lines changed: 6 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -63,8 +63,13 @@ Locks are used to protect accesses to the locked target window effected by RMA c
63
63
Accesses that are protected by an exclusive lock will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock will not be concurrent at the window site with accesses protected by an exclusive lock to the same window.
64
64
.sp
65
65
The \fIassert\fP argument is used to provide assertions on the context of the call that may be used for various optimizations. (See Section 6.4.4 of the MPI-2 Standard.) A value of \fIassert\fP = 0 is always valid.
66
+
The following assertion value is supported:
67
+
.ftR
68
+
.TP1i
69
+
MPI_MODE_NOCHECK
70
+
No other processes will hold or attempt to acquire a conflicting lock while the caller holds the window lock.
66
71
.sp
67
-
.ft
72
+
68
73
.SH NOTES
69
74
.ftR
70
75
In a client/server environment in which clients connect to
Copy file name to clipboardExpand all lines: ompi/mpi/man/man3/MPI_Win_lock_all.3in
+6-1Lines changed: 6 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -56,8 +56,13 @@ Locks are used to protect accesses to the locked target window effected by RMA c
56
56
Accesses that are protected by an exclusive lock will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock will not be concurrent at the window site with accesses protected by an exclusive lock to the same window.
57
57
.sp
58
58
The \fIassert\fP argument is used to provide assertions on the context of the call that may be used for various optimizations. (See Section 6.4.4 of the MPI-2 Standard.) A value of \fIassert\fP = 0 is always valid.
59
+
The following assertion value is supported:
60
+
.ftR
61
+
.TP1i
62
+
MPI_MODE_NOCHECK
63
+
No other processes will hold or attempt to acquire a conflicting lock while the caller holds the window lock.
59
64
.sp
60
-
.ft
65
+
61
66
.SH NOTES
62
67
.ftR
63
68
In a client/server environment in which clients connect to
0 commit comments