Re: [AMBER] Compare the result between pmemd.cuda and pmemd.mpi?

From: Ross Walker <>
Date: Mon, 02 Dec 2013 10:42:49 -0800

Hi Xiaoquan

This is actually a very difficult question to answer. As I am sure you are
aware Newton's equations of motion are chaotic in nature which means any
two simulations started from extremely small differences (as one would see
from rounding issues) will always diverge. Thus comparison is actually
difficult. Naively one should run simulations on the CPU and GPU and
compare ensemble results - this works in principal but requires the
simulations to be fully converged which is actually very hard. We
attempted this in the papers we published on the GPU results.

Salomon-Ferrer, R., Goetz, A.W., Poole, D., Le Grand, S., Walker, R.C.,
"Routine microsecond molecular dynamics simulations with AMBER on GPUs. 2.
Explicit Solvent Particle Mesh Ewald", J. Chem. Theory Comput., 2013, in
press, DOI: 10.1021/ct400314y <>

Goetz, A.W., Williamson, M.J., Xu, D., Poole, D.,Grand, S.L., Walker, R.C.
"Routine microsecond molecular dynamics simulations with amber - part i:
Generalized born", Journal of Chemical Theory and Computation, 2012, 8
(5), pp 1542-1555, DOI:10.1021/ct200909j

I'd suggest taking a look at those in the first case. There we compared
RMSF's which come out within reasonable tolerances of each other but even
running 60+ runs for over 100ns each the RMSFs for a small protein are
still not converged. We also looked at various other properties, energy
conservation, force differences, phi/psi maps, predicted binding energies
etc. Thus I am fairly confident that our precision model is good, we've
not seen examples of it break yet (except for SPFP with minimization which
has issues if there are large initial forces).

I would suggest taking a small and simple system - say pure water - and
comparing densities, RDFs etc between the CPU and GPU runs.

In terms of checking if the GPU code is working properly you can check the
results of the test cases from the AMBER suite. You can also compile a
full double precision version of the GPU code and run that - for 100 steps
or so it should match the CPU code very closely (set netfrc=0 in the ewald
namelist for a direct comparison).

Hope that helps.

All the best

On 12/2/13 10:11 AM, "X Sun" <> wrote:

>Dear all,
>I am using pmemd to run MD simulation now both on GPU and CPU, depending
>on which are avaible on the HPC. My advisor asked me to compare the
>result of GPU and CPU to make sure the result of GPU is relable. The MD
>simulation is random, so comparing the result of MD simulation is
>pointless, is there any method for the comparision?
>X Sun
>AMBER mailing list

AMBER mailing list
Received on Mon Dec 02 2013 - 11:00:03 PST
Custom Search