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

Aleksandar Donev donev1 at llnl.gov
Fri Jan 23 22:20:23 CST 2009

Van Snyder wrote:

> Just write an extra layer to get at MPI_wait, having an assumed-shape
> buffer dummy argument with the ASYNCHRONOUS attribute and without the
> CONTIGUOUS attribute.  Since the buffer dummy won't be referenced, make
> the procedure external, or better yet, write it in C, so a clever
> optimizer won't inline it, notice the buffer isn't used, and then move
> accesses to the buffer across the remaining reference to MPI_wait, which
> is the present problem.
> Make this layer generic with MPI_wait.  Tell users to put the buffer or
> something associated with it, if one is in scope, as the associated
> actual argument, and tell them why.
If there were an emoticon for throwing up in disgust I would put it 
here! This is horrid. Why don't you just tell the user "don't use 
asynchronous data transfers"???

> Since we already have a solution, I don't see the need for another one,
Well I do, since your solution is such a mess it is not really a solution.

Yes, you can do HACKs. That is NOT a "solution".


More information about the mpiwg-fortran mailing list