[Mpi-forum] Fortran change for discussion

N.M. Maclaren nmm1 at cam.ac.uk
Mon Sep 10 15:50:19 CDT 2012

On Sep 10 2012, Jeff Squyres wrote:
> Jeremiah made the point that the text says that an MPI implementation 
> behaves as if it makes a copy of the buffer. He says that this implies 
> that it trumps the "user can't modify a non-blocking sending buffer while 
> the operation is ongoing" rule -- since the user can't modify the copy, 
> it might be inferred that the user can go modify the original.
>I think our text is weak but ok.  The clarification doesn't hurt, though.

Sort of, except that I would say that the second paragraph (there are
actually two) is "unfortunate" not "weak".  This is a bit more drastic,
but the following is some wording that is considerably more explicit,
though it does need some knowledge of the Fortran standard.

    All nonblocking MPI functions (e.g., MPI_ISEND, MPI_PUT,
    MPI_FILE_WRITE_ALL_BEGIN) address the user-specified elements of
    choice buffers as if they were a contiguous scratch buffer using
    the rules of Fortran sequence association.

Strictly, that's all that needs to be said!  The remainder of that
paragraph is an explanation of Fortran sequence association in terms
of copying, which I agree is confusing.

If the current text is kept, I think the clarification is important.

Nick Maclaren.


More information about the mpi-forum mailing list