(j3.2006) referencing co-array variable that is an ultimate argument
Wed May 23 20:51:27 EDT 2007
Wording issues aside (i.e., whether the words in 126.96.36.199 should be
explicitly qualified with "the same image"):
> (b) destroys optimisation.
What optimizations does it destroy and why? If the dummy is a co-array, then
it is clear that other images may be changing values in it, subject to the
stringent segment ordering restrictions. This destroys no
optimizations---values referenced or defined by the image in question will
not be touched by other images. Maybe the restriction we have on dummies is
stronger (it says that no part of the dummy shall be touched other than via
the dummy, not just those parts referenced or defined in the procedure), but
co-arrays do not affect local variables which behave the same and exactly the
same optimizations are possible.
If the dummy is not a co-array and the actual is a subobject of one, then
there is an issue as we do want the compiler to be able to do exactly the
same optimizations as if co-arrays did not exist, since it cannot see that
the actual is a co-array and may be modified by other images. Our attempt at
plugging that hole are the words in 197:21-23.
Aleksandar Donev, Ph.D.
Lawrence Postdoctoral Fellow @ LLNL
High Performance Computational Materials Science and Chemistry
E-mail: donev1 at llnl.gov
Phone: (925) 424-6816 Fax: (925) 423-0785
Address: P.O.Box 808, L-367, Livermore, CA 94551-9900
More information about the J3