All flush and sync functions can be called only within passive target epochs.
MPI_WIN_FLUSH(rank, win) | |
IN rank | rank of target MPI process in the group of the window win (non-negative integer) |
IN win | window object (handle) |
All outstanding RMA operations on win initiated by the MPI process calling this procedure to the target with rank in the group of the specified window will have completed when MPI_WIN_FLUSH returns. The operations are completed both at the origin and at the target.
MPI_WIN_FLUSH_ALL(win) | |
IN win | window object (handle) |
All RMA operations initiated by the MPI process calling this procedure to any target on the specified window prior to this call will have completed both at the origin and at the target when MPI_WIN_FLUSH_ALL returns.
MPI_WIN_FLUSH_LOCAL(rank, win) | |
IN rank | rank of target MPI process in the group of the window win (non-negative integer) |
IN win | window object (handle) |
All outstanding RMA operations initiated on win by the MPI process calling this procedure to the target with rank in the group of the specified window will have completed at the origin when MPI_WIN_FLUSH_LOCAL returns. For example, after this procedure returns, the user may reuse any buffers provided to put, get, or accumulate operations.
MPI_WIN_FLUSH_LOCAL_ALL(win) | |
IN win | window object (handle) |
All RMA operations initiated by the MPI process calling this procedure to any target on the specified window prior to this call will have completed at the origin when MPI_WIN_FLUSH_LOCAL_ALL returns.
MPI_WIN_SYNC(win) | |
IN win | window object (handle) |
For windows in the separate memory model, a call to MPI_WIN_SYNC synchronizes the private and public window copies of win at the calling MPI process, as described in Section Semantics and Correctness.
In the unified memory model, MPI_WIN_SYNC may be used to order load and store accesses to shared memory and to ensure visibility of store updates in shared memory for other threads and MPI processes.
A call to MPI_WIN_SYNC does not open or close an epoch and does not complete any pending RMA operations. A call to MPI_WIN_SYNC does not guarantee progress of any pending MPI operation.