[petsc-users] Big discrepancy between machines

Matthew Knepley knepley at gmail.com
Mon Dec 14 01:20:43 CST 2015

On Mon, Dec 14, 2015 at 1:09 AM, Timothée Nicolas <
timothee.nicolas at gmail.com> wrote:

> Hi,
> I have noticed I have a VERY big difference in behaviour between two
> machines in my problem, solved with SNES. I can't explain it, because I
> have tested my operators which give the same result. I also checked that
> the vectors fed to the SNES are the same. The problem happens only with my
> shell preconditioner. When I don't use it, and simply solve using -snes_mf,
> I don't see anymore than the usual 3-4 changing digits at the end of the
> residuals. However, when I use my pcshell, the results are completely
> different between the two machines.

I don't think its possible from this info to tell exactly what is
happening. However, if your shell preconditioner had a null space, you
could imagine
that you initially have a consistent approximation, but on one machine you
get a perturbation in the null direction which never goes away. I have
no other ideas.


> I have attached output_SuperComputer.txt and output_DesktopComputer.txt,
> which correspond to the output from the exact same code and options (and of
> course same input data file !). More precisely
> output_SuperComputer.txt : output on a supercomputer called Helios, sorry
> I don't know the exact specs.
> In this case, the SNES norms are reduced successively:
> 0 SNES Function norm 4.867111712420e-03
> 1 SNES Function norm 5.632325929998e-08
> 2 SNES Function norm 7.427800084502e-15
> output_DesktopComputer.txt : output on a Mac OS X Yosemite 3.4 GHz Intel
> Core i5 16GB 1600 MHz DDr3. (the same happens on an other laptop with Mac
> OS X Mavericks).
> In this case, I obtain the following for the SNES norms,
> while in the other, I obtain
> 0 SNES Function norm 4.867111713544e-03
> 1 SNES Function norm 1.560094052222e-03
> 2 SNES Function norm 1.552118650943e-03
> 3 SNES Function norm 1.552106297094e-03
> 4 SNES Function norm 1.552106277949e-03
> which I can't explain, because otherwise the KSP residual (with the same
> operator, which I checked) behave well.
> As you can see, the first time the preconditioner is applied (DB_, DP_,
> Drho_ and PS_ solves), the two outputs coincide (except for the few last
> digits, up to 9 actually, which is more than I would expect), and
> everything starts to diverge at the first print of the main KSP (the one
> stemming from the SNES) residual norms.
> Do you have an idea what may cause such a strange behaviour ?
> Best
> Timothee

What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20151214/2ab7a22d/attachment.html>

More information about the petsc-users mailing list