[gmx-users] Supported features in Gromacs on GPU

Mark Abraham mark.j.abraham at gmail.com
Tue Jan 28 23:12:43 CET 2014

On Tue, Jan 28, 2014 at 10:26 PM, Andrew DeYoung <adeyoung at andrew.cmu.edu>wrote:

> Hi,
> It seems that Gromacs support for GPU began with OpenMM (which works with
> Gromacs 4.5).  But starting with Gromacs 4.6, GPU support was native.
> I am interested in which features are currently implemented for GPU.  (I
> know that, given the staggering amount of code and years and years of work
> that have gone into Gromacs, it is a huge task to implement a lot of
> features on GPU!)  The page below lists some features supported in the
> OpenMM GPU-enabled Gromacs (i.e., 4.5):
> http://www.gromacs.org/Documentation/Installation_Instructions_4.5/GROMACS-O
> penMM#Supported_features
> But this page refers specifically to the older implementation (i.e.,
> OpenMM).  My question is, have any of the features unsupported in the
> OpenMM
> been implemented in the native GPU implementation (i.e., 4.6)?  The
> following page describes the native GPU implementation in general, but I
> don't see specific references to features supported:
> http://www.gromacs.org/GPU_acceleration
> I am particularly interested in these features:
> (1) ability to compile in double precision

No - see archive for post from Szilard Pall on this topic, but in short the
combination of needing a high-end card for actual good performance and
significant developer work that wouldn't be used by the core team is a bit
of deal breaker.

> (2) leapfrog integration (i.e., integrator = md; in OpenMM, only velocity
> Verlet is available)
> (3) Nose-Hoover thermostat (in OpenMM, only Andersen is available)
> (4) Ewald sum with dipole correction (i.e., ewald-geometry = 3dc)

Yes - the needs of an OpenMM implementation made life awkward for most
algorithms, but those limitations are history because we are no longer
working with OpenMM.

> (5) free energy calculations

Berk has been working hard for the upcoming 5.0 release, which should fill
in most or all of the blanks here - patch is in Gerrit awaiting us
organizing some test cases. I don't actually do such calculations, but if
you want to see if your needs are or might be met, please try out the code
from https://gerrit.gromacs.org/#/c/2803/ right away!

Do you know if there have been any changes in support for any of (1)-(5)
> above between versions 4.5 and 4.6?

The only thing the 4.5 and 4.6 implementations have in common is running on
GPUs and being called GROMACS.

But, again, I know that the developers are working hard and that it must be
> an extreme amount of work to implement things on the GPU.  I'm not
> complaining!

Sure. But if you're in the position to see if a test calculation does
something that seems correct, this is exactly the feedback we need during
the lead up to a release!



More information about the gromacs.org_gmx-users mailing list