alexxy/gromacs.git
8 years agoVersion bumps after new release
Mark Abraham [Sun, 26 Jul 2015 09:31:00 +0000 (11:31 +0200)]
Version bumps after new release

Change-Id: Icfa27c2f62f4eb83cc57102e8b9239e1d8891e38

8 years agoVersion 5.0.6
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

8 years agoUpdate advice about grompp -t
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

8 years agoFixed gmx sasa output residue numbering
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

8 years agoGive bTypePerturbed a valid initial value
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

8 years agoFix grompp .edr IO estimate for free-energy calcs
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

8 years agoMerge release-4-6 into release-5-0
Roland Schulz [Wed, 8 Jul 2015 07:28:27 +0000 (03:28 -0400)]
Merge release-4-6 into release-5-0

Change-Id: I25fea1226adfaa332c5c7b0630e99031266178f4

8 years agoFix bug in GPU list balancing
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

8 years agoFix copy-paste bug in gmx distance
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

8 years agoFix bugs in gmx dos
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

8 years agoMerge release-4-6 into release-5-0
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

8 years agoFix bug removing multiple dihedrals in main rtp entries
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

8 years agoFix CUDA inter-stream synchronization issue
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

8 years agoFix single-prec. softcore issue in 4.6 branch
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

8 years agoFixed Verlet buffer issue with 2-wide SIMD
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

8 years agoMerge release-4-6 into release-5-0
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

8 years agoFix buffer size issues in string database
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

8 years agoFix mdrun -confout sometimes affecting final .edr frame
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

8 years agoFix edr appending and exact continuation
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

8 years agoFix binary exact continuation for trajectories
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

8 years agoMerge release-4-6 into release-5-0
Mark Abraham [Wed, 24 Jun 2015 21:33:24 +0000 (23:33 +0200)]
Merge release-4-6 into release-5-0

Change-Id: I6cc179f767cc4e0fc1dc3fc0b85428df986c16df

8 years agoAvoid accessing hackblocks for x2top
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

8 years agoRemoved buggy -smooth hack in hbond module
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

8 years agoFix g_energy average/RMSD bug
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

8 years agoUse MPI_THREAD_FUNNELED when available
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

8 years agoFix segfault in random access XTC searching
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

8 years agoFix argument order error for g_rmsdist
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

8 years agoFix gro errors with PDB insertion codes
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

8 years agoUpdated docs for g_gyrate
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

8 years agoFix potential buffer overflow in pdb2gmx
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

8 years agoDisallow infinite epsilon with PME or GB.
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

8 years agoRemove GMX_MAX_MPI_THREADS
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

8 years agoFix reproducibility bug in fft5d
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

8 years agoHandle multidir/multisim with single argument correctly
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

8 years agoFix incorrect shift with g_density -center
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

8 years agoStop people installing into the build tree
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

8 years agoFix pairs_nb not recognized as part of moleculetype
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

8 years agoMerge "Merge branch release-4-6 into release-5-0" into release-5-0
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

8 years agoDocument limitations of trjconv -dump
Mark Abraham [Thu, 28 May 2015 14:34:47 +0000 (16:34 +0200)]
Document limitations of trjconv -dump

Change-Id: I336791a2eeb84a773de1ea96b8e36a42ac3fc66e

8 years agoMerge branch release-4-6 into release-5-0
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

8 years agoadd last two GROMACS paper citations
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

8 years agoUse stat to check that paths are equivalent
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

8 years agoDon't use PME ranks with GPUs and -npme=-1
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

8 years agoWork-around for ICC 15 on Phi
Roland Schulz [Thu, 5 Feb 2015 06:28:51 +0000 (01:28 -0500)]
Work-around for ICC 15 on Phi

Change-Id: Id72e6fb124974f0d8572a1715bc1f25e536f7c69

8 years agoDon't set CFLAGS for Phi in toolchain
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

8 years agoFix use of hard-coded temporary filename
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

8 years agoFix misuse of gmx_simd_check_and_reset_overflow
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

8 years agoAvoid crash with empty reference for 'same as' selection
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

