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