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

From: David A Case <>
Date: Tue, 9 Jul 2013 12:59:23 -0400

On Tue, Jul 09, 2013, Jason Swails wrote:

> Ross's analysis and description here is very good. I add here only a small
> nitpick. that I know we are supposed to nitpick:

> Since sander.MPI employs static load balancing, 2 identical parallel runs
> on the same hardware will produce identical results (I've verified this).

This should be true *if* (the number of threads is a power of two and and ineb.eq.0 and qmmm_nml%vsolv < 2) OR (you are using a
conservative implementation of MPI that specifies the order of operations in
an mpi_reduce call). But the MPI standard does not require determinism:

(This is just a top Google hit; there are many discussions of this on the

Most of the time, sander.MPI uses a hand-written b-tree reduction scheme that
perserves the order of operations. But be aware that for some inputs this
will not be the case (see the code in parallel.F90).


AMBER mailing list
Received on Tue Jul 09 2013 - 10:00:05 PDT
Custom Search