Release notes¶
This version was released on January 10, 2018. These release notes document the functionality changes in GROMACS 2018 that have taken place in GROMACS since version 2016.
Some bug fixes are mentioned here, but those fixed in 5.1 or 2016 branches are (or will be) documented there. If the same functionality is supported in both branches, bugs fixed on older branches can generally be assumed to be fixed in patch releases of subsequent major/minor versions. Where issue numbers are reported, more details can be found at https://redmine.gromacs.org at that issue number.
Highlights¶
Here’s some highlights of what you can expect, along with more detail in the links below!
As always, we’ve got several useful performance improvements, with or without GPUs, and all enabled and automated by default. We are extremely interested in your feedback on how well this worked on your simulations and hardware. They are:
- PME long-ranged interactions can now run on a single GPU, which means many fewer CPU cores are needed for good performance.
- Optimized SIMD support for recent CPU architectures: AMD Zen, Intel Skylake-X and Skylake Xeon-SP.
There are some new features available also:
- The AWH (Accelerated Weight Histogram) method is now supported, which is an adaptive biasing method used for overcoming free energy barriers and calculating free energies (see http://dx.doi.org/10.1063/1.4890371).
- A new dual-list dynamic-pruning algorithm for the short-ranged interactions, that uses an inner and outer list to permit a longer-lived outer list, while doing less work overall and making runs less sensitive to the choice of the “nslist” parameter.
- A physical validation suite is added, which runs a series of short simulations, to verify the expected statistical properties, e.g. of energy distributions between the simulations, as a sensitive test that the code correctly samples the expected ensemble.
- Conserved quantities are computed and reported for more integration schemes - now including all Berendsen and Parrinello-Rahman schemes.
Details¶
- New and improved features
- Added support for AWH biasing
- Dual pair-list buffer with dynamic pruning
- Added physical validation suite
- Added reporting of conserved quantities for coupling algorithms
- Added acceleration correction VCM mode
- Changed handling of
gmx mdrun
-gpu_id - Added log output for equivalent 1x1 pair-list setup
- New mdp input for electric fields
- EW3DC for non-neutral systems
- Reduce rounding errors in SETTLE
- Made
gmx mdrun -pforce
terminate with non-finite forces
- Performance improvements
- Implemented support for PME long-ranged interactions on GPUs
- Added more SIMD intrinsics support for PME spread and gather
- Added SIMD intrinsics version of simple update
- Add SIMD intrinsics version of Urey-Bradley angle kernel
- Use OpenMP up to 16 threads with AMD Ryzen when automating run setup
- 128-bit AVX2 SIMD for AMD Ryzen
- Choose faster nbnxn SIMD kernels on AMD Zen
- Enabled group-scheme SIMD with GMX_SIMD=AVX2_128
- Improved Ewald-style short-ranged interactions on Intel Skylake CPUs
- Detect AVX-512 FMA units to choose best SIMD
- Speed up nbnxn buffer clearing
- Tweaked conditional in the nonbonded GPU kernels
- Improvements to GROMACS tools
- Split off the NMR related analyses from
gmx energy
. - Added selection-enabled
gmx trajectory
- Decreased memory usage in
gmx traj
andgmx trjconv
- Made TNG writing work with multiple identical steps
- Improved frame time/step handling in
gmx trjconv
- Fixed
gmx trjconv
to always dump at correct time - Clarified
gmx editconf
help text - Added option -water tips3p to pdb2gmx.
- Removed incorrect comment for CHARMM tips3p
- Avoided
gmx grompp
charge warning from merely rounding error - Improved pdb2gmx for nonstandard residue types
- Allowed empty lines in hdb files
- Changed to no longer require matching names between rtp and tdb files
- Made duplicate atoms in bondeds an error in
gmx grompp
- Made
gmx grompp
-r obligatory with position restraints - Fixed
gmx msd
when using COM removal and molecules - Fixed index error in
gmx chi
- Fixed
gmx grompp
complexity for large exclusion orders - Fixed
gmx density
for non-mass calculations - Fixed
gmx check
for tprs with different numbers of atoms
- Split off the NMR related analyses from
- Bugs fixed
- Fixed multiple time stepping with Parrinello-Rahman and Nose-Hoover.
- Applied Berendsen pressure coupling only at nstpcouple steps
- Added missing Ewald correction for PME-User
- Fixed incorrect dV/dlambda for walls
- Supported OpenMP for orientation restraints
- Fixed orientation restraint reference
- Used graph with orientation restraints
- Fixed Ekin at step 0 with COM removal
- Fixed
gmx grompp
with Andersen massive and no COM removal - Improved Verlet buffer constraint estimate
- Fixed virtual site generation for water oxygens not named OW
- Fixed thread-MPI rank choice for orientation restraints
- Fixed some incorrect behavior with
gmx solvate
- Fixed DD exact continuation in reproducible node
- Made mdrun only stop at nstlist steps with mdrun -reprod
- Added check for GPU detection support before detecting GPU devices
- Removed duplicated lines from OPLS ffbonded.itp
- mdrun no longer warns about NVML clocks that are at max
- Used reduced default tolerances for tpx comparison
- Fixed return values of frame-reading functions
- Removed PBC before generating TPR with group scheme
- Fixed PBC error in gmx_spatial
- Documented power spectrum options of gmx velacc
- Changed to require .tpr file for gmx cluster
- Disallowed ascii formats for gmx trjcat
- Improved grompp missing-parameters error message
- Checked for large energy at first step
- Disallowed combination of PME-user and verlet cutoff
- Avoided confusing message at end of non-dynamical runs
- Changed to require
-ntmpi
when setting-ntomp
and using GPUs
- Removed features
- Portability
- Enabled compiling CUDA device code with clang
- Increased the oldest cmake, compiler and CUDA versions required
- Added check that CUDA available hardware and compiled code are compatible
- Disabled ARM Neon native rsqrt iteration used in short-ranged interactions
- Avoided FTZ triggering simd test failures
- Fixed OpenCL compiles on Mac OS
- Tested that nvcc/host compiler combination works
- Added AVX_512 and KNC symbols to FFTW SIMD test
- Implemented changes for CMake policy 0068
- Miscellaneous
- Updated note in manual on stochastic dynamics integrator
- Added grompp note for Parrinello-Rahman + position restraints
- Clarified the description of Fmax during energy minimization
- Improved vsite parallel checking
- Added partial support for writing masses and partial charges with TNG files
- Updated TNG to version 1.8.1
- Added load balance fraction to DLB print
- Added reference for dihedral function in OPLS.
- Updated many aspects of the documentation
- Updated mdrun signal help text
- Changed to handle erroneous command line args better
- Changed to no longer allow multiple energy groups for GPU runs
- Removed duplications in GMXLIB search paths
- Changed to no longer write reference pull group 0 to log