Re: Why is SHAKE not being used in typical NAMD simulations ?

From: Peter Freddolino (petefred_at_ks.uiuc.edu)
Date: Sat May 26 2007 - 11:10:34 CDT

Hi Gianluca,
this is almost certainly the cause; if you use 1/2/4 multiple
timestepping you should see results more in line with what Himanshu and
I have quoted.

When I talk about very large simulations, I mean those in the 500,000 to
2 million atom range; the problems I run into there are mostly with
equilibration, lead to detectable crashes if they occur. If you have
them, you'll know -- this isn't the insidious sort of error that, for
example, the pressure profile issues could be.

Peter

Gianluca Interlandi wrote:
> Oops, I missed the parameter nonbondedfreq=2, sorry. ok, that is what
> probably causes the speed up. Has anyone performed extensive benchmarks
> with/without SHAKE and with/without multistep and posted them online?
>
> Now I'm performing a benchmark with a 1/2/4 time step. Let's see what the
> outcome will be.
>
> Gianluca
>
> On Fri, 25 May 2007, Gianluca Interlandi wrote:
>
>
>> Hello Peter,
>>
>> You say only 15% speedup? I have just performed a benchmark on 32 CPUs of
>> NCSA SGI Altix. My system contains 96106 atoms. If I run it with a 2 fs
>> timestep and SHAKE it takes 3796.5 sec to perform 100 psec (i.e. 50'000
>> steps). If I turn off SHAKE and use a 1 fs timestep it takes 7382.5 sec to
>> perform 100 psec (i.e. 100'000 steps). Thus I do get a speedup of 94%
>> thanks to SHAKE and 2 fs timestep. What do I do differently than other
>> people who get only 15-25%?
>>
>> Some simulation details: in both benchmarks I used PME, langevin
>> temperature and pressure control, switchdist=10.0, cutoff=12.0,
>> pairlistdist=14.0, stepspercycle=10, fullElecFreq=1 (default). I did not
>> use a multistep (fullElecFreq=4) when SHAKE was off but I don't think that
>> this would make such a large difference.
>>
>> Or, does the scalability of SHAKE break down only with very large systems
>> and a very large number of CPUs?
>>
>> Another question: you say that you don't use SHAKE for very large
>> simulations. Can you please give an example of what very large could be?
>>
>> I apologize if I'm creating confusion. I use SHAKE a lot and thus I want
>> to better understand its pro/contra.
>>
>> Many thanks,
>>
>> Gianluca
>>
>> On Fri, 25 May 2007, Peter Freddolino wrote:
>>
>>
>>> Hi Himanshu,
>>>
>>> I think there are several reasons for this; some might be considered
>>> "good" and some not. First, I'd like to clarify something. A bit earlier
>>> you said
>>>
>>> I am hoping some of the developers will
>>> be able to tell us why SHAKE is not recommended in NAMD, while it is in
>>> other programs?
>>>
>>>
>>> The issue is not that SHAKE is not recommended in NAMD; it is just as
>>> advisable in NAMD as in any of the other common MD programs. Please
>>> note, also, that the NAMD "developers" and "users" are mostly disjoint
>>> sets; it isn't the developers deciding not to use SHAKE, but the users.
>>> The issue is just that people in that people in the NAMD community (and,
>>> in particular, the KS group) tend to be those that avoid using SHAKE for
>>> most applications. This is in large part due to lingering concerns about
>>> coupling of different frequency modes of motion (as pointed out by Ana)
>>> and pressure profile calculations (see, e.g., JCC 121:8611); this
>>> concern is particularly acute within the NAMD community because people
>>> tend to do large simulations, frequently containing membranes, and have
>>> not yet been adequately convinced that for these applications no
>>> pathologies with SHAKE will occur to make it worthwhile using SHAKE for
>>> a 15% speedup. SHAKE convergence can also be problematic when using very
>>> large systems in constant pressure simulations, which (again) is fairly
>>> common in the NAMD community. The speedup from SHAKE also gets less
>>> impressive as more processors are used.
>>>
>>> Some part of this difference is also due to institutional memory; I have
>>> no doubt that there are a lot of simulations done without rigid bonds
>>> even where they would be fine, because of the concerns highlighted
>>> above, and the fact that people in the NAMD community tend to put more
>>> stock in those concerns (even in cases where they may not be valid) and
>>> choose to err on the side of caution. I know for my own research, I'm
>>> using SHAKE in some simulations (particularly those involving long
>>> timescale exploration of relatively small systems) but not others (those
>>> where I have a membrane or other concerns about the pressure, or very
>>> large simulations).
>>>
>>> You're absolutely correct that SHAKE is quite widely used in
>>> biomolecular simulations, and is well tested for most of these
>>> applications. Whether or not SHAKE should be applied to any given
>>> simulation comes down to personal preference, and an evaluation of
>>> whether or not the specific places where it *could* in principle cause
>>> trouble are important to your case (preferably including some short
>>> simulations of your system with and without SHAKE). I know that people
>>> around here are starting to test and use SHAKE a bit more; I think the
>>> main reason it isn't used more widely is that the speed improvements
>>> aren't, say, on the order of 2x, and for a lot of systems SHAKE doesn't
>>> seem worth the risk (that some artifact might appear) or hassle (of
>>> running a comparison simulation). Please note that I'm not being
>>> cavalier about computing time: a 15% speedup seems much less worthwhile
>>> if it costs you 10% more simulation (without rigidbonds, for comparison
>>> purposes) or 100% of your simulation (if some sort of problem occurs).
>>>
>>> Peter
>>>
>>> Himanshu Khandelia wrote:
>>>
>>>> It is not entirely true that people shy away from SHAKE. All typical
>>>> biomolecular MD simulations use SHAKE very widely, except those
>>>> implemented in NAMD. So people do shy away from SHAKE, but only when using
>>>> NAMD.
>>>>
>>>> ----------------------------
>>>> Himanshu Khandelia, PhD
>>>> Research Assistant Professor (Postdoc)
>>>> MEMPHYS, Center for Membrane Physics: www.memphys.sdu.dk
>>>> University of Southern Denmark (SDU)
>>>> Odense M 5230, Denmark
>>>>
>>>> Phone: +4565503510
>>>> email: hkhandel_at_memphys.sdu.dk
>>>> WWW: www.memphys.sdu.dk/~hkhandel
>>>> -----------------------------
>>>>
>>>>
>>>>
>>>> On Thu, 24 May 2007, Ana Celia Araujo Vila Verde wrote:
>>>>
>>>>
>>>>
>>>>> Here's my two cents about this issue,
>>>>>
>>>>> There's a physical reason why people shy away from SHAKE, in particular
>>>>> when very interested in getting accurate dynamics: slow and fast
>>>>> vibrational modes "talk" to each other, and fast modes may influence
>>>>> slow modes. See Baysal, C., et al., Molecular dynamics analysis of
>>>>> coupling between librational motions and isomeric jumps in chain
>>>>> molecules. Macromolecules, 1996. 29(7): p. 2510-2514.
>>>>>
>>>>> Getting rid of fast modes by using SHAKE can thus have unexpected
>>>>> outcomes in a simulation. So, I'd be comfortable using SHAKE for
>>>>> Equilibration in most situations, but I'd evaluate carefully whether the
>>>>> 15-20% gains in simulation time are worth the extra uncertainty for
>>>>> actual runs. Normally, whether I use SHAKE or not depends on the
>>>>> problem I'm studying. If I do use SHAKE, I normally run a comparison
>>>>> simulation without it and compare the results to make sure no
>>>>> significant differences occur. Most of the time, however, I find the
>>>>> extra hassle of running that comparison simulation to be a big pain and
>>>>> not worth it for a 15% gain, so I just don't use SHAKE...
>>>>>
>>>>> I hope this helps,
>>>>>
>>>>> Ana
>>>>>
>>>>>
>>>>>
>>>>> _________________________________
>>>>> Ana CÚlia Ara˙jo Vila Verde
>>>>> Penn State University
>>>>> Department of Chemical Engineering
>>>>> Fenske Laboratory
>>>>> University Park, PA 16802
>>>>> USA
>>>>>
>>>>>
>>>>> Phone: +(1) (814) 863-2879
>>>>> Fax: +(1) (814) 865-7846
>>>>> avilaverde_at_engr.psu.edu
>>>>> http://www.che.psu.edu/Faculty/JMaranas/group/avv.html
>>>>> http://www.gfct.fisica.uminho.pt/Members/acvv
>>>>> _________________________________
>>>>>
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: owner-namd-l_at_ks.uiuc.edu [mailto:owner-namd-l_at_ks.uiuc.edu] On Behalf Of Himanshu Khandelia
>>>>> Sent: Thursday, May 24, 2007 9:47 AM
>>>>> To: Gianluca Interlandi
>>>>> Cc: namd-l_at_ks.uiuc.edu
>>>>> Subject: Re: namd-l: Why is SHAKE not being used in typical NAMD simulations ?
>>>>>
>>>>>
>>>>> Please note that this post is not about using multiple time stepping, and
>>>>> energy drifts. It is about SHAKE. I am hoping some of the developers will
>>>>> be able to tell us why SHAKE is not recommended in NAMD, while it is in
>>>>> other programs ?
>>>>>
>>>>> ----------------------------
>>>>> Himanshu Khandelia, PhD
>>>>> Research Assistant Professor (Postdoc)
>>>>> MEMPHYS, Center for Membrane Physics: www.memphys.sdu.dk University of Southern Denmark (SDU) Odense M 5230, Denmark
>>>>>
>>>>> Phone: +4565503510
>>>>> email: hkhandel_at_memphys.sdu.dk
>>>>> WWW: www.memphys.sdu.dk/~hkhandel
>>>>> -----------------------------
>>>>>
>>>>>
>>>>>
>>>>> On Wed, 23 May 2007, Gianluca Interlandi wrote:
>>>>>
>>>>>
>>>>>
>>>>>> There have been already discussions in the NAMD list about the use of
>>>>>> different timesteps. In particular, it seems that the use of a multi
>>>>>> stepping algorithm seems to cause an energy drift:
>>>>>>
>>>>>> http://www.ks.uiuc.edu/~sotomayo/private/answer.html
>>>>>>
>>>>>> http://www.ks.uiuc.edu/Research/namd/mailing_list/namd-l/5385.html
>>>>>>
>>>>>> Usually, the conservation of energy is used as a "quality control" for
>>>>>> the
>>>>>> algorithm and timestep used. Thus if you are concerned about whether the
>>>>>> chosen timestep is good or not the first thing to do would be to check
>>>>>> whether the energy and temperature are conserved.
>>>>>>
>>>>>> Gianluca
>>>>>>
>>>>>> On Wed, 23 May 2007, L. Michel Espinoza-Fonseca wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Note: I mentioned this thing about being reliable enough because
>>>>>>> others have told me that, so I just said what I was told by my
>>>>>>> colleagues, and it doesn't represent my own view :).
>>>>>>>
>>>>>>> 2007/5/23, Eric Cyr <ericcyr_at_uiuc.edu>:
>>>>>>>
>>>>>>>
>>>>>>>> What is meant by "not reliable enough"? I can think of a couple of
>>>>>>>> things this could mean.
>>>>>>>>
>>>>>>>> Eric
>>>>>>>>
>>>>>>>> On 5/23/07, L. Michel Espinoza-Fonseca <mef_at_ddt.biochem.umn.edu>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>> I myself have asked this question before. My answer (as before)
>>>>>>>>> is no idea. Perhaps some people think that SHAKE and MTS schemes
>>>>>>>>> are not reliable enough (at least this is what some colleagues
>>>>>>>>> have told me before).
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Michel
>>>>>>>>>
>>>>>>>>> 2007/5/23, Himanshu Khandelia <hkhandel_at_memphys.sdu.dk>:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Hello,
>>>>>>>>>>
>>>>>>>>>> Most NAMD papers describe a simulation timestep of 1 fs, no
>>>>>>>>>> shake, a nonbondedfreq of 2, and an fullelecfreq. of 4. This
>>>>>>>>>> is also what is recommended in most NAMD tutorials.
>>>>>>>>>>
>>>>>>>>>> However, use of a 2 fs timestep, a value of 1 for both the
>>>>>>>>>> nonbondedfreq and fullelecfreq results in 15-25 % faster
>>>>>>>>>> performance in my tests. I can provide more details of the
>>>>>>>>>> tests if desired, but surely these tests must
>>>>>>>>>> have already been performed.
>>>>>>>>>>
>>>>>>>>>> So why is SHAKE/RATTLE and a larger time step not being used
>>>>>>>>>> for most simulations?
>>>>>>>>>>
>>>>>>>>>> Thank you for the help,
>>>>>>>>>>
>>>>>>>>>> -Himanshu
>>>>>>>>>>
>>>>>>>>>> ----------------------------
>>>>>>>>>> Himanshu Khandelia, PhD
>>>>>>>>>> Research Assistant Professor (Postdoc)
>>>>>>>>>> MEMPHYS, Center for Membrane Physics: www.memphys.sdu.dk
>>>>>>>>>> University of Southern Denmark (SDU) Odense M 5230, Denmark
>>>>>>>>>>
>>>>>>>>>> Phone: +4565503510
>>>>>>>>>> email: hkhandel_at_memphys.sdu.dk
>>>>>>>>>> WWW: www.memphys.sdu.dk/~hkhandel
>>>>>>>>>> -----------------------------
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>> --
>>>>>>>> 4330 Siebel Center
>>>>>>>> 201 N. Goodwin Ave.
>>>>>>>> Urbana, IL 61801
>>>>>>>> http://www.cse.uiuc.edu/~ericcyr/
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>> -----------------------------------------------------
>>>>>> Dr. Gianluca Interlandi gianluca_at_u.washington.edu
>>>>>> +1 (206) 685 4435
>>>>>> +1 (206) 714 4303
>>>>>> http://biocroma.unizh.ch/gianluca/
>>>>>>
>>>>>> Postdoc at the Department of Bioengineering
>>>>>> at the University of Washington, Seattle WA U.S.A.
>>>>>> -----------------------------------------------------
>>>>>>
>>>>>>
>>>>>>
>> -----------------------------------------------------
>> Dr. Gianluca Interlandi gianluca_at_u.washington.edu
>> +1 (206) 685 4435
>> +1 (206) 714 4303
>> http://biocroma.unizh.ch/gianluca/
>>
>> Postdoc at the Department of Bioengineering
>> at the University of Washington, Seattle WA U.S.A.
>> -----------------------------------------------------
>>
>
> -----------------------------------------------------
> Dr. Gianluca Interlandi gianluca_at_u.washington.edu
> +1 (206) 685 4435
> +1 (206) 714 4303
> http://biocroma.unizh.ch/gianluca/
>
> Postdoc at the Department of Bioengineering
> at the University of Washington, Seattle WA U.S.A.
> -----------------------------------------------------

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:44:45 CST