[gmx-users] numerical reproducibility on Gromacs 2018.3 GPU

Mark Abraham mark.j.abraham at gmail.com
Mon Oct 22 14:35:00 CEST 2018


Hi,

On Mon, Oct 22, 2018 at 1:36 PM Hubert Santuz <hubert.santuz at gmail.com>
wrote:

> Hi,
>
> Thanks for your response and the link to the documentation. I missed that
> :)
> The non-deterministic order is due to the fact that the sum of the NB terms
> in GPU kernels is done "independently" and leads to a different order of
> the sum ? Am I reading correctly ?
>

Yes, the order in which contributions are accumulated is not reproducble.

Can we compare it, more or less, to the effect on the number of cores used
> on a CPU side ?
>

Sure, that's the same general issue.

Mark


> Hubert
>
>
> Le lun. 22 oct. 2018 à 11:33, Mark Abraham <mark.j.abraham at gmail.com> a
> écrit :
>
> > Hi,
> >
> > On Mon, Oct 22, 2018 at 11:11 AM Hubert Santuz <hubert.santuz at gmail.com>
> > wrote:
> >
> > > Hi everyone,
> > >
> > > I'm trying to get numerical identical results on a test system
> > (di-alanine
> > > in water) with Gromacs 2018.3 version with GPU. I'm doing 100 steps in
> > NVE.
> > >
> > > When I'm using GPU (gmx mdrun -nt 1 -nb gpu), I'm not getting exactly
> the
> > > same results when I launch 2 separated times the same system (same mdp,
> > > same gromacs version). The numerical values start to diverge at step
> > ~1-2.
> > >
> >
> > That is expected, and is by design. See
> >
> >
> http://manual.gromacs.org/documentation/current/user-guide/managing-simulations.html#reproducibility
> >
> >
> > > When I discard GPU (gmx mdrun -nt 1 -nb cpu), I can get the same
> exactly
> > > results when I launch 2 separated times.
> > >
> >
> > That case will work reproducibly, but in others you would want gmx mdrun
> > -reprod.
> >
> >
> > > I tried to play with verlet-buffer-tolerance = 0.00000005 or
> > > vdw-modifier/coulomb-modifier = None.
> > > I also tried the "-reprod" option in mdrun.
> > >
> > > Is this an expected behavior with GPU? I tried to search for
> > documentation
> > > about that without success.
> > > Can I achieve identical numerical results with GPU in the same way as
> > CPU?
> > >
> >
> > No. That code would be slow, for no known value to users. A reproducible
> > force reduction could help prove the absence of some kinds of bugs, but
> not
> > that the code is correct enough (which itself depends on the particular
> > purpose). Even if it was reproducible, you could rotate the input box by
> > whatever angle, and now the trajectory will be different. Which one is
> > correct? :-)
> >
> > Mark
> >
> >
> > > Thanks in advance,
> > > Hubert
> > > --
> > > Gromacs Users mailing list
> > >
> > > * Please search the archive at
> > > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> > > posting!
> > >
> > > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> > >
> > > * For (un)subscribe requests visit
> > > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> > > send a mail to gmx-users-request at gromacs.org.
> > >
> > --
> > Gromacs Users mailing list
> >
> > * Please search the archive at
> > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> > posting!
> >
> > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> >
> > * For (un)subscribe requests visit
> > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> > send a mail to gmx-users-request at gromacs.org.
> >
> --
> Gromacs Users mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> send a mail to gmx-users-request at gromacs.org.


More information about the gromacs.org_gmx-users mailing list