[MPI3 Fortran] Proposing changes to Fortran 2008

Hubert Ritzdorf ritzdorf at it.neclab.eu
Tue Apr 1 17:07:06 CDT 2008

Aleksandar Donev wrote:
>> Such a compiler option turns off copy-in/copy-out for that source
>> file to be compiled. It works such as an optimization flag.
> An optimization never affects correctness. What if copy in/out is necessary at 
> run-time, i.e., the actual argument is not contiguous? Does this flag you 
> mention cause those programs to abort with a run-time error? Or they crash 
> mysteriously?
The run-time error occurred for the version which performed copy-in/copy 
The usage of the compiler flag which avoids copy-in/copy out for that source
file worked.
>> but this doesn't
>> help the application programmer. He will look for a "portable" solution
>> and transfer
>> the first array element (I know, it's not guaranteed but it works).
> I am trying to understand is what you are actually proposing (desiring). You 
> want a way to specify in an interface block: The actual argument must be 
> contiguous and no copy in/out shall be performed?
> Should the contiguity check be compile time or run time?
I am probably looking for an extension of the ASYNCHRONOUS (not VOLATILE)
attribute which should be designed not only for asynchronous Fortran I/O 
but which could be
used also for MPI or other parallel libs.

Fortran 2003: OCT 2003 Final Committee Draft J3/03-007R2
NOTE 12.26:
The constraints on actual arguments that correspond to a dummy argument 
with either the ASYN-
CHRONOUS or VOLATILE attribute are designed to avoid forcing a processor 
to use the so-called
copy-in/copy-out argument passing mechanism. Making a copy of actual 
arguments whose values
are likely to change due to an asynchronous I/O operation completing or 
in some unpredictable
manner will cause those new values to be lost when a called procedure 
returns and the copy-out
overwrites the actual argument.

No run-time check.

Best regards

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3245 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-fortran/attachments/20080402/daa6b76a/attachment.bin>

More information about the mpiwg-fortran mailing list