(j3.2006) MPI usage problems in Fortran

Bill Long longb
Wed Mar 19 14:54:56 EDT 2008



Aleksandar Donev wrote:
> On Wednesday 19 March 2008 11:20, Bill Long wrote:
>
>   
>> That's because an
>> async I/O operation initiated in the subprogram might not finish before
>> control is transferred back to the caller
>>     
> What if the programmer knows it does. Why should async taint leak out of the 
> routine back to the actual???
>   

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.   It is 
automatically implied by the variable being in the I/O list of the async 
I/O statement.

>   
>> , and the I/O libraries need a 
>> stable target in memory for the data transfers throughout the I/O
>> operation.
>>     
> But, I repeat my issue: What about the actual? Should it have the asynchronous 
> attribute? Surely it must since it's values are changing behind the 
> compiler's back. 
Yes, the actual is required to have the asynchronous attribute in this 
case. [77:10-11] in f03.  This could be either through explicitly 
specifying the attribute, or by having the variable appear in another 
async I/O operation in the caller.

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.

Cheers,
Bill


> If the actual is not async, and the dummy is, what does it 
> mean? I would say it means the async I/O is localized inside the routine and 
> *completes* before the routine returns.
>
>   
>> Since the user can control the code range where the
>> variable is tainted,
>>     
> I question this statement above. First you tell me putting async on the dummy 
> taints actuals, even if they don't have async. Or maybe they don't.
>
> I am still 100% convinced this was badly designed, OR, there are missing words 
> in the standard expressing what someone thought but never wrote down for 
> others (especially implementors) to understand.
>
> Best,
> Aleks
> _______________________________________________
> J3 mailing list
> J3 at j3-fortran.org
> http://j3-fortran.org/mailman/listinfo/j3
>   

-- 
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