(j3.2006) MPI usage problems in Fortran
Bill Long
longb
Wed Mar 19 15:33:15 EDT 2008
Aleksandar Donev wrote:
> On Wednesday 19 March 2008 11:54, Bill Long wrote:
>
>> If the programmer knows the I/O operations complete before return, then
>> it is not necessary to specify the ASYNCHRONOUS attribute in the
>> declaration of the dummy variable involved in the I/O operation.
>>
> So now we are distinguishing between explicit attribute and implicit
> attribute?!? This is getting worse by the minute.
> Good programmers should always explicitly list their SAVE, ASYNCHRONOUS, or
> whatever to make the code clear. Regardless of whether it is implied. It
> should NEVER make a difference whether it is explicit or implicit.
>
OK, that's a good point that I overlooked. The rules are for the cases
where the dummy "has the ASYNCHRONOUS attribute". They don't say it has
to be specified in a declaration. Thus, it appears you are required to
have an explicit interface, even if the word asynchronous never appears
in any of the declarations, if any of the dummy arguments appears in an
async I/O list. For a case like that, I don't see how the compiler
would deduce anything interesting from the interface, at least related
to the side effects of async I/O. This may have been an oversight in
the design (which was mostly done before I joined J3).
Cheers,
Bill
>> If the effect of an asynchronous declaration on a dummy did not leak
>> into the caller, there would be no point in requiring an explicit
>> interface based on a dummy argument having the asynchronous attribute.
>>
> Exactly. Badly designed set of constraints for which there is no real rime or
> reason.
> Aleks
>
>
--
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