(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