[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