(j3.2006) Synchronization, allocation, and deallocation of coarray subcomponents

Bill Long longb
Fri Apr 10 19:26:30 EDT 2009



Van Snyder wrote:
> 6.7.3.2p12 [133:20-21] says that implicit synchronization occurs when a
> coarray subcomponent is automatically deallocated as a consequence of
> execution of a RETURN or END statement or a statement that causes
> termination of a BLOCK construct.  Is this true? 
Yes.  Implicit synchronization occurs whenever a coarray is deallocated.

>  And what does "coarray
> subcomponent" mean here anyway?  Is it "subcomponent that is a coarray"
>   

Yes.

> or "subcomponent of a coarray, 

No.

> which cannot be a coarray"?  Why doesn't
> "deallocation of a coarray" just cover this?
>   

Probably does.

> Is a subcomponent of an object ever implicitly deallocated without the
> object itself being deallocated (6.7.3.2p2-3 don't say so)?
>
>   

Yes. See p6 in the same section.


> Does deallocating a subcomponent of a coarray by a DEALLOCATE statement
> cause synchronization (6.7.3.2p11 doesn't say so)?
>   

No.  Such components are local to the image, and need not have 
corresponding components allocated on other images. Their allocation and 
deallocation is local.

> Does allocating a subcomponent of a coarray by an ALLOCATE statement
> cause synchronization (6.7.1.2p4 doesn't say so)?
>   

No.  Same reason as above.

Cheers,
Bill


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