Gromacs

Versions 4.0.x

    The major change for GROMACS 4.0 is the domain decomposition which provides two orders of magnitude better scaling. The details on the new algorithms can be found in the GROMACS 4 paper J. Chem. Theory Comput. 4, 435 (2008).

    New features

    • Domain decomposition provides two orders of magnitude better scaling.  Parallel simulations can be started with grompp and mpirun -np mdrun without further options. For high parallelizations some options might improve the performance, see the pdf manual and mdrun -h.
    • The steepest descents and conjugate gradients minimizers now also work in parallel.
    • Full checkpointing support for exact continuation of simulations. mdrun reads checkpoint files. tpbconv is no longer required.
    • mdrun option -maxh for terminating the simulation after a certain number of hours, very useful for queuing systems.
    • Complete rewrite of the pull code: several new features, the options are integrated into the mdp file and the code now also works in parallel.
    • Support for tabulated bonded interactions, especially useful for coarse-grained simulations.
    • Support for heuristic neighborlist updates: the neighborlist uses a buffer region and it is updated when it becomes invalid, this provides exact integration.
    • Several new PME and reaction-field electrostatics options for use with heuristic neighborlist updates.
    • Improved energy conservation for all constraint algorithms.
    • New velocity rescaling thermostat of Bussi et al. provides a true canonical ensemble together with the advantages of the Berendsen thermostat.
    • Automated solute free energy (de)coupling with mdp options (no more messing with topologies).
    • With replica exchange each replica can now be run in parallel.
    • Optimized force loops for the IBM Blue Gene increase the performance by a factor of 2.
    • New tpr file format is 5 times smaller (old tpr files can still be read). This format makes grompp orders of magnitude faster for systems of millions of atoms.
    • Reduction of the memory usage of mdrun by a factor of 5, this is especially important for the Blue Gene.
    • Several new analysis tools.

    Resolved issues

    • Much stricter checking of mdp options in grompp, grompp now by default terminates when there is one warning. There are now also notes which suggest better mdp settings.
    • The box shape drift, which could only be observed over hundreds of nanoseconds, has been removed.
    • Parrinello-Rahman pressure coupling would not scale the coordinates, this has been fixed; now the energy is conserved.
    • The coupling time for the Parrinello-Rahman barostat was scaled by the pressure factor 16.6, now this has been fixed. Make sure that the coupling period tau_p is large enough.
    • A stability problem with virtual sites for all-atom force fields has been resolved. Now also all-atom force fields are stable with a time step of 5 fs, this requires running pdb2gmx to generate a new topology file.
    • The checkpoint file stores all the state variables, including the random state for SD and BD, so it is no longer necessary to change the seed in the mdp file for run continuation without repeating random numbers.

    Release notes for 4.0.3

    • Improved domain decomposition grid and separate PME node setup: it will succeed more often and the error messages are clearer.
    • mdrun will now tell which atoms are out of range when the domain decomposition fails due to too long bonded interaction distances.
    • Fixed crashes and hangs which could occur with mdrun -nosum.
    • Fixed checkpoint reading which would fail with SD/BD and separate PME nodes.
    • Fixed normalization of the averages and fluctuations at the end the log file by nsteps+1 (was nsteps).
    • With mdrun -rerun the averages in the log file and printed by g_energy are now correct.
    • The mdrun performance print is now correct when the run is terminated before the last step.
    • In the pull code the sign of the virial contribution is fixed (it was incorrect in 4.0 and 4.0.2, it was 0 in version 3.3).
    • Made the pull code work again with particle decomposition.
    • Several fixes for configuration and compiling on IBM machines, especially for the Blue Gene.
    • Added some more input checks in grompp and mdrun.
    • Fixed gmxlib/mdlib library dependencies for linking with other code.
    • Fixed Coulomb forces in nb_generic.c for user modified code.
    • Several non-critical fixes in other GROMACS programs.
    • Compiler warnings for gcc 4.3 have been addressed
    • Compatible with libtool 2.x and automake 1.10.1 (only matters for developers)  

    Release notes for 4.0.4

    • Fixed bug in 4.0 - 4.0.3: checkpoint files would have the initial box size for non-parallel and particle decomposition runs (domain decomposition was correct).
    • Fixed bug in 4.0.3: the pull code would segv or produce strange distances non-parallel with more than one atom per pull group (parallel runs were correct).
    • Fixed bug in 4.0 - 4.0.3: with the pull code using pull_geometry=cylinder would produce a segmentation fault.
    • Fixed bug in 3.3 - 4.0.3: with free-energy and TIP4P non-perturbed charged atoms in the same energy group as perturbed atoms could have some missing interactions with TIP4P charges.
    • Fixed bug in 4.0 - 4.0.3: with free-energy and twin-range cut-off's dG/dlambda was incorrect at non-neighborsearch steps (the forces and thus the simulations were correct).
    • Fixed bug in 4.0 - 4.0.3: with replica exchange and separate PME nodes mdrun would deadlock.
    • Added some more mdp parameter consistency checks in grompp

    Release notes for 4.0.5

    • Fixed walls with user tables not working in parallel.
    • Removed spurious wall contributions to the off-diagonal virial components.
    • Fixed incorrect velocity scaling at the first step of a checkpoint continuation of a simulation run with -nosum.
    • Fixed a crash for systems with only tabulated interactions using only one table.
    • Fixed domain decomposition load imbalance increasing over time for systems with a large imbalance and cell size limitations.
    • Fixed a bug which could cause QMMM results to be incorrect with QM atoms in charge groups of more than one atom seeing MM atoms over the periodic boundaries.
    • Made -rerun work with domain decomposition.
    • Fixed incorrect kinetic energy, virial and pressure with -rerun.
    • Fixed compile errors when using altivec/VMX with IBM Xlc 10.1 compilers (significantly improved performance).

    Release notes for 4.0.6 and 4.0.7

    Do not use 4.0.6, it has a minor issue on some platforms.

    • Added check for 3dnow that was removed when merging patch from head tree (where it has been deprecated)
    • Fixes (apple 64bit, charmm removal) to get gromacs-4.0.6 distro to build ok
    • Added auto-detection for 64bit support on macs
    • Committed all-angle-constraint fix from Peter Eastman (bug #375)
    • Removed MPI_Bcast of NULL pointers (since buggy MPI implementations sometimes dereferenced such pointers)
    • Fixed bug #358 in g_rmsf to now correctly calculate average RMSF per residue
    • Removed strange characters in tip5p.itp
    • Fixed distance restraints when present in multiple molecules (symptoms: crashes and nonsense results)
    • Fixes to gmxcpp (bug #360 plus other fixes). (backported commit 081e595d49fec1f5afdbf075af88a01eea205fb3) (cherry-picked commit aa6789e814100b3ea2cf5921bd5724462b6c2dc4)
    • Fixed g_anaeig incorrect masses for fitting when the fit group does not consist of the first N atoms in the system
    • Fixed problems with distance restraints in multiple molecules
    • Better g_energy -nmol behavior (bug #365). The -nmol switch is now applied consistently to both .xvg output and to the calculated averages. The calculated total drift is also correctly scaled with -nmol. (backported commit 1c2fab9ceb04b8a8cb7e7c24b816861dea88ffdb)
    • Added fatal error to prevent attempts at multiple simulations when mdrun was not compiled with MPI support
    • Fixed buffer overruns in get_libdir(); some untested strcat() calls remain.
    • Non-bug patch from bug #344
    • Made the v-rescale thermostat work with -nosum (bug #354)
    • Fourier dihedrals (dih. type 5) should now work. Coefficients for dihedral type 5 were not properly written to/read from the .tpr file, resulting in all coefficients becoming zero after grompp.
    • Removed charmm FF temporarily, pending full release in 4.1, to avoid people using development files for production work
    • Fixed constraint error dump files not being written when SETTLE went ok after LINCS
    • made mdrun -seppot -cpi -append work again
    • made mdrun -seppot work again
    • Fixed dependencies of libgmxana (so that dlopen works)
    • Fixed incorrect use of sqrt for F_G96BONDS and F_BONDS, where the equilibrium distance is saved not its square.
    • Fixed pdb2gmx bug when all hydrogens in the N-terminus are supposed to be in separate charge groups
    • Corrected g_sgangle y-axis unit
    • Fixed bug #351 in virtual site code resulting from charge groups with multiple virtual sites
    • Fixed setting of bF boolean in trxframe. This prevented gmxcheck comparing forces, for example.
    • Removed unnecessary restrictions on pme_order
    • Made the setup of intra- and inter-node communication for multi-core nodes smarter
    • Fixed g_mindist -or writing incorrect output for last residue
    • Fixed g_nmens not writing trajectories
    • Added checks for too large file offsets when HAVE_FSEEKO is not defined
    • Added proper out of range check for sizeof(off_t)=4 and large files with mdrun -append
    • Fixed invsqrt in generic inner loops to work with Bluegene (PPC440/450) again
    • Fixed velocity output at first step on nodes>1 with PD and frozen groups
    • Put in fixes for pbc in tools from the master branch
    • Added check to suggest v-rescale thermostat rather than Berendsen with REMD
    • Fixed append error for large files (64-bit offsets)
    • Corrected COM pull position reference to init+rate*vec instead of vec
    • Fixed calculation of number of degrees of freedom for T-coupling being incorrect for more than 3 million atoms in single precision
    • Corrected sizeof in checkpoint code - wrong size sent ( sizeof(bool**) != sizeof(bool) )
    • Added missing angle parameters for ACE in ffG53a5 and ffG53a6 (bug #388)
    • Fixed "charged group move too far" error with triclinic cells due to rounding effects
    • Fixed incorrect atom names in improper for NH2 which generated a fatal error
    • Removed superfluous memory allocation, helps a lot for DD on large systems
    • Fixed DLB cell_size not being up to date when staggering limits were violated, this never gave errors, only less load balancing. Changed angular comm removal error into a warning
    • Fixed segv when atom type for free energy perturbation "B" topology was not found
    • Fixed all output coordinates being the initial ones with PD, and output coordinates being zero in serial and with PD
    • Fixed inability to split h-constrained molecules over processors.
    • Fixed error with determinant being too small in SETTLE with frozen waters during energy minimization
    • Added option to gmxdump (Hessian) matrix .mtx files
    • Fixed missing realloc for fr->cg_cm when init_forcerec is called multiple times
    • Added check to prevent use of genpairs with Buckingham
    • Fixed pme_order warning message not being set and changed it to an error
    • Fixed g_traj -oxt -com always writing two centers of mass
    • Fixed bug with pull groups using weights in parallel

    The above are listed in reverse chronological order of the corresponding git commits.

    Page last modified 00:12, 8 Apr 2010 by JLemkul?