On Feb 3, 2010, at 6:24 PM, Dorian Krause wrote:
Unless it is also specified that a process must eventually exit with
a call to MPI_Finalize (I couldn't find such a requirement),
progress for RMA access to a passive server which does not
participate actively in any MPI communication is not guaranteed,
right?
(Btw. mvapich2 has the same behavior in this regard)
For the finalize requirement, see MPI-2.2 page 291, lines 36-38:
------8<------
This routine cleans up all MPI state. Each process must call
MPI_FINALIZE before it exits. Unless there has been a call to
MPI_ABORT, each process must ensure that all pending nonblocking
communications are (locally) complete before calling MPI_FINALIZE.
------8<------
MPI is intentionally vague on progress issues and leaves lots of room
for implementation choices.
I'll let the Open MPI folks answer the questions about their
implementation.
-Dave