Re: [AMBER] pmemd issue

From: Jason Swails <>
Date: Mon, 21 Dec 2015 08:03:42 -0500

On Mon, Dec 21, 2015 at 5:04 AM, Mahmoud A. A. Ibrahim <> wrote:

> Dear Amber users
> Submitting the same job of pmemd on different nodes gives different
> results. Anyone can explain the reason behind this?
> ​

​This should only be true if you are using pmemd.MPI -- I believe that
pmemd (in serial) should always give identical results for the same random

The reason behind this is that pmemd uses dynamic load balancing, so the
order of operations can change from run to run when running pmemd.MPI on
multiple threads.

> ​
> For your information,
> ig value is the same in all output files, and the difference is not
> negligible. In case of sander, the same job gives the same results on all
> nodes.

​Sander uses static load balancing, so it is deterministic (since the order
of operations never changes).

> One more point, we know that the sander, pmemd and cuda codes are
> different. But in case if we want to get the same results by the three
> codes, what we should do?

​It is impossible to get numerically identical results for a long
trajectory (more than a few hundred femtoseconds or a few picoseconds) with
all 3 programs. In fact, it's generally impossible to get numerically
identical results with the SAME program compiled with different compilers,
or compiled with different levels of optimization, etc. This is simply the
nature of doing floating-point math on chaotic systems, and is a well-known
effect in molecular dynamics.


Jason M. Swails
Rutgers University
Postdoctoral Researcher
AMBER mailing list
Received on Mon Dec 21 2015 - 05:30:02 PST
Custom Search