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

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

Van Snyder wrote:
> [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"


> or "subcomponent of a coarray, 


> 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 ( don't say so)?

Yes. See p6 in the same section.

> Does deallocating a subcomponent of a coarray by a DEALLOCATE statement
> cause synchronization ( 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 ( doesn't say so)?

No.  Same reason as above.


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