On Tue, Jul 09, 2013, Jason Swails wrote:
> Ross's analysis and description here is very good. I add here only a small
> nitpick.
OK...now 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
init.ne.3 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:
http://lists.mpich.org/pipermail/discuss/2012-November/000006.html
(This is just a top Google hit; there are many discussions of this on the
web.)
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).
...dac
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Tue Jul 09 2013 - 10:00:05 PDT