<div dir="ltr">I am suspicious that he gets the exact same answer with a debug build.<div><br></div><div>You might try -O2 (and -O1, and -O0, which should be the same as your debug build).</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 17, 2019 at 2:21 PM Emmanuel Ayala via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>OK, thanks for the clarification! :D<br></div><div><br></div><div>Regards.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El mar., 17 de sep. de 2019 a la(s) 13:16, Smith, Barry F. (<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
  In parallel the order of operations will always change with different number of processes; even with the same number the orders will be changed based on order of arrival of data from other processes; so identical runs can produce different results.<br>
<br>
   Barry<br>
<br>
<br>
> On Sep 17, 2019, at 12:17 PM, Emmanuel Ayala <<a href="mailto:juaneah@gmail.com" target="_blank">juaneah@gmail.com</a>> wrote:<br>
> <br>
> Hi, thanks for the quick reply.<br>
> <br>
> <br>
> El lun., 16 de sep. de 2019 a la(s) 23:40, Smith, Barry F. (<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>) escribió:<br>
> <br>
>   What do you mean by 2.0e-4 units ?   If you mean the last 4 digits may differ in the two solutions,<br>
> <br>
> yes, that is the meaning<br>
> <br>
> yes that is completely normal. How many digits you lose depends on the order of the operations  and the condition number of the matrix and and for elasticity that will very easily be  greater than 10^4<br>
> <br>
> OK. I understand that two solution can produce slightly different results. So,  I guess, the optimized mode produce slightly different results because internally something change (order of some operations, maybe) when the number of process change?.<br>
> <br>
>   Barry<br>
> <br>
> From: <a href="https://pdfs.semanticscholar.org/dccf/d6daa35fc9d585de1f927c58cc29c4cd0bab.pdf" rel="noreferrer" target="_blank">https://pdfs.semanticscholar.org/dccf/d6daa35fc9d585de1f927c58cc29c4cd0bab.pdf</a><br>
> <br>
> We conclude this section by noting the need for care in interpreting the forward error. Experiments in [24] show that simply changing the order of evaluation of an inner product in the substitution algorithm for solution of a triangular system can change the forward error in the computed solution by orders of magnitude. This means, for example, that it is dangerous to compare different codes or algorithms solely in terms of observed forward errors.<br>
> <br>
> Thank you very much!<br>
> Best regards.<br>
> <br>
> > On Sep 16, 2019, at 11:13 PM, Emmanuel Ayala via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>> wrote:<br>
> > <br>
> > Hi everyone,<br>
> > <br>
> > I have a code for elastic linear analysis which involves DMDA, SuperLu and matrix operations. I have a MPI vector which contains the nodal displacements, when I run the code in debug mode i get the same value for the norm (2 or Inf), for different number of process. But when I use the optimized mode, I have small variations for the same norm depending on the number of process.<br>
> > <br>
> > -Debug mode: the same norm value for any number of processes.<br>
> > -Optimized mode: the norm value changes with the number of processes. The variations are around 2.0e-4 units.<br>
> > <br>
> >  This is normal?<br>
> > <br>
> > For my optimized mode I used the next configuration<br>
> > <br>
> > ./configure --with-debugging=0 COPTFLAGS='-O3 -march=native -mtune=native' CXXOPTFLAGS='-O3 -march=native -mtune=native' FOPTFLAGS='-O3 -march=native -mtune=native' --download-mpich --download-superlu_dist --download-metis --download-parmetis --download-cmake --download-fblaslapack=1 --with-cxx-dialect=C++11<br>
> > <br>
> > Best regards.<br>
> <br>
<br>
</blockquote></div>
</blockquote></div>