(j3.2006) [MPI3 Fortran] Feedback from Fortran J3 meeting

Bill Long longb
Wed May 28 12:42:19 EDT 2008

I think this thread has gone way off the tracks.

1) The asynchronous attribute on the buffer actual argument and also in 
the interface is to prevent copy-in/copy-out, which is the critical need 
in interfacing with these MPI routines.

2) MPI has rules for its users that they should not modify or reference 
the buffer until the corresponding wait subroutine call is made.  That 
has absolutely nothing to do with Fortran, and our rules certainly 
should not get involved in enforcing such a rule.  As Dan points out, 
these are ordinary external subroutine calls as fas as Fortran is concerned.

Our goal is to create interfaces that allow users to directly call the C 
MPI routines.  Preferably without forcing the users to change their 
source code CALL statements.  That's it.


Dan Nagle wrote:
> Hello,
> On May 28, 2008, at 11:25 AM, Craig Rasmussen wrote:
>> So Bill suggested earlier using the asynchronous attribute instead.
>> Since MPI_Irecv/MPI_Wait specify asynchronous IO operations,
>> ASYNCHRONOUS seems to me to be the correct syntax.
> But to Fortran, they are simply subroutine calls.
> Further, only one actual argument is "asynchronous",
> and that argument doesn't appear on the mpi wait statement.
> How to identify the asynch argument, identify the start
> of the asynch period, identify the end of the asynch period?
> This seems to me to be a job for argument intents,
> rather than an attribute of a variable.
>> Perhaps this would work if we modified the last line to be
>>       - any statement of the scoping unit is executed while the
>> variable is a pending I/O storage sequence affector or becomes
>> referenced or defined by an external I/O operation
> OK, I'll bite.  What is an "external I/O operation" ?
> How does one start, when has it finished?

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 J3 mailing list