Re: [AMBER] About the reproducibility of pmemd

From: Jason Swails <jason.swails.gmail.com>
Date: Mon, 19 May 2014 08:48:38 -0400

On May 19, 2014, at 8:01 AM, Val Yu <valyu.mail.nankai.edu.cn> wrote:

> I'm using Amber 9. I found that pmemd cannot reproduce orbit from the same
> initial conditions, while sander can. Have anyone found the same problem
> before?

Why do you say this is a problem? pmemd uses a dynamic load balancer, which means that the load balancing will not be the same between different executions of pmemd due to random fluctuations in CPU load caused by programs running in the background.

When there are multiple processors (i.e., you are using pmemd.MPI), this will lead to a (slightly) different division of work between the processors which in turn will adjust the order in which some terms are summed together. In computers, addition is not strictly associative with floating-point numbers, so this change in the order of operations in turn causes changes to the last digits of some of the quantities (like forces, velocities, etc.) that are computed. Because many-body physics problems are chaotic, even these tiny differences cause the trajectories to _eventually_ diverge.

sander, on the other hand, uses a static load balancer, so the order of operations never changes and program execution is deterministic. The loss of determinacy is a concession that was made to improve parallel scalability and performance in pmemd.

Hope this helps,
Jason

--
Jason M. Swails
BioMaPS,
Rutgers University
Postdoctoral Researcher
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Mon May 19 2014 - 06:00:04 PDT
Custom Search