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

Van Snyder Van.Snyder
Wed May 28 18:32:59 EDT 2008

On Wed, 2008-05-28 at 12:06 -0400, 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?

In 1997 I proposed that Fortran ought to provide hooks so that I/O
statements ended up in user code instead of the vendor's RTL, precisely
for things like MPI.  We did this type-by-type and list item-by-list
item, instead of connection-by-connection.  If we were to do it
connection-by-connection, is there any reason that ASYNCHRONOUS wouldn't

This is a big enough project that we shouldn't tackle it now.

Keith remarked that many vendors had worked very hard to prevent users
from intercepting I/O.

Van Snyder                    |  What fraction of Americans believe 
Van.Snyder at jpl.nasa.gov       |  Wrestling is real and NASA is fake?
Any alleged opinions are my own and have not been approved or
disapproved by JPL, CalTech, NASA, the President, or anybody else.

More information about the J3 mailing list