[MPI3 Fortran] MPI non-blocking transfer
Aleksandar Donev
donev1 at llnl.gov
Tue Feb 10 12:28:38 CST 2009
Hi,
> This makes a lotta difference after the recent decision of the MPI
> Forum to allow read access to a buffer engaged by the MPI_Isend
> operation. This effectively prohibits in-place buffer modification by
> the MPI that was described in the original example.
I was describing modifications (optimizations) by the compiler, not the
MPI library. To the compiler MPI is just another external library and
so unless it knows buffer is special it cannot know not to do "in-place
buffer modifications". For the other cases where this kind of thing can
happen in Fortran, namely asynchronous I/O and co-arrays, the compiler
has been warned by the presence of an attribute.
My very strong opinion: The non-blocking issue *cannot* be resolved by
the MPI Forum in independence, that is, by changing the interface of
Wait, or whatever. It requires some cooperation from the Fortran
committee.
> BY the way, what do Fortran gurus think of this new MPI-2.2 feature?
As a user I would certainly prefer to be able to read a buffer. In
Fortran, for asynchronous I/O, we do allow the program to reference,
but not define, a variable that is being written asynchronously. I
would expect the same for MPI. But, if it has a high
implementation/efficiency cost, I guess that is more important :-)
Best,
Aleks
--
Aleksandar Donev, Ph.D.
Lawrence Postdoctoral Fellow @ Lawrence Livermore National Laboratory
High Performance Computational Materials Science and Chemistry
E-mail: donev1 at llnl.gov
Phone: (925) 424-6816 Fax: (925) 423-0785
Address: P.O.Box 808, L-367, Livermore, CA 94551-9900
Web: http://cherrypit.princeton.edu/donev
More information about the mpiwg-fortran
mailing list