Mark Abraham [Fri, 24 Jul 2015 13:57:42 +0000 (15:57 +0200)]
Version 5.0.6
Removed -dev tags from versions. Bumped regressiontest hash.
Change-Id: Ie86dd0d7a375c3fc86d59f59494c03bf350fde38
Mark Abraham [Mon, 13 Jul 2015 12:16:42 +0000 (14:16 +0200)]
Update advice about grompp -t
grompp -t state.cpt does not copy coupling-algorithm state from a .cpt
into the new .tpr, even though it can still do so from grompp -e.
Refs #1775
Change-Id: I8c4d68fc8d3750b79f30c0f77115c80e1f3cf9b3
Carlo Camilloni [Thu, 16 Jul 2015 14:16:47 +0000 (16:16 +0200)]
Fixed gmx sasa output residue numbering
gmx sasa with -or was writing the wrong residue numbers
Change-Id: I52b13f1eeec2ee028e5ec580139c0290df7b69c9
Mark Abraham [Tue, 7 Jul 2015 13:08:54 +0000 (15:08 +0200)]
Give bTypePerturbed a valid initial value
Commit
a6ae71b202 didn't do this correctly, so FEP with LJPME has had
broken PME load estimates (only).
Change-Id: I88235c34b499e6dfca650138d66cdc17bd40afb4
Mark Abraham [Tue, 7 Jul 2015 12:30:51 +0000 (14:30 +0200)]
Fix grompp .edr IO estimate for free-energy calcs
This has been wrong since it was introduced in
c7a82654f. It doesn't
really matter, except that the variable is unused and converting to
C++ complains about it.
Change-Id: I8e13a07e2680cfe5b69fac170d500b235a5ba113
Roland Schulz [Wed, 8 Jul 2015 07:28:27 +0000 (03:28 -0400)]
Merge release-4-6 into release-5-0
Change-Id: I25fea1226adfaa332c5c7b0630e99031266178f4
Berk Hess [Sat, 4 Jul 2015 08:18:05 +0000 (10:18 +0200)]
Fix bug in GPU list balancing
The function split_sci_entry could produce empty lists. This seems
not to have caused incorrect results, only slight extra processing
of empty workunits in the CUDA kernel. Incorrect Coulomb energies
could appear for empty lists with shift=CENTRAL, but that does not
seem to happen.
Refs #1767.
Change-Id: I0b0ff0a450734d4863f1e9636ff5741d4f1a68da
Teemu Murtola [Sat, 4 Jul 2015 17:45:11 +0000 (20:45 +0300)]
Fix copy-paste bug in gmx distance
The -oxyz option did not behave properly (the computed values should be
fine, but the behavior of where the output goes can be unpredictable).
Change-Id: Idcd389c3809189f85a630094b9aaea6d61a5f954
Erik Lindahl [Thu, 25 Jun 2015 15:46:05 +0000 (11:46 -0400)]
Fix bugs in gmx dos
- Velocity autocorrelations were not normalized
by default, so they did not agree with gmx velacc.
- The normalize option had no effect on the VACs.
- The index group option was available, but no
index groups were processed.
- Since the DoS is calculated from the mass-weighted
VAC and by default only from the real part, it was
not clear why these results would differ from data
obtained with gmx velacc. There is at least a note
about this now, and more docs will be added in the
future.
- The hidden option to dump some plots has been
removed since it was not documented what these
contained (beyond a paper reference), and the
contents was not based on any data from the
trajectory, but rather plotting a custom function.
Fixes #1608.
Change-Id: Icfca060f94efb34bd7871bd90245ab0ddbbe91c1
Mark Abraham [Mon, 29 Jun 2015 14:43:51 +0000 (16:43 +0200)]
Merge release-4-6 into release-5-0
Conflicts:
src/gmxlib/nonbonded/nb_free_energy.c
Deleted - change already exists in release-5-0
src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda.cu
Applied same reordering to the (unchanged) release-5-0 code
src/mdlib/nbnxn_cuda/nbnxn_cuda_types.h
Renamed misc_ops_and_local_H2D_done, and added Doxygen for it
Change-Id: I4c34d168af347a59b7821da6fea71a4715ec5bae
Erik Lindahl [Tue, 23 Jun 2015 20:20:00 +0000 (16:20 -0400)]
Fix bug removing multiple dihedrals in main rtp entries
The Gromacs-5.0 series has had a serious bug where pdb2gmx
would only consider the first entry when several explicit
bonds were listed for the same atoms in an RTP entry. Older
topologies have worked fine.
Fixes #1704, #1755.
Change-Id: I0b34aeb905dab8ea66196cabc0745583ef6d7209
Szilard Pall [Mon, 29 Jun 2015 01:58:35 +0000 (03:58 +0200)]
Fix CUDA inter-stream synchronization issue
With the introduction of multiple hardware queues in CC 3.5 and later
NVIDIA GPUs, the implicit dependency between tasks in the local and
non-local kernel got eliminated. However, as the misc_ops_done event
that we sync with in the non-local stream preceded the local coordinate
transfer, even though the tasks in the local stream are always issued
first, under rare circumstances the non-local kernel could start before
the local coordinate transfer completes. This would lead to non-local
interactions being calculated using coordinates (and charges) from the
previous step.
This change moves the synchronization point to creating a dependency
between the local coordinate transfer and non-local non-bonded kernel.
Change-Id: I0b3837d46db6469f6b1d9869a3a73b5176d93d99
Erik Lindahl [Sat, 27 Jun 2015 16:11:02 +0000 (18:11 +0200)]
Fix single-prec. softcore issue in 4.6 branch
This is a backport of
412e2974 which we likely
forgot to put in 4.6. It primarily fixes
numerical issues in single precision for
sc_power==48, but it can also improve stability
of lower-power softcore free energy.
This should not be merged into 5.0 or master.
Refs #1580. Fixes #1306.
Change-Id: I5506d714214f0eb7e0517a0eda8d74cdba816dab
Berk Hess [Fri, 26 Jun 2015 07:21:22 +0000 (09:21 +0200)]
Fixed Verlet buffer issue with 2-wide SIMD
The Verlet buffer size for CPUs was always calculated for 4x4.
With 2-wide SIMD the estimate should be for 4x2, which results
in a slighly larger list buffer.
grompp now always sets rlist for a 4x4 list setup; mdrun anyhow
redetermines rlist at run time (added a note for this in grompp).
Fixes #1757.
Change-Id: If4bf9ad17b82b22c9d9f7c1dd3f88e66f2314df4
Mark Abraham [Fri, 26 Jun 2015 07:06:01 +0000 (09:06 +0200)]
Merge release-4-6 into release-5-0
Conflicts:
src/gromacs/fileio/strdb.c
src/gromacs/utility/cstringutil.c
These were not actually conflicts; the code changed here was simply
relocated in release-5-0.
src/programs/mdrun/md.c
Trajectory-writing code has moved in release-5-0, so applied some
changes to src/gromacs/fileio/trajectory_writing.c
Uncrustified, copyright bumps.
Change-Id: I11626cbf2a3efa89adf7c975df2a43b4eb3680fb
Erik Lindahl [Mon, 22 Jun 2015 12:14:15 +0000 (08:14 -0400)]
Fix buffer size issues in string database
We have cool quotes of the than 255 characters which was the buffer
size of buffers in the string database code. Now the buffers are
extended to STRLEN and an fscanf is replaced by fgets in an
infrequently used routine.
Change-Id: I6cd09e6e33f9a4ff3302fb2e1ab8235e2253e87c
Mark Abraham [Wed, 24 Jun 2015 14:42:47 +0000 (16:42 +0200)]
Fix mdrun -confout sometimes affecting final .edr frame
This makes a two-part run write .edr files that can be concatenated to
be identical to that from a one-part run. Otherwise, a single-domain
run might make molecules whole, do an update with the modified x
vector, and write a slightly different final .edr frame, even though
the .trr and .cpt (and thus the restart) were still fine.
Allocating an array of natoms rvecs isn't great, but we only need it
at the end of runs in cases where we ran a single domain, so this is
not a scaling bottleneck. Maybe the "optimization" of setting state
equal to state_global in this case is not such a good thing.
Change-Id: I4d1b49e7de0a5c1691084a612b46a10820784307
Erik Lindahl [Mon, 22 Jun 2015 15:48:15 +0000 (11:48 -0400)]
Fix edr appending and exact continuation
The nsteps field was not written to checkpoint files when
nstcalcenergy=nstenergy. This caused differences in nsteps
in appended energy files, which in turn caused issues in averages
and RMSD in g_energy (which is now fixed by another patch).
Also added the nsteps_sim field to the checkpoint file for
consistency.
Fixes #1342.
Change-Id: Iff8bf51aaa307a379f0e7cdb7d76d9bafb13cf13
Erik Lindahl [Mon, 22 Jun 2015 12:18:53 +0000 (08:18 -0400)]
Fix binary exact continuation for trajectories
The initial call to compute_globals() after
continuation would remove COM motion, which meant
trajectories would not be exactly (binary)
identical to a single trajectory - it was likely
introduced with the velocity verlet code.
Refs #1342.
Change-Id: I061648774c7625810a8b693c631c61ae377ba297
Mark Abraham [Wed, 24 Jun 2015 21:33:24 +0000 (23:33 +0200)]
Merge release-4-6 into release-5-0
Change-Id: I6cc179f767cc4e0fc1dc3fc0b85428df986c16df
Erik Lindahl [Tue, 23 Jun 2015 20:43:33 +0000 (16:43 -0400)]
Avoid accessing hackblocks for x2top
Previous fixes for generating dihedrals would cause us to access
the hackblock even when using x2top, which we should not do.
Fixes #1711.
Change-Id: Id0ea6d524d80b87fe257c9fd4f1c48c4be828654
Erik Lindahl [Sun, 21 Jun 2015 13:49:03 +0000 (15:49 +0200)]
Removed buggy -smooth hack in hbond module
As discussed in redmine #1553, this was a hack
added a while ago, but apparently it leads to
segfaults. We should avoid hacks in the first
place, and since nobody has been interested in
fixing it for the last year it's time to kill it.
Fixes #1553.
Change-Id: I94faa3c543bcca4c729753c8b5cdaf5a5775d0ff
Berk Hess [Mon, 22 Jun 2015 14:50:53 +0000 (16:50 +0200)]
Fix g_energy average/RMSD bug
Made g_energy produce correct output for energy files from continued
and appended runs with nstcalcenergy=nstenergy. In that case a count
in the energy file is/was incorrect, but that entry is actually not
necessary for determining the average and RMSD of energy terms. The
RMSD would be NaN and the average would be off in the last decimal.
Fixes #1342.
Change-Id: I82007bfe508023e1c1e17366e10f76bc4470d238
Erik Lindahl [Thu, 18 Jun 2015 19:57:11 +0000 (21:57 +0200)]
Use MPI_THREAD_FUNNELED when available
We have never observed any problems with MPI and OpenMP,
but for compliance we should call MPI_Init_thread() and
try to get MPI_THREAD_FUNNELED support level. However,
if that level is not supported we simply call the old
MPI_Init() instead - at least for Gromacs that seems fine.
If we get an error return code we warn the user, but if
MPI_init_thread() still worked we hope for the best and
don't bother the user.
Fixes #1127.
Change-Id: I11b81a65125e32b95255dbb769cf86b835bd62ab
Erik Lindahl [Sat, 20 Jun 2015 09:54:26 +0000 (11:54 +0200)]
Fix segfault in random access XTC searching
The XTC random access routine was accessing natoms
in a substructure that could be a null pointer. Fixed
by adding natoms as a separate field in the
high-level status, so we don't depend on frame data.
Fixes #1705.
Change-Id: I88c961b33ae21b16d64ed5d7514a1e0287c89baf
Erik Lindahl [Tue, 16 Jun 2015 22:18:27 +0000 (00:18 +0200)]
Fix argument order error for g_rmsdist
Incorrect argument order to calc_rms() caused
command options to be permuted.
Fixes #1709.
Change-Id: I82042dac463c8bb305ab3d3bc2a122b5409c55ef
Erik Lindahl [Sat, 20 Jun 2015 14:01:46 +0000 (16:01 +0200)]
Fix gro errors with PDB insertion codes
The insertion codes are discarded when converting to GRO files,
which results in adjacent residues with different names but
identical numbers. The reading code has been altered to identify
new residues also when the resname changes; this does not fix
the duplicate numbers (it cannot be fixed in GRO files), but it
will correctly propagate all data so the correct labels can
be recovered by using gmx trjconv with the original PDB file for
the -s argument.
Fixes #1600.
Change-Id: Iaf79f3f9e548e8555d78cb39e869410aa8186029
Erik Lindahl [Fri, 19 Jun 2015 08:02:26 +0000 (10:02 +0200)]
Updated docs for g_gyrate
Added the equations we use for the axis
components.
Fixes #1564.
Change-Id: Ifce17326f738a72386bf24f949e418d2550568b5
Erik Lindahl [Thu, 18 Jun 2015 12:44:14 +0000 (14:44 +0200)]
Fix potential buffer overflow in pdb2gmx
Residue rename database entries were read into 6-char
string variables. We now check and issue fatal errors
if the lengths are above 5 characters.
Fixes #1649.
Change-Id: Id4d88a565b212ef279d400f42b5f2732550eded6
Erik Lindahl [Fri, 19 Jun 2015 08:20:23 +0000 (10:20 +0200)]
Disallow infinite epsilon with PME or GB.
This leads to divide-by-zero errors, and since it just turns off
electrostatics it will be faster to use a plain cutoff, which we
now recommend instead.
Fixes #1297.
Change-Id: Ia5eba7a1d4bd3b387174c9cb4878a2d65ead2c6c
Erik Lindahl [Fri, 19 Jun 2015 07:29:40 +0000 (09:29 +0200)]
Remove GMX_MAX_MPI_THREADS
This variable has been orpaned for quite a while, and
it's a good example how we introduce bugs by introducing
lots of ways to control the same functionality, and then
we forget to update some of them later. Let's focus on
the command line options as the single way to control
the number of threads in Gromacs.
Fixes #1550.
Change-Id: I37a87125b9dcac36362b561418d787167bb64cec
Erik Lindahl [Fri, 19 Jun 2015 10:16:23 +0000 (12:16 +0200)]
Fix reproducibility bug in fft5d
fft5d has been accessing FFTW directly instead of using the
Gromacs FFT interface, and while doing so the estimate flag was
not correctly set for reproducible runs. For now we have just
fixed it, but this FFTW-specific code should be removed from fft5d,
or we will likely see more fft bugs due to duplicated code paths.
Fixes #1690.
Change-Id: Ib03f7af710ed208d2824f105bd15712d32632cfa
Erik Lindahl [Thu, 18 Jun 2015 17:26:27 +0000 (19:26 +0200)]
Handle multidir/multisim with single argument correctly
Mdrun would only initialize the multi option correctly
with more than one argument, which caused mdrun to fail
in strange ways since it looked for topol.tpr in the
current directory instead.
Fixes #1712.
Change-Id: Ib89860fdff5f8523eee6c2f5a068390b8d4e3c8d
Erik Lindahl [Tue, 16 Jun 2015 22:15:18 +0000 (00:15 +0200)]
Fix incorrect shift with g_density -center
Fixes #1698.
Change-Id: I22be246eded9c1fc6f421f14eb3938584afed0de
Mark Abraham [Fri, 22 May 2015 11:42:21 +0000 (13:42 +0200)]
Stop people installing into the build tree
Several users have tried this and run into problems.
Also patch the install guide so people can find useful information
about using CMAKE_INSTALL_PREFIX
Change-Id: I43b3d9959e0a2fc93dc1d80fb8fb0727cf459f11
Mark Abraham [Thu, 28 May 2015 14:15:29 +0000 (16:15 +0200)]
Fix pairs_nb not recognized as part of moleculetype
Old code gives "unknown directive" error from the default of the
switch statement.
Fixes #1749
Change-Id: I54977f76f82cfdbfd4a7070129aa365d4fe5e188
Mark Abraham [Thu, 11 Jun 2015 20:46:57 +0000 (22:46 +0200)]
Merge "Merge branch release-4-6 into release-5-0" into release-5-0
Mark Abraham [Thu, 28 May 2015 14:34:47 +0000 (16:34 +0200)]
Document limitations of trjconv -dump
Change-Id: I336791a2eeb84a773de1ea96b8e36a42ac3fc66e
Mark Abraham [Tue, 9 Jun 2015 12:41:38 +0000 (14:41 +0200)]
Merge branch release-4-6 into release-5-0
Conflicts:
src/gromacs/gmxlib/copyrite.cpp
New citations in release-5-0 branch adjacent to incoming
ones; kept all citations
src/programs/mdrun/mdrun.cpp
New please_cite calls next to a line removed in release-5-0;
retained the calls.
Change-Id: I463a598e32ffa82ebdd66211feba84635bc962b5
Szilard Pall [Tue, 2 Jun 2015 16:59:43 +0000 (18:59 +0200)]
add last two GROMACS paper citations
The 4.5 paper was only in the README file but not printed to the log
while the last (de-facto 4.6) LNCS paper was not mentioned anywhere.
Change-Id: I95e947564957ded0b7f76cb82c3fe4f69c72f85f
Roland Schulz [Tue, 26 May 2015 18:21:40 +0000 (11:21 -0700)]
Use stat to check that paths are equivalent
Replaces the previous approach of comparing path as string.
The previous approach didn't work reliable on case insenstive filesystems
or with symlinks.
Change-Id: Iee11c172db89b98a26b3592be2f285110a85a632
Berk Hess [Tue, 19 May 2015 09:10:06 +0000 (11:10 +0200)]
Don't use PME ranks with GPUs and -npme=-1
The code disabling the automated PME rank choice with GPUs was
accidentally moved after init_domain_decomposition. This caused
PME ranks to be set up, but later a fatal_error occured for
inconsistent PP rank and GPU counts.
Refs #1374.
Change-Id: I5f6bcc90fecac7f63b332b8f1acca7368b5f71bc
Roland Schulz [Thu, 5 Feb 2015 06:28:51 +0000 (01:28 -0500)]
Work-around for ICC 15 on Phi
Change-Id: Id72e6fb124974f0d8572a1715bc1f25e536f7c69
Roland Schulz [Wed, 22 Oct 2014 01:23:29 +0000 (21:23 -0400)]
Don't set CFLAGS for Phi in toolchain
The recommended way to set those flags is with CMAKE_*_FLAGS_INIT but
that is only passible in a platform file because those set in a toolchain
file get overwritten.
This fixes that extra CFLAGS passed on the command line don't get ignored.
Also move setting of fftw out of platform file because those should
be project independent.
Change-Id: I5f4d70efd8369bdef5f5060959e3568026d6820c
Mark Abraham [Tue, 26 May 2015 00:53:42 +0000 (02:53 +0200)]
Fix use of hard-coded temporary filename
Using temp.top can run into a user file of the same name, which is
unfriendly. Instead, use the function we have for doing the job of
making a temporary filename.
Fixes #1747
Change-Id: Ia6266e5605dd14032743e11f5dc68a520c47ce06
Mark Abraham [Tue, 19 May 2015 19:20:09 +0000 (21:20 +0200)]
Fix misuse of gmx_simd_check_and_reset_overflow
Only x86 has useful definitions of this function. The check will
be entirely removed in master branch.
Fixes #1740
Change-Id: Ida1bc43201f44dffbd64d94bc485d4d6d882167b
Teemu Murtola [Wed, 20 May 2015 19:22:09 +0000 (22:22 +0300)]
Avoid crash with empty reference for 'same as' selection
Make 'same ... as none' selections not segfault. If there were no atoms
in the reference group, the code that sorted the values and removed
duplicates incorrectly set the number of values as one, resulting in
incorrect memory access later.
Fixes #1742 (segfault part).
Change-Id: I9d14c30404121356ee3abf1a5575fb0baa82fb7b
Teemu Murtola [Wed, 20 May 2015 18:22:25 +0000 (21:22 +0300)]
Fix handling of real-valued 'to' selection ranges
Two adjacent ranges were incorrectly merged to a single range if the
difference between their nearest endpoints was less than one (the extra
+1 in the code is incorrectly copy-pasted from the integer case).
Add tests for handling overlapping and near-overlapping ranges.
Fixes #1743.
Change-Id: I3ac79c55dc3817e6325e43e27e0ccb4fe360e609
Mark Abraham [Sun, 10 May 2015 20:29:06 +0000 (22:29 +0200)]
Suppress GCC5 warnings with internal Boost
GCC 5 warns that auto_ptr is deprecated, which we know and don't care
to hear about.
Change-Id: I5e4721f4a06ce18e113be7b205d108a0df7586b7
Szilard Pall [Wed, 13 May 2015 18:25:22 +0000 (20:25 +0200)]
Assert the size of non-bonded GPU work units
<=0 sized grid blocks lead to kernel launch failure which have
caused issues before.
Refs #1734
Change-Id: I4e914bcf3168f7268dab64b69d25bf34fb6c85c9
Mark Abraham [Thu, 14 May 2015 09:29:27 +0000 (11:29 +0200)]
Fix own-FFTW build
Recent changes broke the expectation that the own-FFTW build attempts
to pretend to have run SIMD-support tests on the build that it has not
yet performed. This is all more complicated than it needs to be,
and will be refactored in master branch.
Fixes #1735
Change-Id: I9e5f296b199b6b5af685fa2ba87cc962a41a251f
Szilard Pall [Thu, 14 May 2015 16:34:14 +0000 (18:34 +0200)]
Merge release-4-6 into release-5-0
Change-Id: Ieb8813f1c9def6d9f232c54adebb56f2081020df
Berk Hess [Wed, 13 May 2015 19:54:38 +0000 (21:54 +0200)]
Fixed CUDA error with empty domains
Recent commit
fc8a5624 introduced empty CUDA kernel calls when there
are empty domains. This seems not be allowed by CUDA (we get errors).
Fixed #1734. Refs #1721.
Change-Id: Ifd32a55c8d6756c93a0fcaba29983ae326abc569
Mark Abraham [Wed, 13 May 2015 14:26:41 +0000 (16:26 +0200)]
Version bumps after new release
Numbers bumped, -dev tag replaced.
Change-Id: Ida285019b80e4de6d397f1a34528553404951ede
Mark Abraham [Wed, 6 May 2015 21:05:18 +0000 (23:05 +0200)]
Version 5.0.5
Removed -dev tags from versions. Bumped regressiontest hash.
Change-Id: Ib298b27f48f378dc9c589c3b8bb0c2a77c219960
Berk Hess [Wed, 13 May 2015 10:11:34 +0000 (12:11 +0200)]
Fix segv in g_covar
With fewer trajectory frames than #DOF in the analysis group, g_covar
would print a warning to a NULL pointer instead of stderr.
Fixes #1733.
Change-Id: I546f867d7d95f418212bb5b65005f62de71bdfb8
Szilard Pall [Sun, 10 May 2015 23:03:02 +0000 (01:03 +0200)]
Fix auto-downloaded regression test execution
The regressiontests directory within the tarball has been renamed
to contain a version suffix: regressiontests-BRANCH-COMMITID.tgz
However, the CMake code that sets up the tests and needs the path to the
location of the the regressiontests was not updated and tried to use an
incorrect, hardcoded directory name.
This change implements extracting the directory name from the tarball.
Change-Id: Ic597b69b7a375966e9747e55afcb9ef5921b2b22
Roland Schulz [Tue, 17 Mar 2015 04:03:40 +0000 (21:03 -0700)]
Facilitate linking of static binaries
Minimal solution. The user has to manually set both
-DBUILD_SHARED_EXE=no and CFLAGS=CXXFLAGS=-static, perhaps manage
their own toolchain, and certainly make static libraries available for
all dependencies. Also does not auto-detect if compiler defaults to
static (Cray). Works better than LINK_SEARCH_END_STATIC because
otherwise dynamic flags can be added to the middle if some libraries
in default search path exist as both dyanmic and shared.
Fixes #911
Related to #1641
Change-Id: If7b8192b44c33c861f126e3422df04388d2f2be5
Mark Abraham [Mon, 11 May 2015 19:48:00 +0000 (21:48 +0200)]
Fix uninitialized fields in grompp t_state
Allocating t_state on the stack and using an incomplete
pseudo-constructor means it is possible to write an uninitialized
value in fep_state field to the .tpr file, which we've been
doing. Found with Memory Sanitizer. Perhaps this behaviour lies behind
some of the strange behaviour that is periodically seen on Jenkins.
Fixed by allocating t_state on the heap, which might resolve other
issues, since snew() zeroes the memory as a side effect. Also
initialized fep_state field in init_state().
Refs #1729, #1730
Change-Id: Ibcee7bff1e090fb1991969c4562f44f056868a03
Rossen Apostolov [Thu, 12 Jun 2014 15:03:10 +0000 (17:03 +0200)]
Added a note about sc-coul being auto turned on.
The documentation didn't mention that the soft-core potential
is automatically switched on in the case of a single component
lambda.
Fixes #1421.
Change-Id: Ic478b8b1a68c9ef08764946337f72008808bb2b3
Mark Abraham [Thu, 7 May 2015 13:57:10 +0000 (15:57 +0200)]
Work around gcc 5 warnings with Google Test
There are new unused-variable warnings issued by gcc 5 from constructs
used in Google Test code, and we don't want to see them.
Change-Id: Ia3ff6b8f3ca699f0ef72c003e7359703367e5c5c
Berk Hess [Thu, 7 May 2015 08:45:27 +0000 (10:45 +0200)]
Changed FFTW warning from AVX to no SSE
Changed the cmake FFTW SIMD check warning from complaining about
AVX to complaining about missing SSE or SSE2.
With FFTW 3.3.4 the performance of FFTW with both SSE and AVX enabled
is often a bit better and never much worse than SSE along. Newer
Intel processors probably also perform better with AVX with FFTW 3.3.3
so we should not complain about the combination of SSE(2) and AVX,
but only when SSE is missing.
Change-Id: I3665a35ec98616f015d05e314c8fbb80a8862092
Mark Abraham [Mon, 4 May 2015 18:36:29 +0000 (20:36 +0200)]
Fixed recently-introduced couple-lambda warning message
The grompp warning was not issued correctly. Any simulation that ran
was unaffected.
Refs #1421
Fixes #1722
Change-Id: Ib582d3749c283dbb03504c5ec09f854c518e11a5
Szilárd Páll [Wed, 6 May 2015 11:13:12 +0000 (13:13 +0200)]
Merge "Merge release-4-6 into release-5-0" into release-5-0
Mark Abraham [Mon, 23 Mar 2015 15:49:53 +0000 (15:49 +0000)]
Fix SIMD unit tests on BG/Q
These got broken in https://gerrit.gromacs.org/#/c/3956/2 when I
inadvertently removed -O3 -NDEBUG from the compiler flags after
version 1. With XL compilers, the CMake default for release mode
is -O -DNDEBUG, and that gives an internal compiler error for
the SIMD unit tests.
Also removed commentary about debug versions of XL compilers, since they
are not appropriate when we're no longer hard-coding compilers.
Change-Id: I5cb06695c061336bea7678353efa153d1f6be955
Mark Abraham [Tue, 5 May 2015 22:07:51 +0000 (00:07 +0200)]
Merge release-4-6 into release-5-0
Conflicts:
src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda.cu
Only conflict was from changes to a comment (end-of-line space removed
already in release-5-0, fix on next line in release-4-6). Resolved in
favour of recent fix on release-4-6, and uncrustify re-removed the
space.
Change-Id: Iffed0bc8b9a8c52a96ffe8a9a5baf8f5696f8cf7
Teemu Murtola [Thu, 30 Apr 2015 09:53:15 +0000 (12:53 +0300)]
Avoid rounding errors affecting results in one test
Change the input for one of 'gmx gangle' tests such that it does not
produce angles that are exactly at an edge of the three-bin histogram
used in the test. Rounding could affect the bin into which the angle
was assigned to, causing the test to fail erroneously.
Fixes #1716
Change-Id: I9979a8dfee0b870b3904fa28e274540f892f542d
Justin Lemkul [Wed, 3 Sep 2014 12:23:43 +0000 (08:23 -0400)]
Fix for trjconv preserving box dimensions.
When using -1 in the -box specification, box vectors were
instead set to zero rather than being preserved due to
clear_mat(fr.box). Now, fr.box is conditionally cleared to
prevent this. A fatal error is triggered if the user is
trying to preserve a non-existent box to avoid repeating the
undesired behavior.
Change-Id: I7484c33a7db445e0ad7cf21b2694150eee9ef768
Berk Hess [Thu, 30 Apr 2015 19:32:44 +0000 (21:32 +0200)]
Fixed GPU non-local F copy local conditional
With domain decomposition and GPUs the copy of the non-local part of
the host memory force buffer to the force array was conditional on
the local instead of the non-local list size. This meant that with
an empty non-local list and non-empty local list outdated non-local
forces would be copied. Conversely, with an empty local list all
non-local forces would not be added. Both things can only happen
in systems with partially empty boxes and then only rarely.
Having the local kernel, D2H copyback and F reduction called
conditionally is not useful in practice, so they are now unconditional
to avoid complicating the code.
Fixes #1721.
Change-Id: I06731b0055a4fb5a16168e7180964e0b87443b0f
Olivier Fisette [Sun, 26 Apr 2015 13:54:27 +0000 (15:54 +0200)]
Fix error handling in gmx_tmpnam
The return code of mkstemp was being mis-used for error handling.
This could explain some long-standing issues with (e.g.) DSSP
mysteriously not working even when the user had done everything right.
Fixes #1717
Change-Id: I72b385a751b99c3f49d99a14bfc6964ad776c22d
Michael Shirts [Tue, 3 Mar 2015 17:55:32 +0000 (12:55 -0500)]
Fix for rarely occuring replica exchange error.
It could write to unallocated memory when permutations of all replicas
formed a single cycle (which is rare except for very low numbers of
replicas)
Fixes #1697
Change-Id: I23e8f7213572d3e8b9461cfdd7cb1eb790b45fe3
Berk Hess [Tue, 28 Apr 2015 10:12:40 +0000 (12:12 +0200)]
Re-enabled FMA for AVX-128-FMA
All FMA instructions for AVX-128-FMA were not renamed during a SIMD
macro name change, which effectively removed FMA support for AMD.
Fixes #1719.
Change-Id: I855a379d29742d37c586794a191606a360a89c5f
Berk Hess [Thu, 16 Apr 2015 16:07:49 +0000 (18:07 +0200)]
Correct -ntmpi auto for intel nehalem and older
With thread MPI mdrun would automatically choose 1 MPI rank with up to
16 OpenMP threads on all Intel family 6 CPUs, whereas this was only
intended for Sandy Bridge and later.
Change-Id: I29882375c8569497b3e309de7cc66a2af4d6fa40
David van der Spoel [Thu, 9 Apr 2015 06:48:59 +0000 (08:48 +0200)]
Clarified comments for time-dependent electric fields.
Change-Id: Id5644a14d6a41ca3d9c634dc0eaefe4069c0b618
David van der Spoel [Wed, 8 Apr 2015 14:13:37 +0000 (16:13 +0200)]
Fixed incorrect output of gb_algorith as sa_algorithm.
Change-Id: I96e51e7c9ac931b7635573a38cd700c61bc596e4
Berk Hess [Mon, 29 Sep 2014 14:17:40 +0000 (16:17 +0200)]
Corrected force-switch manual section
There was a factor alpha missing in the formulas for parameter A and B
for the force switch function (the code was correct).
Also removed the introduction and formulas for switching the Coulomb
function, since that's a bad thing to do.
Change-Id: I9739112fc991710199035facde01a1dd2b745703
Mark Abraham [Wed, 18 Mar 2015 09:17:43 +0000 (10:17 +0100)]
Made error message more generic
Fixes #1708
Change-Id: Ib246dbd26a158fc7f672a4289fff1a70a46c26db
Roland Schulz [Tue, 17 Mar 2015 03:27:01 +0000 (20:27 -0700)]
Fix linking with static libxml2
static libxml2 can have a dependency on libz. This uses the same approach
as we did prior for fftw. Always add libz to required libraries (even for
dynamic when not needed) when libz is found.
Change-Id: I75291508d7f36921793e01f920fab644e0324369
Mark Abraham [Tue, 3 Mar 2015 12:29:52 +0000 (13:29 +0100)]
Fix Andersen thermostats
The logic for which type of Andersen thermostat has which
implementation got inverted while implementing support for Random123.
Fixes #1695
Change-Id: Ibb7663160bab0ffbb41e23e0d1e97a151940f47b
Ake Sandgren [Wed, 18 Feb 2015 12:58:21 +0000 (13:58 +0100)]
The test for HAVE_CXX11_REGEX fails since it doesn't use any -std=c++11 flag.
Moving the test for HAVE_CXX11_REGEX after the gmx_test_cxx11 test makes
this work (if the fix for #1691 is in place)
Fixes #1692
Change-Id: Ic86c17d970c464d6fa287de7bec5fc7616871087
Ake Sandgren [Wed, 18 Feb 2015 12:40:56 +0000 (13:40 +0100)]
Checks should use correct CMAKE_REQUIRED_ variables
CMAKE_REQUIRED_DEFINITIONS is for preprocessor defines,
CMAKE_REQUIRED_FLAGS is for compiler flags. Some of
these have been inherited from CMake; the same fixes
have been applied to CMake trunk.
Fixes #1691
Change-Id: I82def95a3378b12a47a5929774ef076c76d336d7
Erik Marklund [Tue, 6 Jan 2015 22:48:29 +0000 (22:48 +0000)]
gmx hbond no longer removes PBC when none is present
Fixes #1662
Change-Id: Ice934285784ac8b8fd95942a089fb1b65b9ecb51
Vedran Miletić [Sun, 1 Feb 2015 19:43:19 +0000 (20:43 +0100)]
Fix removal of symlinks created during installation
Installation of gromacs creates 2 symlinks for libgromacs.so, which become
broken once library is removed. During uninstall, CMake macro EXISTS will follow
symlink and conclude files do not have to be removed.
This patch adds IS_SYMLINK checking in addition to EXISTS.
Change-Id: Id7ef6768549a6fc09fb017e5be9ac286e4f7a026
Roland Schulz [Thu, 12 Feb 2015 10:10:31 +0000 (05:10 -0500)]
Merge release-4-6 into release-5-0
Conflicts:
src/gromacs/mdlib/pme.c (just copyright)
Change-Id: I419b260004806229c6eb9f993413b480041f20cc
Berk Hess [Fri, 6 Feb 2015 13:05:44 +0000 (14:05 +0100)]
Re-fixed PME bug with high OpenMP thread count
PME energies and forces could be incorrect with combined MPI+OpenMP
parallelization. This would, only, happen when
pmegrids->nthread_comm[YY] >= 2, which can only occur with high OpenMP
thread count with multiple prime factors that are large wrt the grid.
It's unlikely that this issue affected production runs.
This bug was fixed in
27189bba, but
6ba80a26 broke it again.
Fixes #1572.
Change-Id: Ic01bed4193062f8ca885fcb6bf347f2ef0de909f
Berk Hess [Mon, 2 Feb 2015 14:11:11 +0000 (15:11 +0100)]
Correct CUDA kernel energy flag
The CUDA kernels calculated energies based on the GMX_FORCE_VIRIAL
flag. This did not cause errors, since (currently) GMX_FORCE_ENERGY
is always set when the virial flag is set. But using the latter flag
gives a small performance improvement when using pressure coupling.
Change-Id: If874e651058dc06c464f0fa810b17ba83146c9a3
Mark Abraham [Fri, 23 Jan 2015 14:28:01 +0000 (15:28 +0100)]
Avoid near-silent generation of zero energies
There is note printed about this case for Verlet+GPU+energy groups,
and this is OK for normal simulations because the decomposition of the
energy into groups is unimportant. However, a user doing such a rerun
is probably seeking the energy decomposition, and in that case getting
zeroes is unexpected behaviour.
Instead, default to not using GPUs with mdrun -rerun -nb auto and more
than one energy group. In that case with mdrun -rerun -nb gpu, give a
fatal error and suggest the probable solutions.
Change-Id: I3006ed3ded31620d4faf4fc4a24cc85e9322c5c2
Mark Abraham [Mon, 19 Jan 2015 10:55:35 +0000 (11:55 +0100)]
Fix use of simd.h
TPI correctness check was inactive.
Use of SIMD preprocessor symbols in forcerec.c was OK because it got
simd.h from nbnxn_simd.h, but also fixed the erroneous use of
transitive inclusion of simd.h just in case that helps someone.
Fixes #1673
Change-Id: Iaf42a4ec420139485de3e509662ca0892fa662c5
Mark Abraham [Fri, 23 Jan 2015 12:33:48 +0000 (13:33 +0100)]
Update FindCUDA work-around
My patch for this issue is in the latest 3.1.1 release for
CMake after all.
Change-Id: I925f58b02b1f2056de84e53d37584051244e770e
Berk Hess [Wed, 21 Jan 2015 11:33:40 +0000 (12:33 +0100)]
Corrected RDTSCP warning text
Change-Id: If66e2d3535df8bb96be29e628546ebb8706afd57
Mark Abraham [Mon, 5 Jan 2015 08:24:06 +0000 (08:24 +0000)]
Fix BlueGene/Q build with recent CMake
Works around broken FindCUDA.cmake in CMake 3.0 and 3.1, when cross
compiling, when the (optional) CMAKE_SYSTEM_PROCESSOR is not set.
Change-Id: I130ac95a84d4a67a7dbf6164ea93c37cda61066a
Berk Hess [Mon, 12 Jan 2015 14:24:35 +0000 (15:24 +0100)]
Fix allocation issue with VV integrator
Allocation of temp buffers for VV and VVAK now uses state->natoms
instead of top_global->natoms.
Fixes #1669.
Change-Id: I64947405c138f601db7daa4f9628a04cff9fa8bb
Mark Abraham [Tue, 9 Dec 2014 12:42:15 +0000 (13:42 +0100)]
Fix and suppress warnings on BlueGene/Q
Extended the solution of I7158e16557 to the Program() function.
Suppressed warning about memory limits during compilation
Change-Id: Ib48fd7614817b8729fce0b0add9b7d68ce5608ff
Mark Abraham [Thu, 8 Jan 2015 18:37:46 +0000 (19:37 +0100)]
Handle ivec* correctly in DD error message
Fixes #1659
Change-Id: I2d0f666801c61fb1ecb56048cd8a776f42d272ee
Berk Hess [Mon, 15 Dec 2014 19:31:44 +0000 (20:31 +0100)]
Fixed pbc=xy + 2 walls + Verlet scheme
Fixes #1660.
Change-Id: Id28f5d164c24d9bc6cb80faa8f4cba5e95262995
Berk Hess [Wed, 17 Dec 2014 10:26:21 +0000 (11:26 +0100)]
Fix bug FE + GPU + 2/3D domain decomposition
Fixes #1661
Change-Id: Ia84f6c1219a2052df0ed1c5c4d7f66c37ed7f67b
Roland Schulz [Tue, 28 Oct 2014 21:49:08 +0000 (17:49 -0400)]
Fix CMP0054 cmake 3.1.0 warnings
Change-Id: I5d91289a543240fa6f493b7f7738522f3c268c07
Mark Abraham [Wed, 1 Oct 2014 12:31:12 +0000 (14:31 +0200)]
Version bumps after new release
Numbers bumped, -dev tag replaced.
Change-Id: I59bbe346656f1892e154f899bac361fcfeea65a1
Mark Abraham [Tue, 9 Dec 2014 10:42:34 +0000 (11:42 +0100)]
Version 5.0.4
Removed -dev tags from versions. Bumped regressiontest hash.
Change-Id: Idcb1c288b0119c17a9ad644179e96c4734a798f6
Mark Abraham [Mon, 15 Dec 2014 17:57:47 +0000 (18:57 +0100)]
Merge "Merge release-4-6 into release-5-0" into release-5-0