Re: [AMBER] About difference between Sander and Pmemd

From: Robert Duke <rduke.email.unc.edu>
Date: Fri, 17 Jun 2011 09:16:11 -0700

Hi Jason,
Just a clarification. The simulations done in parallel mostly diverge due
to "network indeterminacy". They may also lose precision due to roundoff
error a bit more rapidly than expected because there is less opportunity to
exploit guard digits (extended precision) in the cpu in various
calculations. As to what "network indeterminacy" really is, it just means
that given multiple processors exchanging data asynchronously over the net,
you cannot predict which processors will complete communications first, due
to a variety of factors including randomness of other tasks in the operating
systems as well as hardware-associated unpredictability. All this junk just
means that unless you make an explicit effort to order your additions, you
will add things (like force) in different order, and that will cause
different roundoff error. We COULD force the additions in a particular
order, but then we would not be able to take advantage of aynchronous
communications, which is at the core of pmemd speedup. You are absolutely
correct in mentioning loadbalancing too - the splitup of the workload is
unpredictable, depending on small variations in the responsiveness of given
processors, which may source from other things scheduled by the OS (not
other applications per se, which will really dink up a parallel run -
different processes running at the systems level), but also is dependent on
interconnect issues, and different splitups of workload of course affect
order of additions. Interestingly, the biggest source of sensitivity to all
of this appears to be the use of the spline approximations to compute the
erf function in pme. I suspect the rounding error noise is quickly
multiplied by the spline approximation, which while very accurate, - down
around 10**-10 or 10**-11 (working from memory here again, kindly allow an
order of magnitude error), is still a much large source of error than the
rounding error. I think my spline approx algorithms have lower error than
the default sander pme implementation (another source of divergence though,
where they are used), and interestingly, things like smooth cutoffs are even
less sensitive (so in parallel runs you will achieve a higher number of
initial steps without apparent divergence in the mdout). All this really
doesn't matter though; the actual errors in the calculations swamp any of
these issues.
Regards - Bob Duke

----- Original Message -----
From: "Jason Swails" <jason.swails.gmail.com>
To: "AMBER Mailing List" <amber.ambermd.org>
Sent: Thursday, June 16, 2011 11:48 PM
Subject: Re: [AMBER] About difference between Sander and Pmemd


> On Thu, Jun 16, 2011 at 7:24 PM, Bin Wu <wubin2002.gmail.com> wrote:
>
>> Thank you very much for your reply.
>>
>> I am pretty sure that my simulation results obtained from Sander and
>> Pmemd
>> are different. The evident difference would be the bond breaking
>> phenomena
>> in Pmemd which are absent in the case of Sander.
>>
>
> Bonds can't *really* break. They can _appear_ to break due to some
> visualization artifacts (see Bob's discussion regarding wrapping, etc.),
> but
> they can't actually break. Since there can be such a large discrepancy
> between what is actually happening and what appears to be happening, we'd
> need more than just a description of what is (or simply appears to be)
> happening.
>
> Also, you can never compare 2 long simulations (even 2 long pmemd
> simulations with the same random seed and starting points) due to the
> dynamic load balancing that will cause simulations to diverge. The best
> you
> can do is compare ensemble properties, and check to make sure that these
> are
> consistent.
>
> HTH,
> Jason
>
>
>> As for the previously mentioned "Permission denied" while I launched
>> "make
>> test.pmemd", I figured out the problem was that the test script was not
>> set
>> as executable. After I enabled them as executables, the test process went
>> on
>> without any trouble. And I looked into the test cases showing "Possible
>> failure", there are only very subtle differences between the simulation
>> results got from my machine and the references, which make me believe
>> they
>> are just rounding errors.
>>
>> I am very confused. Since my installation could pass those test, does not
>> that mean I install pmemd correctly? And if that is true, why my
>> simulation
>> results from Sander and Pmemd are so different?
>>
>> I would be very grateful if someone can help me with this issue.
>>
>> Thank you very much for your attention.
>>
>> Best Regards!
>>
>> Bin
>>
>>
>> 2011/6/16 David A Case <case.biomaps.rutgers.edu>
>>
>> > On Wed, Jun 15, 2011, Bin Wu wrote:
>> > >
>> > >
>> > > Therefore, I wonder simulation results from Pmemd and Sander are
>> supposed
>> > to
>> > > be different
>> >
>> > Sander and pmemd should give identical results; indeed, the test cases
>> for
>> > pmemd are the same as those for sander, just running a different
>> > executable.
>> > But be sure to read section 1.3.4 of the Users' Manual, which discusses
>> > numerical differences between programs.
>> >
>> > Check your visualization to be sure there is not some imaging problem.
>> Of
>> > course, it is also possible that you have uncovered some bug. Check
>> > the
>> > coordinates of atoms that should be bonded to be sure they have indeed
>> > separated.
>> >
>> > > or I compiled Pmemd wrong, because the process of Pmemd
>> > > installation is not smooth at all.
>> >
>> > Details would help. Compiling pmemd is supposed to be completely
>> > smooth
>> > (always is for me). But there are an enormous number of combinations
>> > of
>> > compilers and operating systems, so we need to know details of what
>> > went
>> > wrong.
>> >
>> >
>> > >
>> > > export TESTsander='../../../../exe/pmemd'; cd chamber/md_engine/dhfr
>> > > &&
>> > > ./Run.dhfr_charmm.min
>> > > /bin/sh: ./Run.dhfr_charmm.min: Permission denied
>> > > make: *** [test.pmemd] Error 126
>> >
>> > This is odd, and I do not recall seeing such a message before. Check
>> > the
>> > permissions on the file involved: is it indeed executable? What
>> > happens
>> if
>> > you try to execute that script by hand?
>> >
>> > ....dac
>> >
>> >
>> > _______________________________________________
>> > 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
>>
>
>
>
> --
> 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
>
>


_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Fri Jun 17 2011 - 09:30:06 PDT
Custom Search