[MPI3 Fortran] (j3.2006) (SC22WG5.3917) (SC22WG5.3909) [ukfortran] [MPI3 Fortran] MPI non-blocking transfers

Bill Long longb at cray.com
Fri Jan 23 17:43:19 CST 2009

Van Snyder wrote:
> The copy-in/copy-out problem appears to be pretty simple:  Define the
> buffer dummy argument of MPI_Isend to be ASYNCHRONOUS and assumed size.
> Then if somebody hands it an assumed-shape or pointer buffer that's not
> contiguous, the code falls afoul of C1239 or C1240.  If the user's data
> isn't contiguous, it's his responsibility to do the copying at the right
> time.

Yes, exactly.  That was my solution #1.  (The alternative, #2, was to 
have MPI routines with assumed-shape dummies, which requires a rewrite 
of the MPI library, at least at the top layer for certain routines.)  
The real question is whether "keep rewriting your code until the 
compiler accepts it" is a "solution" to the MPI group.  Realistically, I 
think it is the where we'll end up.  I just want to make sure the MPI 
group fully understands what they are getting.


Bill Long                                   longb at cray.com
Fortran Technical Support    &              voice: 651-605-9024
Bioinformatics Software Development         fax:   651-605-9142
Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120


More information about the mpiwg-fortran mailing list