<br><tt><font size=2>mpi3-fortran-bounces@lists.mpi-forum.org wrote on
05/28/2009 01:17:13 PM:<br>
<br>
> Besides the more formal methods mentioned by Aleks below, there is
a <br>
> common programming style approach to solve this problem: put the <br>
> variable extra in a module.  The compiler has to assume that
any <br>
> non-intrinsic procedure reference might access the module, and hence
<br>
> access or modify the variable.  This technique generally avoids
<br>
> performance hits  that might be associated with some others -</font></tt>
<br>
<br>
<br><tt><font size=2>Using module variables is a nice way to go.  But
I don't think that solves all the aliasing problems.</font></tt>
<br>
<br>
<br><tt><font size=2>>              
                     
                     
      in <br>
> particular, the VOLATILE attribute can shut down almost all optimization
<br>
> for a variable.<br>
</font></tt>
<br><tt><font size=2>Where did you get that idea from?  Does anything
associated (any kind of association) with this variable also inherit VOLATILE?
 I don't see VOLATILE being a viable solution.</font></tt>
<br>
<br>
<br><tt><font size=2>Also to Aleks:  We've discussed this TARGET attribute
for too long.  Let's agree to disagree :-).</font></tt>
<br>
<br><tt><font size=2>Cheers,</font></tt>
<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  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>