Molecular dynamics software comparison

Hi All,

Have anyone experience in comparison of molecular dynamics programs on CUDA?
Some systems, such as Ascalaph or OpenMM declare very different results, but they compare the performance in very different conditions.

I avoid making such comparisons. Each GPU based MD out there right now (HOOMD, NAMD, Ascalaph, and OpenMM) optimizes for a different scenario and implements a different set of interactions. In principle, one could take them all to the least common denominator and just benchmark a Lennard-Jones liquid, but even that would be unfair to some degree. For instance, the current version of OpenMM is O(N^2) and optimized for systems of less than 5,000 particles. And the NAMD code carries so much extra baggage along with their particles for the all-atom force field that HOOMD would blow it away running just a simple LJ liquid.

Basically, you need to identify your particular MD model and see which of the GPU MD codes out there is best optimized for that case.
HOOMD: General-purpose, but primarily targeted at coarse-grained models
OpenMM: Tuned for very small molecules in an implicit solvent (currently)
NAMD: Tuned for the only thing that NAMD does: gigantic biomolecules, typically in explicit solvent
Ascalaph: I’m not sure what they optimize for… the only info they give is a benchmark of a SPC water model

I’ll drop a shameless plug here and add that of all of them, HOOMD is by far the most general purpose of the bunch and optimized for just about any case you can throw at it (small systems, large systems, dense systems, dilute systems, …). Perhaps the biggest drawback currently (especially if you want an all-atom force-field) is the lack of electrostatic forces. I say “currently” because HOOMD is under very active development right now and electrostatics will likely be implemented in a couple months.

I saw a presentation by one of the OpenMM developers last week. They now have a solution for O(N) MD which will be in the next preview release. That should open OpenMM up to work efficiently on a much wider variety of problems.

Thanks you.
I think that comparison is possible, in those circumstances in which you said - nonvalent interactions.
There are the most common problems in mol-dynamics. This is a dynamics of liquids and macromolecules in the force fields like AMBER/CHARMM/OPLS. The main problem is the calculation nonvalent interactions.

(Disclaimer: I work on OpenMM.)

Mr. Anderson is exactly right: there’s really no valid way to compare them. All the GPU based MD codes are still at a very early stage, and the overlap between them is too small to make a meaningful comparison. For example, HOOMD doesn’t support Coulomb interactions, since it’s targeted at coarse grained models that don’t use them, while OpenMM doesn’t have an option to not compute Coulomb interactions, since it’s targeted at atomic models that always use them.

Writing a full featured MD package is a big job, so you have to pick somewhere to start, and we’ve each picked a different starting point. With time as the different codes mature and become more complete, comparisons between them should become more meaningful.


I understand the situation.

Nevertheless, what happens if you remove the calculation of the Coulomb interactions from OpenMM?

If we talk about speed, it will speed up the program only a few percent, doesn’t it?

Thanks for discussion. In any case the comparison happens. Programs were compared on their scope and functionality.
What surprises me is the lack of interest in the mol-mechanics on CUDA. Talk about this topic can be only with software developers, but not with users.

Since this is a CUDA programming forum, you’re not likely to find many end users of molecular simulation software here. The OpenMM discussion forums at are a better place to find end users, if that’s what you’re looking for.


The HOOMD users mailing list can be found at

Thank you very much for the links. That’s exactly what I need.

I’d say rather that right now all MD packages are designed mainly for their own authors rather than common users ;) They have its own scientific purpose, design (e.g. Ascalaph doesn’t has interface options AT ALL) etc. So you should choose the package that fits your need. Lucky for you, if you have the choice from a few packages… E.g., our laboratory has purchased Ascalaph GPU for DNA-Ligand interaction investigations. We still are trying to convince them to make a few interface changes B) At least, some changes that we need are in TODO list already. Speed is not paramount in the case of scientific software, results relevance is much more important.

This is not surprising. The problem is that the “common user” keeps his address a secret. It would be very interesting to talk with him.