Known issues affecting users of GROMACS

Here is a non-exhaustive list of issues that are we are aware of that are affecting regular users of GROMACS.

Unable to compile with CUDA 11.3

Due to a bug in the nvcc compiler, it is currently not possible to compile NVIDIA GPU-enabled GROMACS with version 11.3 of the CUDA compiler. We recommend using CUDA 11.4 or newer.

Issue 4037

SYCL build unstable when using oneAPI with LevelZero backend

There are multiple issues with different versions of Intel oneAPI when using the LevelZero backend.

In many cases, it works fine, and if it fails, it does so explicitly (either crash or hang), so it should be fine to experiment with.

For most cases, we recommend using the OpenCL backend (the default) when running SYCL build of GROMACS on Intel GPUs.

Issue 4219

Issue 4354

Unable to build with CUDA 11.5-11.6 and GCC 11 on Ubuntu 22.04

A bug in the nvcc toolchain, versions 11.5.0-11.6.1, makes it impossible to build recent GROMACS with GCC 11.2 shipped with Ubuntu 22.04. We recommend the users to either use an different version of GCC (at the time of writing 9.x or 10.x have been reported to work), or manually update the nvcc toolchain to version 11.6.2 or newer.

Some non-Ubuntu installations of GCC 11.2 library have been observed to work fine.

When an incompatible combination is used, an error will be raised from CMake or later during build.

Issue 4574

FFT errors with NVIDIA RTX 40xx-series GPUs and CUDA 11.7 or earlier

cuFFT library only has full support for RTX 40xx GPUs since version 11.8. If you are using older CUDA, you might encounter cufftPlanMany R2C plan failure error when running a simulation with PME on such a GPU. To resolve, upgrade to CUDA 11.8 or 12.x.

Issue 4759

“Cannot find a working standard library” error with ROCm Clang

Some Clang installations don’t contain a compatible C++ standard library. In such cases, you might have to install g++ and help CMake find it by setting -DGMX_GPLUSGPLUS_PATH=/path/to/bin/g++.

On Ubuntu 22.04, installing GCC 12 standard library (with sudo apt install libstdc++-12-dev) usually works well even without setting -DGMX_GPLUSGPLUS_PATH.

Issue 4679

Expanded ensemble does not checkpoint correctly

In the legacy simulator, because of shortcomings in the implementation, successful expanded-ensemble MC steps that occured on checkpoint steps were not recorded in the checkpoint. If that checkpoint was used for a restart, then it would not necessarily behave correctly and reproducibly afterwards. So checkpointing of expanded-ensemble simulations is disabled for the legacy simulator.

Checkpointing of expanded ensemble in the modular simulator works correctly.

To work around the issue, either avoid -update gpu (so that it uses the modular simulator path which does not have the bug), or use an older version of GROMACS (which does do the buggy checkpointing), or refrain from restarting from checkpoints in the affected case.

Issue 4629

Compiling with GCC 12 on POWER9 architectures

There are multiple failing unit tests after compilation with GCC 12.2 and 12.3 on POWER9 architectures. It is possible that other GCC 12 and newer versions are affected.

Issue 4823

Launching multiple instances of GROMACS on the same machine with AMD GPUs

When GROMACS is built with AdaptiveCpp 23.10 or earlier for AMD GPUs, launching more than 4 instances of GROMACS (even on different GPUs) can lead to reduced performance.

The issue is completely avoided when each process is limited to a single GPU using ROCR_VISIBLE_DEVICES environment variable. This is already the recommended setting on some of the relevant supercomputers.

Building with AdaptiveCpp 24.02 also prevents the problem from arising.

Issue 4965