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

From: Jason Swails <jason.swails.gmail.com>
Date: Tue, 9 Jul 2013 08:38:40 -0400

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

On Tue, Jul 9, 2013 at 1:51 AM, Ross Walker <ross.rosswalker.co.uk> 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
correct.

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:
http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems

Good luck,
Jason

-- 
Jason M. Swails
Quantum Theory Project,
University of Florida
Ph.D. Candidate
352-392-4032
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Tue Jul 09 2013 - 06:00:03 PDT
Custom Search