The RMA chapter in the section on dynamic windows refers to all but the dynamic window creation functions as the MPI-2 RMA model:
12.2.4 Window of Dynamically Attached Memory
The MPI-2 RMA model requires the user to identify the local memory that may be a
target of RMA calls at the time the window is created. This has advantages for both
the programmer (only this memory can be updated by one-sided operations and provides
greater safety) and the MPI implementation (special steps may be taken to make onesided
access to such memory more efficient). However, consider implementing a modifiable
linked list using RMA operations; as new items are added to the list, memory must be
allocated. In a C or C++ program, this memory is typically allocated using malloc or
new respectively. In MPI-2 RMA, the programmer must create a window with a predefined
amount of memory and then implement routines for allocating memory from within the
window’s memory. In addition, there is no easy way to handle the situation where the
predefined amount of memory turns out to be inadequate. To support this model, the
routine MPI_WIN_CREATE_DYNAMIC creates a window that makes it possible to expose
memory without remote synchronization. It must be used in combination with the local
routines MPI_WIN_ATTACH and MPI_WIN_DETACH.
Proposal
The previously described window creation procedures require the user to
identify the local memory that may be a
target of RMA calls at the time the window is created. This has advantages for both
the programmer (only this memory can be updated by one-sided operations and provides
greater safety) and the MPI implementation (special steps may be taken to make onesided
access to such memory more efficient). However, consider implementing a modifiable
linked list using RMA operations; as new items are added to the list, memory must be
allocated. In a C or C++ program, this memory is typically allocated using malloc or
new respectively. With the previously described window creation procedures,
the programmer must create a window with a predefined amount of memory and
then implement routines for allocating memory from within the
window’s memory. In addition, there is no easy way to handle the situation where the
predefined amount of memory turns out to be inadequate. To support this model, the
routine MPI_WIN_CREATE_DYNAMIC creates a window that makes it possible to expose
memory without remote synchronization. It must be used in combination with the local
routines MPI_WIN_ATTACH and MPI_WIN_DETACH.
Problem
The RMA chapter in the section on dynamic windows refers to all but the dynamic window creation functions as the
MPI-2
RMA model:Proposal
Changes to the Text
See above
Impact on Implementations
None
Impact on Users
Forget about MPI-2
References and Pull Requests
TBD