[gmx-users] Re: Possible bug: energy changes with the number of nodes for energy minimization

Justin A. Lemkul jalemkul at vt.edu
Wed May 30 13:51:02 CEST 2012

On 5/30/12 7:42 AM, Stephen Cox wrote:
> Hi Justin,
> Thanks for getting back and posting the links.
>     On 5/29/12 6:22 AM, Stephen Cox wrote:
>      > Hi,
>      >
>      > I'm running a number of energy minimizations on a clathrate supercell and
>     I get
>      > quite significantly different values for the total energy depending on the
>      > number of mpi processes / number of threads I use. More specifically, some
>      > numbers I get are:
>      >
>      > #cores      energy
>      > 1        -2.41936409202696e+04
>      > 2        -2.43726425776809e+04
>      > 3        -2.45516442350804e+04
>      > 4        -2.47003944216983e+04
>      >
>      > #threads    energy
>      > 1        -2.41936409202696e+04
>      > 2        -2.43726425776792e+04
>      > 3        -2.45516442350804e+04
>      > 4        -2.47306458924815e+04
>      >
>      >
>      > I'd expect some numerical noise, but these differences seem to0 large for
>     that.
>     The difference is only 2%, which by MD standards, is quite good, I'd say ;)
>     Consider the discussion here:
> I agree for MD this wouldn't be too bad, but I'd expect energy minimization to
> get very close to the same local minimum from a given starting configuration.
> The thing is I want to compute a binding curve for my clathrate and compare to
> DFT values for the binding energy (amongst other things), and the difference in
> energy between different number of cores is rather significant for this purpose.

I think the real issue comes down to how you're going to calculate binding 
energy.  I would still expect that with sufficient MD sampling, the differences 
should be small or statistically insignificant given the nature of MD 
calculations.  EM will likely be very sensitive to the nature of how it is run 
(MPI vs. serial, etc) since even the tiny rounding errors and other factors 
described below will cause changes in how the EM algorithm proceeds.  For most 
purposes, such differences are irrelevant as EM is only a preparatory step for 
more intense calculations.

> Furthermore, if I only calculate the energy for nsteps = 0 (i.e. a single point
> energy for identical structures) I get the same trend as above (both mpi/openmp
> with domain/particle decomposition). Surely there shouldn't be such a large
> difference in energy for a single point calculation?

That depends.  Are you using the same .mdp file, just setting "nsteps = 0"?  If 
so, that's not a good test.  EM algorithms will make a change at step 0, the 
magnitude of which will again reflect the differences you're seeing.  If you use 
the md integrator with a zero-step evaluation, that's a better test.



Justin A. Lemkul, Ph.D.
Research Scientist
Department of Biochemistry
Virginia Tech
Blacksburg, VA
jalemkul[at]vt.edu | (540) 231-9080


More information about the gromacs.org_gmx-users mailing list