In your draft 1sided 05/22/96 there are two errors in the description
of the semantics of MPI_WINDOW_IN and MPI_PUT on page 25, lines 24-37:
- MPI_WINDOW_IN is only a local function that copies the
public window into the privat one. Therefore it must be
guaranteed that the data stored by MPI_PUT has already "reached"
the public window.
This cannot be achived by the synchronization methods you wrote
on page 25, lines 33f, i.e. by a normale message.
One must use one of the RMA specific synchronization methods:
Waiting or polling on RMA-counter update, Barrier on RMA
communicator, MPI_FENCE followed by any other synchronization.
Therefore I think, it is necessary to substitute the text
lines 33-36 by
Because the call to MPI_WINDOW_IN must follow the put,
it is necessary that the two processes synchronize with
one of the following RMA specific methods: a) MPI_BARRIER
on the RMA communicator, b) MPI_FENCE followed by any
other synchronization or c) waiting or polling on the
window counter in the target process.
- lines 28-29 is not enough because a local store must be followed
by a WINDOW_OUT before the PUT is done.
The text "or global (put, accumulate, RMW)" is already described
in the section "Conflicting Remote Accesses".
Therefore I think, it is necessary to substitute the text
lines 28-29 by
A preceding store must be followed by a MPI_WINDOW_OUT
that also precedes the put.
(See Fig.\,\ref{fig-window-in-out}, middle case.)
Additionally please add at line 23:
(See Fig.\,\ref{fig-window-in-out}, left case.)
and at line 26:
(See Fig.\,\ref{fig-window-in-out}, right case.)
And at the figure itself:
\begin{figure}[ht]
....
\caption{Correct use of \mpifunc{MPI\_WINDOW\_IN}
and \mpifunc{MPI\_WINDOW\_OUT}}
\label{fig-window-in-out}
\end{figure}
Kind regards
Rolf
Rolf Rabenseifner (Computer Center )
Rechenzentrum Universitaet Stuttgart (University of Stuttgart)
Allmandring 30 Phone: ++49 711 6855530
D-70550 Stuttgart 80 FAX: ++49 711 6787626
Germany rabenseifner@rus.uni-stuttgart.de