[MPI3 Fortran] Request for a straw vote.

Craig Rasmussen crasmussen at newmexicoconsortium.org
Fri Jun 12 12:21:00 CDT 2009

On Jun 12, 2009, at 10:59 AM, Bill Long wrote:

> Craig Rasmussen wrote:
>> Bill, I'm not sure we are talking about the same thing.  I'm  
>> assuming the choice buffers are represented by DIMENSION(..) so the  
>> MPI implementation must deal with dope vectors so the issue of copy- 
>> in/copy-out doesn't come up.  This is for any MPI call with a  
>> "choice buffer" so it doesn't have anything to do MPI_Wait and  
>> MPI_Request, ...
> The dimension(..) specification would be for the wrapper routine  
> which turns around and calls the lower level C routine currently in  
> the library.  If the array is not contiguous, then either the  
> transfer has to be done in contiguous chunks, or a local (inside the  
> wrapper) contiguous copy is made before calling the lower level  
> routine. Depending on the network characteristics, the later might  
> be more efficient.

Yes, we are talking about a local (inside the wrapper) contiguous copy  
being made before calling the lower level routine.

> The issue of deferred copy-out and temp deletion only affects the  
> non-blocking routines.  All of this would be handled in the wrappers  
> - unseen by the Fortran user.

But I think we are still left a problem with non-blocking routines.  I  
think we need to disallow copy-in/copy-out with DIMENSION(..) and  
BIND(C).  Can this be done in Fortran standardeze?


More information about the mpiwg-fortran mailing list