GROMACS 2023.3 release notes#
This version was released on October 19th, 2023. These release notes document the changes that have taken place in GROMACS since the previous 2023.2 version, to fix known issues. It also incorporates all fixes made in version 2022.6 and earlier, which you can find described in the Release notes.
Fixes where mdrun could behave incorrectly#
mdrun now prints an estimate of the pressure deviation due to cut-off effects#
Missing pair interactions due to using a constant pairlist over nstlist-1 steps cause a minor energy drift, but can in certain cases cause a measurable increase in pressure over the nstlist-1 steps due to missing Lennard-Jones interactions close to the cut-off. Now mdrun prints the average error in the pressure due to these missing LJ interactions.
The pressure deviation due to cut-off effects can now be controlled#
As a temporary solution, the effect of missing Lennard-Jones interactions on the pressure can be limited by setting the environment variable GMX_VERLET_BUFFER_PRESSURE_TOLERANCE to the desired tolerance in bar.
Enable AWH to read 3D or higher-dimension user data#
Mdrun could not start due to an error when reading in awh input data with dimensionality larger than two.
Allow restraining the rotation of a group of atoms during energy minimization#
Avoid a segfault when using energy minimization together with enforced rotation.
Fix missing force buffer clearing with GPU DD and CPU bonded interactions#
In simulations with domain decomposition using direct GPU communication for halo exchange (feature enabled with the GMX_ENABLE_DIRECT_GPU_COMM variable), a missing force buffer clearing prior to force halo exchange could lead to incorrect forces in cases where during a decomposition phase CPU-computed bonded interactions are not present whereas during the previous decomposition there were. Such errors are made significantly less likely by the lack of dynamic load balancing support with GPU-resident simulations that use GPU halo exchange.
Improve Verlet buffer estimation for systems with no or weak electrostatics#
For systems which are dominated by LJ interactions, e.g. coarse-grained, the Verlet buffer estimate could be too small, because only the first derivative of the potential was taken into account. Now also the second and third derivatives are added. This can have a minor negative effect on performance.
Update virtual site velocities to avoid constraint instabilities#
Virtual site velocities were only re-computed when writing velocities, but they are still integrated. This causes errors to accumulate. Now the velocities are updated at regular intervals in order to avoid (too) large velocities. This could cause runs to crash with a segmentation fault or domain decomposition error. Note that virtual site velocities are only used for output, they do not affect the positions.
Add workaround for OpenCL bug on AppleSilicon GPUs#
After a resource leak was fixed in 2023.2, the OpenCL became broken on M1 Macs (and likely other AppleSilicon GPUs).
Fix legends in AWH data XVG extracted from AWH energy file#
To avoid confusion, dimension legends, in the AWH data file XVG extracted from the AWH energy file
gmx awh, now start from the second dimension (the first column cannot have a legend).
Dimension legends have also been modified to awh-dim%d (where %d is the dimension number).
Correctly dump VSITE2FD virtual sites#
Systems with virtual site VSITE2FD (2 atoms with fixed distance) could previously
not be handled by
gmx dump. Note that this had no effect on simulation.
Fix DSSP tool#
Fixed handling of Pi-helices in
gmx dssp tool so now it produces output
identical to original DSSP v4.1+.
Fix editconf -d with -noc#
Unit cell vectors are now correctly output when running
gmx editconf -noc -d
which sets the box size to the largest dimensions of the system, but without
Fix calculation of rotational kinetic energy in gmx traj#
Computing the rotational kinetic energy using
gmx traj -ekr ekr.xvg
now returns correct results.
Fixes that affect portability#
GROMACS can be compiled with Clang 16 with libc++ standard library#
Unlike libstd++, libc++ follows C++ standards more strictly and therefore doesn’t provide removed standard library classes. To enable compiling of GROMACS with Clang 16 and libc++, legacy symbols were replaced with modern C++17 equivalents in the bundled clFFT sources. The issue only affected OpenCL builds of GROMACS.
GROMACS automatically finds oneAPI libraries in new layout#
MKL and SYCL-support libraries were reorganized in oneAPI 2023.2. Now GROMACS automatically finds the libraries it needs in both new and old layouts.
Fix compilation for VMD plugin#
This got broken with the changes for path handling.
Fixes Issue 4832
Unsupported anisotropic C-rescale rejected at preprocessing time#
This pressure coupling setting previously resulted in an error at simulation runtime instead.
Fixes Issue 4847
Fix velocity vector copying in constr_vsiten#
Fixed velocity vector copying in the function
because an energy minimization doesn’t need a velocity vector.
The fix avoids copying an empty vector and the corresponding SegFault.
Fixes Issue 4814
Work around the performance regression on AMD MI250X with ROCm 5.5 or newer#
With ROCm 5.5 and 5.6, some NBNXM kernels experienced up to 23% performance regression on MI250X compared to ROCm 5.3. We backported two patches from the 2024 branch that mostly mitigates this effect. There can still be a slowdown around 2% with ROCm 5.5+.