[gmx-users] energy drift - comparison of double and single precision

Mark Abraham mark.j.abraham at gmail.com
Sun Oct 13 12:21:39 CEST 2013


On Sat, Oct 12, 2013 at 11:07 PM, Guillaume Chevrot <
guillaume.chevrot at gmail.com> wrote:

> 2013/10/12 Mark Abraham <mark.j.abraham at gmail.com>
>
> > Didn't see any problem in the .mdp. -4500 kJ/mol in 10ns over (guessing)
> > 30K atoms is 0.015 kJ/mol/ns/atom. k_B T is at least 100 times larger
> than
> > that. I bet the rest of the lysozyme model physics is not accurate to
> less
> > than 1% ;-) There are some comparative numbers at
> > http://dx.doi.org/10.1016/j.cpc.2013.06.003 - the two systems are rather
> > different but they share the use of SETTLE.
> >
> >
> Do you suggest that SETTLE is the cause of the drift?
>

Seems likely to me, but I would certainly try to compare apples with apples
before reaching that conclusion!

 (note: If I did not mistaken, my drift would be 0.18 [k_B T / ns / atom],
> quite close of the figures shown in their figure 2.)
>

Your log file has 51000 atoms (most of which are presumably water), so
4500/10/51000 is 0.0088 kJ/mol/ns/atom.

 In their Figure 2, they show a drift for single and double precision, and
> it is not the case for my double precision simulation, so maybe SETTLE is
> no the cause of my trouble?


There are many differences in the simulations (you have protein, Fig 2 uses
2fs time steps, PME settings are different), so there is not yet any basis
for assigning the reason for differences in drift.



>
>
> > Note that using md-vv guarantees the 2007 paper is inapplicable, because
> > GROMACS did not have a velocity Verlet integrator back then. Sharing the
> >
>
> If I remember well, their demonstration was true whatever the integrator.
> Nevertheless, I also tested the leap-frog integrator, and I observe the
> same drift in energy.
> So maybe their explanation is still applicable.


The authors of that paper show Desmond's drift with RATTLE (an iterative
solver), not SETTLE (a constant-time analytical solver). Desmond's drift
with SETTLE would have been interesting to see. A cost/benefit analysis of
simulation wall-clock time vs errors in the simulation observables for the
different solvers would also be interesting.

Projecting the total drift from my estimate above back onto Fig 1 of their
paper is instructive ;-)


> > .log files might be informative.
> >
> >
> Here is the link where you can find the log file:
> http://dx.doi.org/10.6084/m9.figshare.821211


The compiler traveled on the Ark, and the binary was compiled for a machine
less capable than the SSE4.1 machine you ran it on. Perhaps the compiler is
correct (there are certainly known bugs in *later* gcc minor releases; get
the latest), but even if the compiler is correct, you will probably observe
things go faster if you fix those ;-)

Mark


