Thank you so much. I said it a problem because I was using the method in the
following paper to predict enzyme activity:
Wang, B.F. et al. Quantitative Structural Insight into Human Variegate
Porphyria Disease. JOURNAL OF BIOLOGICAL CHEMISTRY 288, 11731-11740 (2013).
It is a method based on geometry distribution statistics. I used pmemd
instead of sander used in the paper. And I found I cannot reproduce
prediction in two parallel simulations (for "parallel" I mean I run two
simulations in the same supercomputers in the same time, but they used
different CPUs of course).
I used to think that pmemd was just a faster version of sander in parallel
computation and the former can replace latter in any situation. It may be
caused by inaccurate understanding of the sentence in amber manual "For the
supported functionality, the input required and output produced (by pmemd)
are intended to exactly replicate sander 9 within the limits of roundoff
errors."
Thank you for letting me know the different mechanism of these two programs.
-----ÓʼþÔ¼þ-----
·¢¼þÈË: amber-bounces.ambermd.org [mailto:amber-bounces.ambermd.org] ´ú±í
Jason Swails
·¢ËÍʱ¼ä: 2014Äê5ÔÂ19ÈÕ ÐÇÆÚÒ» 20:49
ÊÕ¼þÈË: AMBER Mailing List
Ö÷Ìâ: Re: [AMBER] About the reproducibility of pmemd
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
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Tue May 20 2014 - 06:00:03 PDT