<br><tt><font size=2>j3-bounces@j3-fortran.org wrote on 07/28/2009 08:34:50
AM:<br>
&gt; &gt; <br>
&gt; &gt; Same shock today here finding this out. &nbsp;Although it's not
much of an <br>
&gt; &gt; implementation issue, the simple fact that a piece of static
memory can <br>
&gt; &gt; be declared differently from one run to another, from one image
to <br>
&gt; &gt; another, is quite appalling. &nbsp;<br>
&gt; <br>
&gt; Do you also find it appalling that a user can specify bounds for a
<br>
&gt; noncoarray explicit-shape dummy argument that are different from the
<br>
&gt; bounds of the corresponding actual argument? &nbsp;</font></tt>
<br>
<br>
<br><tt><font size=2>No, because a dummy arguments meant to be flexible.
&nbsp;I'll find it appalling if a dummy is allowed to have a SAVE attribute.</font></tt>
<br>
<br>
<br>
<br><tt><font size=2>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;This does not seem like a <br>
&gt; new concept in Fortran.<br>
</font></tt>
<br>
<br>
<br><tt><font size=2>An adjustable variable with SAVE attribute is new
in Fortran.</font></tt>
<br>
<br>
<br>
<br><tt><font size=2>&gt; &gt; &nbsp;This blows away the symmetrical attribute
(or simplicity) I've always <br>
&gt; &gt; associated with coarrays. &nbsp;<br>
&gt; <br>
&gt; But the memory image IS symmetric. &nbsp;This is the key.<br>
</font></tt>
<br>
<br><tt><font size=2>The coshape part is NOT symmetric, that is also a
key.</font></tt>
<br>
<br>
<br><tt><font size=2>&gt; All in a sudden UPC seems not a bad language<br>
&gt; &gt; at all since the asymmetrical nature of a shared array can be
better <br>
&gt; &gt; regulated than this. &nbsp;If cobounds provide nothing more than
a shrewd way <br>
&gt; &gt; to compute image index, then what is the point to have cobounds
and <br>
&gt; &gt; corank? &nbsp;It may make things much easier if corank has to
be 1 and <br>
&gt; &gt; colbound must be 1. &nbsp;Maybe we should stay with MPI after
all.<br>
&gt; <br>
&gt; The basic concept of coarrays is the extension of Fortran's array
<br>
&gt; concepts to the image space. Restricting the corank to 1 is incompatible
<br>
&gt; with this foundational characteristic.<br>
</font></tt>
<br>
<br>
<br><tt><font size=2>There are almost no longer any analogies can be drawn
between arrays and coarrays, not much beyond syntax. &nbsp;Can you allow
an adjustable array to have SAVE attribute like the following?</font></tt>
<br><tt><font size=2>subroutine foo (n)</font></tt>
<br><tt><font size=2>&nbsp; &nbsp; &nbsp;INTEGER, SAVE :: X(N)</font></tt>
<br>
<br>
<br>
<br><tt><font size=2>&gt; I'm guessing you have not written code that uses
coarrays to represent a <br>
&gt; distributed array across a 2- or 3-dimensional grid. Coarrays with
<br>
&gt; corank &gt; 1 are enormously useful for program clarity and maintainability
<br>
&gt; &nbsp; in cases like this, and this is a pretty common case. This
is a big <br>
&gt; advantage we have over UPC and MPI. &nbsp;There are others as well,
of course.<br>
</font></tt>
<br>
<br><tt><font size=2>No, I haven't written any real coarray programs --
where do I obtain a compiler for it? &nbsp;I bought the original argument
for supporting higher corank just for these reasons. &nbsp;Now the fact
that you can have adjustable cobounds starts to reverse my view on this
support. &nbsp;I cannot enthusiastically tell anyone that coarrays are
a good thing to use, at least not this part of the feature.</font></tt>
<br>
<br>
<br><tt><font size=2>Cheers,</font></tt>
<br>
<br>
<br><font size=2 face="sans-serif">Jim Xia<br>
<br>
XL Fortran Compiler Test<br>
IBM Toronto Lab at 8200 Warden Ave, Markham, On, L6G 1C7<br>
Phone (905) 413-3444 &nbsp;Tie-line 313-3444<br>
email: jimxia@ca.ibm.com<br>
D2/YF7/8200 /MKM<br>
<br>
</font><a href=http://www.ibm.com/software/awdtools/fortran/xlfortran><font size=2 face="sans-serif">http://www.ibm.com/software/awdtools/fortran/xlfortran</font></a>
<br>