9 years agoFix handling of real-valued 'to' selection ranges
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

9 years agoSuppress GCC5 warnings with internal Boost
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

9 years agoAssert the size of non-bonded GPU work units
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

9 years agoFix own-FFTW build
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

9 years agoMerge release-4-6 into release-5-0
Szilard Pall [Thu, 14 May 2015 16:34:14 +0000 (18:34 +0200)]
Merge release-4-6 into release-5-0

Change-Id: Ieb8813f1c9def6d9f232c54adebb56f2081020df

9 years agoFixed CUDA error with empty domains
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

9 years agoVersion bumps after new release
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

9 years agoVersion 5.0.5
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

9 years agoFix segv in g_covar
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

9 years agoFix auto-downloaded regression test execution
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

9 years agoFacilitate linking of static binaries
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

9 years agoFix uninitialized fields in grompp t_state
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

9 years agoAdded a note about sc-coul being auto turned on.
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

9 years agoWork around gcc 5 warnings with Google Test
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

9 years agoChanged FFTW warning from AVX to no SSE
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

9 years agoFixed recently-introduced couple-lambda warning message
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

9 years agoMerge "Merge release-4-6 into release-5-0" into release-5-0
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

9 years agoFix SIMD unit tests on BG/Q
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

9 years agoMerge release-4-6 into release-5-0
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

9 years agoAvoid rounding errors affecting results in one test
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

9 years agoFix for trjconv preserving box dimensions.
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

9 years agoFixed GPU non-local F copy local conditional
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

9 years agoFix error handling in gmx_tmpnam
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

9 years agoFix for rarely occuring replica exchange error.
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

9 years agoRe-enabled FMA for AVX-128-FMA
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

9 years agoCorrect -ntmpi auto for intel nehalem and older
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

9 years agoClarified comments for time-dependent electric fields.
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

9 years agoFixed incorrect output of gb_algorith as sa_algorithm.
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

9 years agoCorrected force-switch manual section
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

9 years agoMade error message more generic
Mark Abraham [Wed, 18 Mar 2015 09:17:43 +0000 (10:17 +0100)]
Made error message more generic

Fixes #1708

Change-Id: Ib246dbd26a158fc7f672a4289fff1a70a46c26db

9 years agoFix linking with static libxml2
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

9 years agoFix Andersen thermostats
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

9 years agoThe test for HAVE_CXX11_REGEX fails since it doesn't use any -std=c++11 flag.
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

9 years agoChecks should use correct CMAKE_REQUIRED_ variables
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

9 years agogmx hbond no longer removes PBC when none is present
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

9 years agoFix removal of symlinks created during installation
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

9 years agoMerge release-4-6 into release-5-0
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

9 years agoRe-fixed PME bug with high OpenMP thread count
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

9 years agoCorrect CUDA kernel energy flag
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

9 years agoAvoid near-silent generation of zero energies
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

9 years agoFix use of simd.h
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

9 years agoUpdate FindCUDA work-around
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

9 years agoCorrected RDTSCP warning text
Berk Hess [Wed, 21 Jan 2015 11:33:40 +0000 (12:33 +0100)]
Corrected RDTSCP warning text

Change-Id: If66e2d3535df8bb96be29e628546ebb8706afd57

9 years agoFix BlueGene/Q build with recent CMake
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

9 years agoFix allocation issue with VV integrator
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

9 years agoFix and suppress warnings on BlueGene/Q
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

9 years agoHandle ivec* correctly in DD error message
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

9 years agoFixed pbc=xy + 2 walls + Verlet scheme
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

9 years agoFix bug FE + GPU + 2/3D domain decomposition
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

9 years agoFix CMP0054 cmake 3.1.0 warnings
Roland Schulz [Tue, 28 Oct 2014 21:49:08 +0000 (17:49 -0400)]
Fix CMP0054 cmake 3.1.0 warnings

Change-Id: I5d91289a543240fa6f493b7f7738522f3c268c07

9 years agoVersion bumps after new release
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

9 years agoVersion 5.0.4
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