AW: SHAKE Tolerance and Performance

From: Norman Geist (
Date: Fri Mar 02 2012 - 01:14:57 CST

Hi Aron,


I would the amber11 pmemd expect to be faster because more parts of the
computation are done on the GPU (likely all), while in NAMD only the
non-bonded interactions are computed there. So NAMD has to move data around
more often and needs to return to the cpu to do the rest. One can improve
that with doing the pme every 4fs only and set outputenergies to a higher
number, cause they need to be computed on cpu to be printed to screen. But
that harms energy conservation.


I have not yet tested the amber11 pmemd but acemd which is also very fast.
Both are expensive, so I’ll stay with NAMD and hope they will implement more
parts of the computation on the gpu. Also, ACEMD and pmemd are really
downgraded regarding the range of functions as pmemd can’t even fix atoms
and acemd is really new and does only contain the most needed functions.


Norman Geist.


Von: [] Im Auftrag
von Aron Broom
Gesendet: Donnerstag, 1. März 2012 18:29
An: Nicholas M Glykos
Betreff: Re: namd-l: SHAKE Tolerance and Performance


Hi Nicholas,

Thanks a lot for the reply. I did actually have useSettle on, but it turns
out the difference was something far less exciting, and much more
embarrassing. I had been quite careless in copy and pasting part of another
config file and had managed to comment out the PME section, which meant I
wasn't using periodic conditions or PME at all. Since I was only doing
short benchmarking simulations I never ended up looking at the actual
trajectories to catch this, and the barostat didn't complain about not
having periodic conditions (although they sure helped it run much faster).
So my whole message about SHAKE should be ignored, as checking it properly
gives me the same result that you saw, a very minor improvement.

Sadly though it also means that AMBER is back to running much faster on the
GPU with the same settings (~1.7x faster, and that's when taking advantage
of NAMD's multiple timestepping of 2fs, 2fs, 6fs, if you match AMBER's 2fs
for everything, AMBER ends up being ~3x faster, but maybe some of that comes
from differences in single vs. double precision). Oh well, quite depressing
really, but thanks again for the reply.


On Thu, Mar 1, 2012 at 4:16 AM, Nicholas M Glykos <>

Hi Aron,

> At some point, in playing around with something for a particular system, I
> discovered that in AMBER when one uses SHAKE and a 2fs timestep, you get
> pretty close to a 100% boost in performance. In NAMD, you generally get
> something in range of 15-30%, and since I'd been doing most of my work
> SHAKE, that seemed to explain the difference.

I believe that most people leave the default for 'useSettle' (which is on)
and, thus, use SETTLE for waters. The implication is that for most
applications the performance difference by changing the tolerance will be
much lower than the 70% you implied (I did a quick check with a node
equipped with a GTX295 card and the difference was only ~3% faster with a
tolerance of 1.0e-5).

My twocents,

           Nicholas M. Glykos, Department of Molecular Biology
    and Genetics, Democritus University of Thrace, University Campus,
 Dragana, 68100 Alexandroupolis, Greece, Tel/Fax (office) +302551030620
<tel:%2B302551030620> ,
   Ext.77620, Tel (lab) +302551030615 <tel:%2B302551030615> , <> 
Aron Broom M.Sc
PhD Student
Department of Chemistry
University of Waterloo

This archive was generated by hypermail 2.1.6 : Tue Dec 31 2013 - 23:21:43 CST