Re: [AMBER] different results by sander and sander.MPI

From: Jason Swails <>
Date: Tue, 9 Jul 2013 08:38:40 -0400

Ross's analysis and description here is very good. I add here only a small

On Tue, Jul 9, 2013 at 1:51 AM, Ross Walker <> wrote:

> Even two runs in parallel
> on the same hardware can produce different results due to load balancing
> leading to different orders of operation.

Since sander.MPI employs static load balancing, 2 identical parallel runs
on the same hardware will produce identical results (I've verified this).
 With pmemd.MPI, the load is balanced dynamically, so the above analysis is

The primary issue with this divergence comes from the fact that fixed
floating-point precision is not associative. That is, a+(b+c) != (a+b)+c.
 This is why the 'order you add numbers' in scientific programs matters for
reproducibility of results. Wikipedia provides a helpful explanation as to
why this is the case:

Good luck,

Jason M. Swails
Quantum Theory Project,
University of Florida
Ph.D. Candidate
AMBER mailing list
Received on Tue Jul 09 2013 - 06:00:03 PDT
Custom Search