>
> Thanks for your comments!
>
> Guillaume
>
>
>
> > Mark
> >
> >
> > On Fri, Oct 11, 2013 at 11:38 PM, Guillaume Chevrot <
> > guillaume.chevrot at gmail.com> wrote:
> >
> > > Hi,
> > >
> > > sorry for my last post! I re-write my e-mail (with some additional
> > > information) and I provide the links to my files ;-)
> > >
> > > I compared the total energy of 2 simulations:
> > > lysozyme in water / NVE ensemble / single precision / Gromacs 4.6.3
> > > lysozyme in water / NVE ensemble / double precision / Gromacs 4.6.3
> > >
> > > ... and what I found was quite ... disturbing (see the plots of the
> total
> > > energy: http://dx.doi.org/10.6084/m9.figshare.820153). I observe a
> > > constant
> > > drift in energy in the case of the single precision simulation.
> > >
> > > Did I do something wrong*? Any remarks are welcomed! Here is the link
> to
> > > the ‘mdout.mdp’ file (http://dx.doi.org/10.6084/m9.figshare.820154) so
> > you
> > > can check what mdp options I used.
> > >
> > > My second question is: if I did not do something wrong, what are the
> > > consequences on the simulation? Can I trust the results of single
> > precision
> > > simulations?
> > >
> > > Regards,
> > >
> > > Guillaume
> > >
> > > *PS: I am not the only one encountering this behavior. In the
> literature,
> > > this problem has already been mentioned:
> > > http://jcp.aip.org/resource/1/jcpsa6/v126/i4/p046101_s1
> > >
> > >
> > >
> > >
> > > 2013/10/11 Mark Abraham <mark.j.abraham at gmail.com>
> > >
> > > > On Oct 11, 2013 7:59 PM, "Guillaume Chevrot" <
> > > guillaume.chevrot at gmail.com>
> > > > wrote:
> > > > >
> > > > > Hi all,
> > > > >
> > > > > I recently compared the total energy of 2 simulations:
> > > > > lysozyme in water / NVE ensemble / single precision
> > > > > lysozyme in water / NVE ensemble / double precision
> > > > >
> > > > > ... and what I found was quite ... disturbing (see the attached
> > figure
> > > -
> > > > > plots of the total energy). I observe a constant drift in energy in
> > the
> > > > > case of the single precision simulation.
> > > > >
> > > > > Did I do something wrong*? Any remarks are welcomed! I join the
> > > > ‘mdout.mdp’
> > > > > file so you can check what mdp options I used.
> > > >
> > > > Maybe. Unfortunately we cannot configure the mailing list to allow
> > people
> > > > to send attachments to thousands of people, so you will need to do
> > > > something like provide links to files on a sharing service.
> > > >
> > > > >
> > > > > My second question is: if I did not do something wrong, what are
> the
> > > > > consequences on the simulation? Can I trust the results of single
> > > > precision
> > > > > simulations?
> > > >
> > > > Yes, as you have no doubt read in the papers published by the GROMACS
> > > team.
> > > >
> > > > > Regards,
> > > > >
> > > > > Guillaume
> > > > >
> > > > > *PS: I am not the only one encountering this behavior. In the
> > > literature,
> > > > > this problem has already been mentioned:
> > > > > http://jcp.aip.org/resource/1/jcpsa6/v126/i4/p046101_s1
> > > >
> > > > ... which is six years old, examining the properties of code seven
> > years
> > > > old. Life has moved on! :-) Even if you have found a problem, it is a
> > big
> > > > assumption that this is (still) the cause.
> > > >
> > > > Mark
> > > >
> > > > > --
> > > > > gmx-users mailing list    gmx-users at gromacs.org
> > > > > http://lists.gromacs.org/mailman/listinfo/gmx-users
> > > > > * Please search the archive at
> > > > http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
> > > > > * Please don't post (un)subscribe requests to the list. Use the
> > > > > www interface or send it to gmx-users-request at gromacs.org.
> > > > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> > > > --
> > > > gmx-users mailing list    gmx-users at gromacs.org
> > > > http://lists.gromacs.org/mailman/listinfo/gmx-users
> > > > * Please search the archive at
> > > > http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
> > > > * Please don't post (un)subscribe requests to the list. Use the
> > > > www interface or send it to gmx-users-request at gromacs.org.
> > > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> > > >
> > > --
> > > gmx-users mailing list    gmx-users at gromacs.org
> > > http://lists.gromacs.org/mailman/listinfo/gmx-users
> > > * Please search the archive at
> > > http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
> > > * Please don't post (un)subscribe requests to the list. Use the
> > > www interface or send it to gmx-users-request at gromacs.org.
> > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> > >
> > --
> > gmx-users mailing list    gmx-users at gromacs.org
> > http://lists.gromacs.org/mailman/listinfo/gmx-users
> > * Please search the archive at
> > http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
> > * Please don't post (un)subscribe requests to the list. Use the
> > www interface or send it to gmx-users-request at gromacs.org.
> > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> >
> --
> gmx-users mailing list    gmx-users at gromacs.org
> http://lists.gromacs.org/mailman/listinfo/gmx-users
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
> * Please don't post (un)subscribe requests to the list. Use the
> www interface or send it to gmx-users-request at gromacs.org.
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>



More information about the gromacs.org_gmx-users mailing list