What GPU architecture is optimal for LAMMPS?

Hi all,

I’m planning to purchase a GPU workstation specifically for running LAMMPS on organic polymers (mostly single strands) in solvent environments. I have never used GPUs before, so I don’t know a lot about what the architecture should look like, e.g., whether to buy a machine with a single GPU vs. multiple GPUs vs. a mix of GPUs and CPUs. Are there any general recommendations for this, specifically with respect to what is best for LAMMPS?

Before looking at GPUs you need to look at your budget and through the LAMMPS manual, whether the (pair) styles you are using are actually GPU accelerated. There are different options and that may determine your choice of GPU. Also it depends a lot on what compute/fix styles you are running, e.g. to do on-the-fly analysis (most of those are not GPU accelerated).

For example, the KOKKOS package currently requires double precision throughout, which limits what GPUs are useful.

Another question is what kind of speedup you are expecting. For a similar amount of money that a couple of high-end GPUs cost, you may be able to have more CPU cores and achieve a similar overall performance for the same budget.

In terms of usability, Nvidia GPUs are the safest bet as they have the most mature drivers and the best debugged support in LAMMPS, but those worth getting are quite expensive and hard to come by these days, and the “Tesla” HPC cards are even more expensive.

If you are on a tight budget, you should also consider using the GPUs built into recent Intel CPUs (core generation 8 or later, but watch out for Xe GPUs, those only support single precision), which can be used with the NEO OpenCL runtime and the GPU package compiled in OpenCL mode. Those GPUs are effectively cost free. The acceleration potential is substantial particularly for lower grade CPUs (i3, i5).

Bottom line, there is no simple “get this, not that” kind of advice possible. The CPUs are much more powerful per-socket compared the time when GPUs became popular and pricing, availability, and driver compatibility make choices difficult.


Thanks, that’s already very helpful! :smiley: