1GROMACS 2016.2 Release Notes 2---------------------------------------- 3 4This version was released on February 7, 2016. These release notes 5document the changes that have taken place in GROMACS since version 62016.1 to fix known issues. It also incorporates all fixes made in 7version 5.1.4 and several since. 8 9Fixes where mdrun could behave incorrectly 10^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11 12Add grompp check for equipartition violation risk for decoupled modes 13"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 14When atoms involved in an angle with constrained bonds have very 15different masses, there can be very weakly coupled dynamics modes. 16Default mdp settings are often not sufficiently accurate to obtain 17equipartitioning. This change adds a grompp check for this issue. 18 19Part of :issue:`2071` 20 21Disallow overwriting of dihedral type 9 22"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 23It is no longer allowed to repeat blocks of parameter of multiple 24lines for dihedrals of type 9. It is also no longer allowed to 25override parameters or dihedrals of type 9. Both are too complex 26to properly check. It is still allowed to repeat parameters blocks 27consisting of a single line. 28Repeating a block with the same parameters would lead to incorrect 29dihedral potentials and forces. 30 31:issue:`2077` 32 33Fixed flat-bottom position restraints + DD + OpenMP 34"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 35A (re)allocation was missing, causing a crash. 36 37:issue:`2095` 38 39Fixed multi-domain reruns 40"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 41Old code cleanup led multi-domain rerun to crash because it failed to 42consider logic separated over two places. 43 44:issue:`2105` 45 46Fixes for mdrun performance issues 47^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 48 49Corrected CUDA sm_60 performance 50"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 51The kernel launch now suits the SM size of the GP100 architecture. 52 53Fixes for ``gmx`` tools 54^^^^^^^^^^^^^^^^^^^^^^^ 55 56Fixed some FFT handling in cross-corrrelation calculations 57"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 58An array of complex number was created as an array of pointers and 59then passed to gmx_fft_1d. This does not work. 60 61:issue:`2109` 62 63Fixed gmx rmsf -q -oq 64"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 65This led to the PDB file containing B-factors using coordinates based 66on those from the -s file, rather than -q file. gmx rmsf -oq was 67otherwise fine. 68 69Fixed crash in gmx order 70"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 71gmx order used a cumbersome floating point method to compute 72a histogram, leading to an index value that could be negative. 73 74:issue:`2104` 75 76Fixed minor trjconv bug 77"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 78gmx trjconv -novel -f in.pdb -o out.pdb probably works better now. 79 80Fixed time label print in gmx vanhove 81"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 82 83Handled issuing warnings correctly in xpm2ps and membed 84"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 85The code should not (over)write the output file before checking for 86errors. For membed, it is useful to require the user to fix issues in 87their input file before we unilaterally over-write it. 88 89Corrected documentation about eigenvalue handling 90"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 91Some file format docs were out of step with the implementation in 92eigio.cpp. 93 94The behaviour of gmx anaeig -eig -eig2 was not properly documented. 95 96Made editconf B-factor attachment more useful in practice 97"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 98B-factor values will be added to residues unless an index is larger 99than the number of residues or an option is specified. Protein residue 100indices can start from any number and, in case they start from a large 101number, there is no way to add B-factor values to residues. 102 103This patch changes it to add B-factor values to residues unless the 104number of B-factor values is larger than the number of residues. 105 106Fixed possible memory error with long selections 107"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 108If a selection was more than 1000 characters long and there was a 109whitespace exactly at the 1000 point, a buffer overflow could occur. 110Replaced the buffer with std::string, simplifying the code 111significantly. 112 113:issue:`2086` 114 115Fixed use of position variables with plus/merge 116"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 117If a selection contained a position variable (e.g., 'com of ...') that 118was used more than once, and at least one of those uses was with 119plus/merge, there were out-of-bounds memory writes. This was caused by 120the internal position structure not getting fully initialized. 121Incomplete initialization happens in all contexts with such variables, 122but only plus/merge (and possibly permute) actually use the values that 123remained uninitialized, which caused them to incorrectly compute the 124amount of memory required to store the result. 125 126:issue:`2086` 127 128Improved documentation 129^^^^^^^^^^^^^^^^^^^^^^ 130 131Made several minor improvements to documentation and messages to users 132"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 133In particular, for selections: 134 135- Explained resindex and resnr keywords in selection help. 136- Explained how selection-enabled tools treat -s and -f input files. 137 138:issue:`2083` 139 140Clarified use of tau-p and pcoupltype 141"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 142grompp used to permit the erroneous "tau-p = 5 5". This does not 143reflect that only one time constant is permitted for pressure coupling 144(unlike group-based temperature coupling). The recent fix for 145:issue:`1893` leads to the user receiving a grompp warning, so this 146improves the docs to make clear that pressure coupling is different. 147 148:issue:`1893` 149 150Portability enhancements 151^^^^^^^^^^^^^^^^^^^^^^^^ 152 153Fixed x86 conditional on IBM s390x 154"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 155The CpuInfoTest.SupportLevel test fails on IBM s390x because wrong 156condition was used. 157 158Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1390149 159 160:issue:`2072` 161 162Build system enhancements 163^^^^^^^^^^^^^^^^^^^^^^^^^ 164 165Fixed compilation with CMAKE_CXX_FLAGS="-Wall -Werror" 166"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 167:issue:`2073` 168 169Stopped trying to use objdump --reloc in the build system on Mac 170"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 171Recent Xcode objdump does not support --reloc. 172 173The warning that is based on the output of running objdump was only 174implemented to work on Linux-like things, so should not spam the cmake 175output on other platforms. 176 177Improved the support for plugin loading in the build system 178"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 179The mdrun-only and prefer-static-libs builds set the default for 180BUILD_SHARED_LIBS to off, which silently disabled plugin support 181for things like VMD-based I/O handling. 182 183Converted GMX_LOAD_PLUGINS to tri-state ON/OFF/AUTO so that if the 184preconditions for support are not met we can have suitable behaviour 185in each case. 186 187:issue:`2082` 188 189Turn off hwloc support when static lib found 190"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 191Hwloc dependencies are not resolved at CMake time when static 192libwloc.a is detected and in most of these cases link-time 193errors will prevent building GROMACS. As it is hard for a user to know 194how to solve such cryptic errors and hwloc is not a required dependency, 195we turn off hwloc support when a static lib is detected. The user can 196override this on the cmake command line. 197 198:issue:`1919` 199 200Fixed build with GMX_EXTERNAL_TNG=ON 201"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 202 203House-keeping that reduces users' problems 204^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 205 206Mdrun prints invalid performance data less often 207"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 208If mdrun finished before a scheduled reset of the timing information 209(e.g. from mdrun -resetstep or mdrun -resethway), then misleading 210timing information should not be reported. 211 212Related, the default reset step for gmx tune_pme was increased to 1500. 213 214:issue:`2041` 215 216Added a runtime check for number of threads in bonded code 217"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 218Replaced a debug assertion on the number of OpenMP threads not being 219larger than GMX_OPENMP_MAX_THREADS by fatal error. 220But since the listed-forces reduction is actually not required with 221listed forces, these are now conditional and mdrun can run with more 222than GMX_OPENMP_MAX_THREADS threads. 223 224:issue:`2085` 225 226Fixed integer narrowing in TNG reading for long trajectories 227"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 228Reading of TNG trajectories with sufficiently large numbers of frames 229could truncate integers used for frame numbers. Fixed to use 64-bit 230integers as originally intended. 231 232Fixed logic of TRR reading 233"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 234When reading a trr file, reaching the end of the file was 235indistinguishable from a reading error or a magic-number error. This 236is now fixed, restoring the intended behaviour in each case. 237 238:issue:`1926` 239