GROMACS 2018.3 release notes
This version was released on August 23, 2018. These release notes document the changes that have taken place in GROMACS since version 2018.2, to fix known issues. It also incorporates all fixes made in version 2016.5 and earlier, which you can find described in the Release notes.
Fixes where mdrun could behave incorrectly
Multi-domain GPU runs can no longer miss pair interactions
With systems with empty space in the unit cell, GPU runs with domain decomposition would not compute LJ and Coulomb interactions between domains when there we no interactions between domains on a rank at some point in time.
This bug only affects simulations running on GPUs with domain decomposition and containing empty regions of space that can lead to domains being empty.
Possible observations of this bug may have been seemingly random failures of calculations that where not reproducible when restarting a simulation from a checkpoint file, as the domain would then again be filled properly if interactions are present at the beginning.
It is unlikely that this bug will have unnoticed effects on all but very short simulations, as the missing interactions will inevitable lead to simulation instability and crashes.
If a simulation that crashed due to this bug is restarted it can contain a small region around the crash that will be unphysical due to some interactions not being calculated just before the crash itself.
This is a critical fix and users of 2018.x series that run on GPUs should update to this point release
Fix Conjugate Gradient assertion failure at end of minimization
When the final step coincided with a coordinate output step, conjugate gradient minimization would exit with an assertion failure instead of writing confout.gro.
Multi-domain Conjugate Gradient minimimization no longer segfaults.
Fix pairlist buffer with Brownian Dynamics
With Brownian Dynamics and bd-fric > 0, the Verlet pairlist buffer would be determined with incorrect masses for constrained atoms and virtual sites. This would lead to a too small buffer for typical atomistic systems with constraints.
Avoid “atom moved to far” errors
The introduction of the dual pair list has led to larger nstlist values, which leads to larger atom displacements between domain decomposition steps. This has made it more likely that the errors “An atom moved too far between two domain decomposition steps” and “N particles communicated to PME rank M are more than 2/3 times the cut-off out of the domain decomposition cell …” appear for stable systems. Now atom displacements are correctly taken into account when determining the minimum cell size, so these errors should only appear for unstable systems.
grompp now checks that pull groups are not close to half the box size
Pull groups that use a reference atom for periodic boundary treatment should have all their atoms well within half the box size of this reference. When this is not the case, grompp will issue a warning.
Fixed segmentation fault in mdrun with QM/MM ONIOM scheme
Correctly specified that PME on GPUs is only supported for dynamical integrators
Previously PME on GPU support could run (but fail) for energy minimization and normal-mode analysis runs.
Fixes for gmx tools
Fixed syntax error in make_gromos_rtp.py
Fix gmx solvate topology updating
Removed hard coded solvent names to allow updates to topology based on solvent molecule information. Also allows updating with multiple solvent types.
Fix bfactor output error caused by fix for Issue 2511
The fix for the PQR file output broke the output of bfactors from other tools.
Made sure that gmx rms can skip values
When requested to skip values, gmx rms would still output all values despite the option. Now it only outputs values that are requested to be processed.
Fix trjconv when not providing structure file
trjconv would fail with a segmentation violation when running without any structure file due to incomplete initialization of the topology data structure. This fix adds the missing checks that prevents the failure.
Fix enforced rotation energy output
Fixes to improve portability
Fix nvcc host compiler check triggering
Report up to date hwloc version information
Disable single compilation unit with CUDA 9.0
Avoid aborting mdrun when GPU sanity check detects errors
Improve OpenCL kernel performance on AMD Vega GPUs
The OpenCL kernel optimization flags did not explicitly turn off denorm handling which could lead to performance loss. The optimization is now explicitly turned on both for consistency with CUDA and performance reasons. On AMD Vega GPUs (with ROCm) kernel performance improves by up to 30%.