Gromacs performance on GPU

GROMACS version: 2022
GROMACS modification: Yes/No


I am checking the performance of my fresh Gromacs installation on a new PC. I have the newest Gromcas compiled (Linux Mint) using the basic scheme from the manual with added support for Nvidia GPU (CUDA, 11.60). CPU is AMD Ryzen 9 5950X (16 core, 32 threads) and 2XGPU NVIDIA GeForce RTX 3070 Ti.

My system is made of ~300k atoms, created with charmm-gui. According to my test, there is no point in using two GPUs for this system, so I am using only one with half of the CPU cores. The mdrun command that gives me the best performance so far looks like this:

gmx mdrun -v -deffnm systemA -pin on -pinoffset 0 -pinstride 1 -ntomp 16 -ntmpi 1 -nb gpu -pme gpu -bonded gpu -update gpu -gputasks 00
gmx mdrun -v -deffnm systemB -pin on -pinoffset 16 -pinstride 1 -ntomp 16 -ntmpi 1 -nb gpu -pme gpu -bonded gpu -update gpu -gputasks 11

I got about ~20 ns/day for each system. The key part is setting -update gpu, instead of cpu. However, this prohibits use of Nose-Hoover temp-coupling that is set by charmm-gui. The questions: is 20ns/day a decent result on this setup? Is using the -update gpu with all its consequences a standard if you want decent gpu performance? Are there any changes to my mdrun config that may be beneficial for performance?

I would suggest you switch to the v-rescale thermostat. Maybe playing with -nstlist could give you some slight improvements too.
Have a look at this thread:

1 Like