Update instructions in containers.rst
[gromacs.git] / docs / release-notes / 2016 / major / new-features.rst
blob603737bf5e6e83602f1d50b9290dbe2c5fdd3c6f
1 New and improved features
2 ^^^^^^^^^^^^^^^^^^^^^^^^^
4 Changed to require a C++11 compiler
5 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
6 GROMACS now requires both a C++11 and C99 compiler. For details, see
7 the install guide.
9 Changed to support only CUDA 5.0 and more recent versions
10 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
12 :issue:`1831`
14 Allowed rcoulomb > rvdw with PME
15 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
16 GROMACS has had kernels that support Coulomb PME + cut-off LJ
17 with rcoulomb > rvdw for a while, but these were only available via
18 PME load balancing. Now we allow this setup to be chosen also
19 through mdp options.
21 Added optional support for portable hardware locality (hwloc)
22 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
23 Added CMake support to detect and build GROMACS with hwloc, which
24 will improve GROMACS ability to recognize and take advantage of all
25 the available hardware. If hwloc is unavailable, GROMACS will fall back
26 on other detection routines.
28 Made normal-mode calculations work with shells and vsites
29 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
30 Implemented shells and vsites in normal-mode analysis in mdrun and in
31 analysis of eigenvalues and frequencies. The normal-mode analysis
32 is done on real atoms only and the shells are minimized at each step
33 of the analysis.
35 :issue:`879`
37 Changed pull group count for coords stored in tpr file
38 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
39 Added a parameter ngroup to the pull coord parameters. This is now
40 also stored in the tpr file. This makes the pull geometry forward
41 compatible, which is useful since it avoid bumping the .tpr version
42 with every new geometry, and we expect that users want to experiment
43 with new geometries.
45 Added pull coordinate geometry angle-axis
46 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
47 The new geometry is described in the docs.
48 Some checks in readpull.cpp where reorganized since adding new
49 geometries made some old logic a bit convoluted.
51 Added pull coordinate geometry dihedral (angle)
52 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
53 How to use the new geometry is explained in the docs.
55 Added pull coordinate geometry angle
56 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
57 A new subsection was added to the docs explaining the new geometry.
59 Replaced ``pull-print-com1,2`` mdp option with ``pull-print-com``
60 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
61 Changes were made to the pull output order and naming.
63 Added pull potential flat-bottom-high
64 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
65 Added the new pull coordinate type flat-bottom-high, which is a flat
66 potential above the reference value and harmonic below.
68 Added ``gmx grompp`` check for pull group
69 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
70 Added a check for valid pull groups in a pull coordinate.
71 Using a pull group index that was out of range would cause invalid
72 memory access.
74 Added new swapping functionality to computational electrophysiology module
75 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
76 Support was added for ion/water position swapping for multiple ion
77 types and polyatomic ions, including use of a user-defined number of
78 ionic species, and (small) polyatomic ions.
80 Also added two extra .mdp file parameters 'bulk-offset' that allow the
81 user to specify an offset of the swap layers from the compartment
82 midplanes. This is useful for setups where e.g. a transmembrane
83 protein extends far into at least one of the compartments. Without an
84 offset, ions would be swapped in the vicinity of the protein, which is
85 not wanted. Adding an extended water layer comes at the cost of
86 performance, which is not the case for the offset solution.
88 Documentation and testing was improved.
90 Fixed logic for DD missing-interactions check
91 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
92 The code that was intended to double check that the domain decomposition
93 algorithm has not missed any interactions was inactive in several
94 cases, and has been fixed.
96 :issue:`1882`, :issue:`1793`
98 Permitted forces and velocities to be written to compressed TNG
99 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
100 If there is no uncompressed coordinate output, write forces
101 and velocities to the TNG file with compressed coordinate
102 output. If there is uncompressed coordinate output to a
103 TNG file, forces and velocities will be written to it.
105 Use a greatest common divisor to set the frequency of some TNG
106 data output to ensure lambdas and box shape are written at least
107 as often as anything else.
109 :issue:`1863`
111 Added new notes to the user when coupling algorithms are unavailable
112 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
113 mdrun will now give the user an explanatory note when pressure and/or
114 temperature coupling is turned off.
116 Added mdrun check for finite energies
117 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
118 Added a check that the total potential energy is finite. This check is
119 nearly free and can catch issues with incorrectly set up systems
120 before users get a confusing constraint or PME error. Note that this
121 check is only performed at steps where energies are calculated, so it
122 will often not catch an exploding system.
124 Added ``gmx grompp`` check for unbound atoms
125 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
126 ``gmx grompp`` now prints a note for atoms that are not connected by a
127 potential or constraint to any other atom in the same moleculetype,
128 since this often means the user made a mistake.
130 :issue:`1958`
132 Improved multi-simulation signalling
133 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
135 Multi-simulations (including REMD) may have need to send messages
136 between the simulations. For example, REMD needs to write a
137 fully-consistent set of checkpoint files so that the restart works
138 correctly, but normal multi-simulations are fine with decoupled
139 progress and will simulate more efficiently if they can do
140 so. Similarly, ``gmx_mpi mdrun -maxh -multi`` needs to synchronize
141 only for REMD. The implementation has been upgraded so that such
142 coupling happens only when an algorithm chosen by the user requires
145 :issue:`860`, :issue:`692`, :issue:`1857`, :issue:`1942`
147 Changed multi-simulation nsteps behaviour
148 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-
150 It is unclear what the expected behaviour of a multi-simulation should
151 be if the user supplies any of the possible non-uniform distributions
152 of init_step and nsteps, sourced from any of .mdp, .cpt or command
153 line. Previously mdrun adjusted the total number of stesps to run so
154 that each run did the same number of steps, but now it reports on the
155 non-uniformity and proceed, assuming the user knows what they are
156 doing.
158 :issue:`1857`
160 Added working directory to things reported in .log file
161 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
162 When running GROMACS via a batch script, it is useful to know which
163 working directory is being used for relative paths (file names) in the
164 command line. This is now written alongside other header information.
166 Prevented fragile use cases involving checkpoint restarts and/or appending
167 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
169 All output files named in the checkpoint file (ie. that were
170 used in the previous run) must be present before a checkpoint
171 restart will be permitted. Thus,
172 workflows where people used things like
173 ``gmx mdrun -s production -cpi equilibration``
174 are no longer available to do a "continuous" restart. Instead, use
175 ``gmx grompp -t equilibration -o production``.
177 :issue:`1777`
179 Removed warning after OpenMP core-count check
180 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
181 In many cases ``gmx_mpi mdrun`` issued a warning that compared the total
182 core count with something different returned from OpenMP. This problem
183 is caused by inappropriate management of thread affinity masks, but
184 the wording of the message did not help the user realise this, so has
185 been removed. ``gmx_mpi mdrun -pin on`` may help improve performance in
186 such cases.
188 Preparation for hardware detection might try to force offline cores to work
189 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
191 Hardware detection might be foiled by kernels that take cores offline
192 when work is unavailable. We are not aware of any such platforms on which
193 GROMACS is likely to be used, but we will probably start to see them
194 soon. On such platforms, if the number of cores physically present
195 differs from the count that are online, we try to force them online
196 before deciding how GROMACS will use the online cores. For now, no x86 or
197 PowerPC platforms need such code, so it will never run on those platforms.
198 The good news is that we no longer have to risk making a confusing warning
199 about such possibilities.
201 Added new suggestion for users to try e.g. hyper-threading, if its disabled
202 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
203 GROMACS tends to perform best with several hardware threads available
204 per core (e.g. hyper-threading turned on, on x86), and now the log file
205 will note explicitly when such opportunities exist.