[Mpi-forum] Question about the semantics of MPI_Comm_disconnect
Jeff Squyres (jsquyres)
jsquyres at cisco.com
Tue Nov 12 13:08:49 CST 2013
On Nov 12, 2013, at 2:02 PM, Nathan Hjelm <hjelmn at lanl.gov> wrote:
> I am trying to understand the semantics of MPI_Comm_disconnect but there is a contradiction in the standard. On page 400, lines 29-31 the standard states:
>
> MPI_COMM_DISCONNECT may be called only if all communication is complete and
> matched, so that buffered data can be delivered to its destination. This requirement is the same as for MPI_FINALIZE.
I'm also curious about the phrase "complete and matched" -- does anyone know why it says "and matched"? I would think that "complete" directly implies "matched". ...or did it mean to say "...or matched" (vs. "...and matched")?
> Which suggests that all communication MUST be complete before MPI_Comm_disconnect is called. But if I look at lines 41-43 I see this:
>
> Rationale. It would be nice to be able to use MPI_COMM_FREE instead, but that
> function explicitly does not wait for pending communication to complete. (End of
> rationale.)
Also, some normative text on line 32 says:
MPI_COMM_DISCONNECT has the same action as MPI_COMM_FREE, except that it waits for pending communication to finish internally...
Which seems to directly contradict the statement starting on line 28.
--
Jeff Squyres
jsquyres at cisco.com
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
More information about the mpi-forum
mailing list