<div dir="ltr">Kentaro<div><br></div><div style>Thanks for rewriting the code in Fortran 90! The Fortran 77 parts of the Einstein Toolkit should slowly be converted to Fortran 90 anyway.</div><div style><br></div><div style>
I notice that you made several changes to the code when converting:</div><div style>(1) You introduce a local array var, which is a copy of the input variable</div><div style>(2) You rewrote the do loops with array expressions</div>
<div style><br></div><div style>Both are not good for performance. The former is certainly slowing things down, the second complicates an OpenMP parallelisation and makes the code more difficult to read. I am therefore hesitant to apply these. Did you try making only one of these changes, to see whether this would suffice?</div>
<div style><br></div><div style>The document to which you pointed contains also the suggestion to use the option -fp-model-precise. Did you try this?</div><div style><br></div><div style>As a side remark, in Fortran 90 you can also use a select case statement instead of if statements to choose the dissipation order.</div>
<div style><br></div><div style>-erik</div><div style><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Mar 4, 2013 at 4:35 PM, Kentaro Takami <span dir="ltr">&lt;<a href="mailto:kentaro.takami@aei.mpg.de" target="_blank">kentaro.takami@aei.mpg.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
Finally, I concluded that the comment<br>
( <a href="http://software.intel.com/sites/default/files/article/164389/fp-consistency-102511.pdf" target="_blank">http://software.intel.com/sites/default/files/article/164389/fp-consistency-102511.pdf</a><br>
)<br>
which Ian suggested, is right, that is,<br>
&quot;the random results is caused by variations in the starting address<br>
and alignment of the global stack&quot;.<br>
<br>
So, in order to avoid this problems, I rewrote from &quot;apply_dissipation.F77&quot;<br>
to &quot;apply_dissipation.F90&quot; using Fortran 90 style. (I&#39;m attaching the<br>
modified files.)<br>
Then, we can avoid random results at least my test environments.<br>
<br>
If you don&#39;t have any objection, could you commit these change to repository?<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
Kentaro TAKAMI<br>
</font></span><br>_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@einsteintoolkit.org">Users@einsteintoolkit.org</a><br>
<a href="http://lists.einsteintoolkit.org/mailman/listinfo/users" target="_blank">http://lists.einsteintoolkit.org/mailman/listinfo/users</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Erik Schnetter &lt;<a href="mailto:schnetter@cct.lsu.edu" target="_blank">schnetter@cct.lsu.edu</a>&gt;<br><a href="http://www.perimeterinstitute.ca/personal/eschnetter/" target="_blank">http://www.perimeterinstitute.ca/personal/eschnetter/</a>
</div>