Christoph Junghans [Sun, 13 Aug 2017 15:52:18 +0000 (09:52 -0600)]
Supported quiet trajectory-handling I/O
Permits GMX_TRAJECTORY_IO_VERBOSITY=0 to be set to keep frame-reading
code quiet, which is convenient for tools using libgromacs.
Change-Id: I873dcf229d9c20c8dd3b5097784236c2c2c478c1
Mark Abraham [Sun, 3 Sep 2017 13:59:12 +0000 (15:59 +0200)]
Fixes for Solaris
Suggested by Maureen Chew, of Oracle.
Change-Id: I5c3f868721944e7586b7001f3ffdf6ab17953526
Aleksei Iupinov [Mon, 4 Sep 2017 11:13:40 +0000 (13:13 +0200)]
Merge "Merge branch release-5-1 into release-2016" into release-2016
Mark Abraham [Sun, 3 Sep 2017 13:48:10 +0000 (15:48 +0200)]
Fix compiler flags for using MKL
Change-Id: I860e43da8de3b563167ecee1f52e2017a0f27f7f
Mark Abraham [Sun, 3 Sep 2017 14:51:20 +0000 (16:51 +0200)]
Merge branch release-5-1 into release-2016
Change-Id: I047ad1ab813b69582bdf5f4681549171724323f6
Mark Abraham [Fri, 25 Aug 2017 16:17:19 +0000 (18:17 +0200)]
Fix flat-bottomed position restraints with multiple ranks
Reallocation was never done for flat-bottomed restraints,
so the indexing could go out of range, leading to segfaults.
Fixes #2236
Change-Id: I866f96684fc5a2fef6391ed62a70abdaa1581a33
Mark Abraham [Thu, 13 Jul 2017 11:23:52 +0000 (11:23 +0000)]
Fix compilation issues with ARM SIMD
ARM_NEON has never supported double precision SIMD, so disabled it
with GROMACS double-precision build.
The maskzR* functions used the wrong argument order in the debug-mode
pre-masking (and sometimes in a typo-ed syntax).
In the shift operators, the clang-based compilers (including the
armclang v6 compiler series) seem to check that the required immediate
integer argument is given before inlining the call to the operator
function. The inlining seems to permit gcc to recognize that the
callers always use an immediate. In theory, the new code might
generate code that runs a trifle slower, but we don't use it at the
moment and the cost might be negligible if other effects dominate
performance.
Change-Id: I61dd4d906f7d5b77bc4e851cfaaaff059e5a67fe
Vedran Miletić [Mon, 14 Aug 2017 15:33:31 +0000 (17:33 +0200)]
Improve the "files not present" error message
It's possible to use -deffnm in restarts even if it wasn't used in
the initial simulation. This can lead to absurd situations such as:
Expected output files not present or named differently:
pullx.xvg
pullf.xvg
where pullx.xvg and pullf.xvg are present and named exactly as listed,
but GROMACS expects them to be named as -deffnm requested.
The improved error message suggest to the user to check for that
possibility.
Refs #942 (partial workaround)
Change-Id: I983a7a2be791a634b877b0cbadb34e56a1ee2f82
Aleksei Iupinov [Thu, 17 Aug 2017 10:23:49 +0000 (12:23 +0200)]
Merge "Merge branch release-5-1 into release-2016" into release-2016
Vedran Miletić [Tue, 13 Jun 2017 16:38:51 +0000 (18:38 +0200)]
Migrate some of the terminology pages
Change-Id: I2671535659cc0e62aa44cd5056e3924180b6abba
Vedran Miletić [Tue, 13 Jun 2017 16:38:31 +0000 (18:38 +0200)]
Migrate the documentation of the run-time errors
From the wiki, cleaned up and updated with new tool names.
Change-Id: Ia21e227b660d84b1b3f72f1f6e30cf29e5de9a23
David van der Spoel [Wed, 2 Aug 2017 07:15:50 +0000 (09:15 +0200)]
Worked around missing OpenMP implementation in orires.
The orientation restraint code is not aware of OpenMP threads
and uses some global information. By only running it on the
master node results are now independent of number of threads
used.
Fixes #2223
Change-Id: Ie86f4bd4e645fa71a58114950f6a297b5788e022
Mark Abraham [Tue, 15 Aug 2017 13:26:34 +0000 (15:26 +0200)]
Merge branch release-5-1 into release-2016
Change-Id: Ib769849746a3e55f3e7ae4067f0b6f549e66bd2c
Jiri Kraus [Wed, 19 Jul 2017 15:51:45 +0000 (08:51 -0700)]
CUDA 9/Volta support for the nonbonded module
The Volta architecture introduces independent thread scheduling. This
new architectural feature breaks implicit warp synchronous programming
and requires new intrinsics for warp wide operations like shfl.
This change implements the necessary sync point for the Volta
architecture and replaces the deprecated warp-intrinsics with their
_sycn version.
Note that the current implementation is conservative and aims for Volta
compatibility only and the implementation is likely not optimal (for
details see nbnxn_cuda_kernel.cuh).
Change-Id: I38dd572992cf14ce5a7158d0bbc3086b54f18676
Mark Abraham [Thu, 20 Jul 2017 07:16:37 +0000 (09:16 +0200)]
Fix value of Ewald shift
In all the short-ranged kernel flavours, sh_ewald is subtracted from
rinv, which have inconsistent dimensions. Fortunately, rcutoff is
often close to 1, and the inconsistent shifts often cancel in
practice, and energy differences computed on neighbour lists of the
same size will have the error cancel. The difference doesn't even
show up in the regressiontests, but would if we had a unit test
of a single interaction.
Fixes #2215
Change-Id: Ia2ea57f3bd9d521879783b207353d9d6f4ccb4a8
Carsten Kutzner [Thu, 10 Aug 2017 09:44:49 +0000 (11:44 +0200)]
Corrected the PDF manual to reflect that all tools are called gmx <tool>
There were still a few occurrences of the old-style g_tool naming,
this patch removes. Deliberately left g_membed as is, because there
was never a gmx membed but instead it got incorporated into mdrun.
Change-Id: I42d9d07f749be7358ed90dc7701249a1e696334b
Mark Abraham [Sun, 6 Aug 2017 10:17:13 +0000 (12:17 +0200)]
Removed unused host-side allocation code
Even though the code is not called ever, compiling with gcc 6 and CUDA
9.0 triggers our static assertion preventing the inadvertent use of
smalloc on a C++ type with a constructor.
Fixes #2227
Change-Id: I2cb66e3f9e90cd809467f2c9b42c07b97e2b19ca
Berk Hess [Thu, 27 Jul 2017 20:09:30 +0000 (22:09 +0200)]
Fix orientation restraint reference
The resetting of the COM of the molecule with orientation restraints
for fitting to the reference structure was done with the COM of the
reference structure instead of the instantaneous structure. This does
not affect the restraining (unless ensemble averaging is used), only
the printed orientation tensor.
Fixes #2219.
Change-Id: I4984ee7f64780a5c3850feb4bfe4a624afd5cec7
Berk Hess [Wed, 26 Jul 2017 10:09:12 +0000 (12:09 +0200)]
Add check for nr of orientation restraints
Change-Id: I78be294cd1c73db1cdd296e636dfc2806fa90c75
Berk Hess [Tue, 25 Jul 2017 17:26:13 +0000 (19:26 +0200)]
Fix bugs with orientation restraints
The orientation restraint initialization got moved to before the
initialization of the domain decomposition, which made the check
for domain decomposition fail.
Also fixed orientation restraints not working with the whole system
as fitting group.
Change-Id: If5b4659fa90c5d8e9106d260b530b47c735acb0e
(cherry picked from commit
fea8651dd1a71dccc7d407ef1a59f5440db3a9e6)
Carsten Kutzner [Thu, 6 Jul 2017 14:05:44 +0000 (16:05 +0200)]
Added missing .mdp file documentation for the enforced rotation module
Change-Id: I08398b0a53ef6154a6ac8005890e21f529659dd0
(cherry picked from commit
77fd72b9dc0af1432fb6ff8391f3842f699340d7)
Vedran Miletić [Tue, 4 Jul 2017 14:49:11 +0000 (16:49 +0200)]
Fix formatting of gmx msd Description
When [tt] isn't followed by a space or a punctation symbol, Sphinx will
generate wrong HTML output (preformated text ending tag will not be
where it should be). The formulation provided here is also slightly
more readable.
Change-Id: I328921b0e724e8f997fd07615e84cc8d87e7153f
Mark Abraham [Wed, 28 Jun 2017 10:44:24 +0000 (12:44 +0200)]
Fix specification for gcc-6
We decided to refer to modern gcc versions in a way that makes clear
that we're aiming to test a suitable release from that major version,
not any particular one.
Refs #2161
Change-Id: Idd985d7e4e45b58aeb9bd4f711622a91017a18a4
Mark Abraham [Wed, 21 Jun 2017 12:37:09 +0000 (14:37 +0200)]
Minor improvements to test configs
No functional changes - this just improves the way we specify and
document intent.
Unless there's interaction effects being tested, only one
configuration should document that it is intended to test e.g. "thread
MPI with CUDA".
Made that specific for one such config, and removed the documentation
from a second config, even though it incidentally tests such code
(because it is currently the default).
Added a config that specifically tests thread-MPI (which it was
coincidentally already doing).
Clarified that the test config that covers the SIMD implementation of
search for pair lists to use on the GPU - which SIMD implementation of
the search is tested is merely coincidental, rather than a specific
choice.
Change-Id: Id1889753623f7808cd1bb2fb060ee2b2852dfd94
Carsten Kutzner [Fri, 23 Jun 2017 11:28:49 +0000 (13:28 +0200)]
Fixed #2206 IMD interface malfunctions
Change-Id: Ia58586a281591cefea8a382a40e92e3e30b56b75
Szilárd Páll [Mon, 19 Jun 2017 21:35:38 +0000 (23:35 +0200)]
Re-enable accidentally lost DD warning
After the message got refactored in
147de64 the dd_warn() call was left
out and therefore a DD warning message would get assembled but never
printed.
NOTE: skip when merging into master, the fix has been added together
with modernization (Change-Id I860f52cf)
Change-Id: Ieaeae3bae69e029b671bf18a3cce6b1d2aebcea9
Carsten Kutzner [Thu, 15 Jun 2017 11:40:15 +0000 (13:40 +0200)]
Fixed a consistency check in make_edi for flooding
If one sets up a flooding .edi input file with gmx make_edi,
the code should check that one does not use of the last 6 eigenvectors
of the covariance matrix, which correspond to the rotational and
translational degrees of freedom.
The check that was in the code erroneously checked against the
number of eigenvalues neig that was stored in the .xvg file,
not against the total number of eigenvectors which depends on
the number of atoms nav used in gmx covar. Thus the original
check would always fail if the .xvg eigenvalue file contained
1-6 values only.
Change-Id: Ib293f6b69b80fbf014a7507431beaf1f939849ac
Berk Hess [Sat, 10 Jun 2017 09:00:14 +0000 (11:00 +0200)]
Disable PME tuning with the group scheme
PME tuning with the group cut-off scheme does not work, as it did not
set fr->bTwinRange. Thus interactions between charge-group pairs at
distances between rlist and rcoulomb are missing. The search cost
does go up, so the PME tuning does not produce very large cut-off's
and grid spacings. This limits the error, but also the chance of
detection.
The fr->bTwinrange bug is easily fixed, but also the cut-off for
the domain decomposition communication is set incorrectly.
Since the code paths of the deprecated group scheme are too much
effort to fix, we simply disable PME tuning with the group scheme.
PME tuning is now completely disabled with the group scheme, and
documented.
Fixes #2200.
Change-Id: I6d8ceeecf54f392e1e8d22a57bfc8646c9b7e722
Berk Hess [Mon, 12 Jun 2017 15:42:37 +0000 (17:42 +0200)]
Fix null pointer print in DD
Fixed a (rather harmless) print of a null pointer string during
DD initialization. This would only show up with mdrun -dlb yes.
Change-Id: I2ea16ce11a969d6102c6b6cac0d3853aa9dd4c86
Berk Hess [Thu, 8 Jun 2017 09:38:17 +0000 (11:38 +0200)]
Fix COM pull force with SD
The reported COM pull force when using the SD integrator was random
only. Now the pull force is summed over the systematic and random
SD update components.
A better solution is to not add the random force at all, but such
a change should not be done in a release branch.
Fixes #2201.
Change-Id: I10a56b30b952869396d170914bcbc0163299a1c8
Vedran Miletić [Tue, 6 Jun 2017 15:21:50 +0000 (17:21 +0200)]
Document floating-point arithmetic
From the wiki, expanded with the links to David Goldberg's legendary
paper and its appendix.
Change-Id: Idb18ff37d4e8495412847f06872af693283dd747
Vedran Miletić [Tue, 6 Jun 2017 15:21:21 +0000 (17:21 +0200)]
Expand Performance section of the user guide
Salvage and clean up the content from the wiki to expand the user
guide. Minor fixes to the rest of the Performance section.
Change-Id: I39aba257c4c761a3a1ef428c64424da6fa449158
Szilárd Páll [Thu, 1 Jun 2017 12:47:39 +0000 (14:47 +0200)]
Suppress sm_2x deprecation warning with CUDA 8.0
The nvcc that comes with CUDA is is very noisy about deprecation of
Fermi hardware which is not nice and it also interferes with our CI
collecting nvcc warnings.
Refs #2142
Change-Id: I67b53eaab5744b59599d489735f80684580b89e7
Szilárd Páll [Thu, 1 Jun 2017 13:27:25 +0000 (15:27 +0200)]
Add CUDA 8.0 + SIMD pre-submit test
We've only tested gcc 4.8 + CUDA 7.5 because that was about the newest
setup supported at the time of the release. Shortly after CUDA 8.0 was
released and gcc 5 has been supported since. At the same time this
test also covers the SIMD code in the GPU path (i.e. search) that has
previously not been covered.
Change-Id: Idc8855deea931c5906f9eaa3d53e96bc282632db
Berk Hess [Fri, 2 Jun 2017 07:22:23 +0000 (09:22 +0200)]
Fix initial temperature reporting
When continuing a simulation from a checkpoint, mdrun could report
double the intial temperature when nstcalcenergy=1 of nsttcoupl=1.
Note that this only affected reporting, the actual velocities were
correct.
Now the initial temperature is no longer reported for continuation
runs, since at continuation there is no "initial" temperature.
Fixes #2199.
Change-Id: Ib165620f0b6228e96b412ce7b8fdb681d7701b68
Mark Abraham [Mon, 29 May 2017 17:18:10 +0000 (19:18 +0200)]
Fix NVML error messages
These should refer to the API calls that failed, e.g. when users lack
permissions to change clocks.
Change-Id: If92fbcecb874b4853e2b4085bee6cfca012ab62a
Jiri Kraus [Tue, 23 May 2017 08:29:49 +0000 (10:29 +0200)]
Update FindNVML to fix #2061
Fixes FindNVML to reflect move of the NVML development files from the
GDK to the CUDA Toolkit with CUDA 8.
Change-Id: I1d99ebff1fa32ba1fd44a37dcb43158da733daed
Vedran Miletić [Wed, 24 May 2017 12:40:46 +0000 (14:40 +0200)]
Standardize use of |Gromacs| in reST docs
Where possible, replace all occurences of GROMACS with |Gromacs|.
Change-Id: I4835a148aefb2d8b088ca63b444bb1107520fc52
Mark Abraham [Thu, 25 May 2017 23:59:34 +0000 (01:59 +0200)]
Test invsixthroot function as intended
Change-Id: I33fab8d4b8e848eb5d0bebec8e0f60f213bfd77d
Mark Abraham [Mon, 15 May 2017 13:32:27 +0000 (15:32 +0200)]
Updated use of gcc-5 specifiers
Removed some TODOs that have been resolved by previous merge to
master.
Refs #2161
Change-Id: Ic4d47bcd282f9f973eca996168234a8b48948214
Berk Hess [Mon, 15 May 2017 08:49:44 +0000 (10:49 +0200)]
Fix LJPME + switch grompp error
An error call was missing in grompp when LJPME was requested in
combination with a force or potential switch modifier.
Fixes #2174.
Change-Id: I92bc718869bf98b17efef1bab16c6457e07d0544
Justin Lemkul [Thu, 11 May 2017 00:45:37 +0000 (20:45 -0400)]
Clarifications to editconf help text.
It is possible that users can confuse -c with -center so this
patch makes it clear that -center doesn't do anything unless the
user really wants to shift the center of the system away from the
middle of the box.
Fixes #2171
Change-Id: Icd9048b00219ff83eb0297046bb7dfd8e8d7de10
(cherry picked from commit
36138bbb4ddcf28080819b11e9302f2825f4ebab)
Berk Hess [Tue, 9 May 2017 20:45:18 +0000 (22:45 +0200)]
Fix bugs in double Simd4 implementations
The double precision version of reduce() and dotProduct()
returned a float with AVX_128_FMA, AVX_512, MIC and IBM_QPX.
Only reduce() is used in double, in the PME force gather.
The same bugs were fixed before for AVX(2)_256.
Refs #2162.
Change-Id: If1a5f044fc70ba1e8d7928a61e4e2c3d170a3922
Mark Abraham [Tue, 9 May 2017 19:52:15 +0000 (21:52 +0200)]
Fix formatting of MKL cmake docs
Change-Id: Ibd97e75b416e19fdf183abfe2381ddc2ffd8b490
Berk Hess [Fri, 21 Apr 2017 13:59:37 +0000 (15:59 +0200)]
Fix bugs in double AVX(2)_256 Simd4
The double precision version of reduce() and dotProduct()
returned a float with AVX_256 and AVX2_256.
Only reduce() is used in double, in the PME force gather.
Fixes #2162.
Change-Id: Iaa44921215e726726b2da223f3677c8637bc65ae
Berk Hess [Wed, 22 Mar 2017 18:16:31 +0000 (19:16 +0100)]
Fix unused SIMD PME table kernel
The nbnxn 2xNN PME kernel with tabulated correction had incorrect
forces by a factor 1 to 2. This kernel flavor could only be selected
manually by setting an environment variable.
Change-Id: I9a0ab8b155000ed43abbea3a9a7a58f692a884ec
Erik Lindahl [Sat, 1 Apr 2017 08:14:03 +0000 (10:14 +0200)]
Fixed AVX-512F compiler flags
Avoid using the MIC code generation flags for
the Xeon code path.
Change-Id: Ife0d36b95dda53edcd62959bd513c7d74b263766
Mark Abraham [Thu, 9 Mar 2017 17:49:12 +0000 (18:49 +0100)]
Propose a post-submit matrix
A recent bug would have been prevented if some testing of
separate PME ranks had been occuring.
Extended gromacs.py to permit regressiontests to run
with separate PME ranks, and/or designated numbers of
ranks, or GPU ids.
Quieted some newly exposed warnings.
Documented more of the reasoning behind matrix choices, to help us
maintain better. Noted various TODOs for better testing coverage.
Refs #2134
Change-Id: Ib9828ca769d7a446c61fb8bb7a68128a38991aba
Vedran Miletić [Mon, 3 Apr 2017 15:46:05 +0000 (17:46 +0200)]
Really enable avx512 in fftw only for select compilers
Commit
aa905d6 attempted to enable avx512 on GCC 4.9 or newer and
Clang 3.9 or newer, but had elseif() in place of else() and resulted
in no SIMD being enabled.
This patch really enables avx512 on supported compilers, and takes
care of all compilers we officially support (MSVC, GCC, Clang, ICC).
Change-Id: Ia626b4cc6c82a2155d633f1482b99d3b2601fa3a
Teemu Murtola [Tue, 28 Mar 2017 17:16:38 +0000 (20:16 +0300)]
Fix memory access issues in gmx solvate
There were out-of-bounds access if
1) the solvent configuration was given as a .pdb file, or
2) there were more than one type of residue in the solvent (which
triggered sorting).
Also fix a memory leak in the sorting routine.
Should fix crashes mentioned in #2148.
Change-Id: If08a7bea989803dc5641f53478004e830268750d
Mark Abraham [Tue, 21 Mar 2017 10:14:15 +0000 (11:14 +0100)]
Fix parameter description for dihedral_restraints
The force-constant parameter for dihedral_restraints was not
documented in the table of interaction types.
Refs #2144
Change-Id: Iac28e88e966f1c2b7a8fe533e97abe94173470eb
Mark Abraham [Sat, 18 Mar 2017 00:24:58 +0000 (01:24 +0100)]
Add section to user guide for managing simulations
Reworked wiki documentation on extending simulations, doing restarts
and reproducibility.
Documented mdp option simulation-part.
Change-Id: I3bbae8f25cb5e2fef6163bb073f90bd48af4a0a7
Mark Abraham [Thu, 16 Mar 2017 14:29:48 +0000 (15:29 +0100)]
Fix string handling for gcc 7
Pre-release gcc 7 warns about potential buffer overflows, so we may as
well fix them.
Change-Id: Ia154faf13b84473f073e5d553c7c275c19cbccec
Berk Hess [Thu, 16 Mar 2017 11:45:00 +0000 (12:45 +0100)]
Replace instance of group by coord in pull mdp docs
Change-Id: I8d778f93c445b74764596f33f5cbfc39ee2ff1f4
Mark Abraham [Tue, 14 Mar 2017 13:08:55 +0000 (14:08 +0100)]
Bumped version to prepare for next patch release
Change-Id: Ic368ff6186fb35d86fc2e7dfb6c6513eb48235d5
Mark Abraham [Mon, 13 Mar 2017 17:11:56 +0000 (18:11 +0100)]
Version 2016.3
Bumped regressiontests hash and minor soversion as usual.
Change-Id: I9cd923d17fd9de1a873d316fdac168d986326d8c
Ake Sandgren [Thu, 9 Mar 2017 13:57:07 +0000 (14:57 +0100)]
Fix tune_pme detection of GPU support
Change-Id: I60540cefe912f9ae3f602f90fa962bcf62bc61b4
Ake Sandgren [Thu, 9 Mar 2017 13:54:43 +0000 (14:54 +0100)]
Fix spacing in tune_pme call to thread-mpi mdrun
Change-Id: I6443ec513a1e4f92d1dc4b65b5ffd4826f93bc24
Teemu Murtola [Sat, 11 Mar 2017 12:25:40 +0000 (13:25 +0100)]
Update copyright year for gmx -version
Change-Id: Ic981569e7bf73457341ac8c804a4c32eb476dca2
Szilárd Páll [Tue, 7 Mar 2017 02:49:52 +0000 (03:49 +0100)]
Fix mdrun hanging upon exit with sep PME ranks
Commit
1d2d95e introduced a check and early return to skip printing perf
stats when no valid wallcycle data was collected (due to missed reset).
However, as the validity of wallcycle data does not get checked/recorded
on separate PME ranks, mdrun deadlocks before exit in collective comm
that PME ranks never enter.
This change fixes the hang by refactoring the printing code to use a
boolean rather than an early return. This means the normal code path
is unaffected in all cases (only the simulation master can ever write
reports), and the case where it is invalid to write a report
(premature termination) works correctly because all ranks communicate
the data for the report that is never written (and efficiency is not
of concern in this case).
Fixes #2131
Change-Id: If8b0813444d0b00a1a9a4a21d30fc8655c52752a
Mark Abraham [Tue, 7 Mar 2017 12:16:19 +0000 (13:16 +0100)]
Fix minor issues in gmx traj -av -af
Made the description of the xvg y-axis more useful. Also works for
option -af.
Refs #2133
Change-Id: If3796ddbd9841fc442b765afab9ad249954f9316
David van der Spoel [Fri, 3 Mar 2017 06:46:05 +0000 (07:46 +0100)]
Removes rogue printing to xvg file in gmx mindist
-xvg none is now adhered to, and printing is preceded by
a comment.
Fixes #2129
Change-Id: Idf7135c7e74ea17747e0f5cacc9298a619e6c90d
Mark Abraham [Fri, 27 Jan 2017 17:57:10 +0000 (18:57 +0100)]
Fixes for xl compilers 13.1.5 on Power8
Applied Erik's recent fix also for the atan2SinglePrecisionAccuracy
test.
Refs #2102
Change-Id: I230dac8084be2d0693cb616b5a5951b0ae4b71a6
Vedran Miletić [Thu, 2 Mar 2017 14:36:52 +0000 (15:36 +0100)]
Document that we now support AMD GCN on Mesa/LLVM
AMD GPUs using Mesa 17.0+ and LLVM 4.0+ run GROMACS using OpenCL.
Change-Id: I899c4f1c0581fdb3ea635c1f19f37b66c5dc3411
Vedran Miletić [Wed, 1 Mar 2017 14:52:25 +0000 (15:52 +0100)]
Enable avx512 in fftw only if compiler supports it
Enabling avx512 requires GCC 4.9 or newer or Clang 3.9 or newer. Since
we support compilers older than those, we can not afford to enable
avx512 in own fftw unconditionally.
Change-Id: I17dba4e16f3d3566c1f5188497d0467d1d2665a0
Gerrit Code Review [Tue, 28 Feb 2017 13:13:33 +0000 (14:13 +0100)]
Merge "Merge branch release-5-1 into release-2016" into release-2016
David van der Spoel [Fri, 10 Feb 2017 06:43:44 +0000 (07:43 +0100)]
Fixes bug in gmx solvate with -shell that yielded 0 SOL.
In the transition from genbox to the new solvate.cpp some
incorrect logic was introduced.
Added test for -shell.
Implemented test for conf files that check the title and
number of atoms. In principle this could be extended to
other structure files.
Fixes #2119
Change-Id: I88feef55f33c7076b9c27a9831ee04d890333b76
Michael Shirts [Wed, 22 Feb 2017 03:28:20 +0000 (20:28 -0700)]
Fix for an incorrect check that nstlog !=0
The original version was accidentally reversed, causing it to
fail when nstlog =/= 0. Wasn't noticed because of lack of a test.
(I can add a test if told where to put it).
Change-Id: I46afd608c4ea729df35128fe6f8bac4a0808364b
Roland Schulz [Thu, 23 Feb 2017 07:13:24 +0000 (23:13 -0800)]
Fix compile of GMX_SIMD=None with ICC
ICC defines invsqrt in math.h
Change-Id: Ic7107189cb5fb422192f986ebed53f2c2993ff35
Mark Abraham [Wed, 15 Feb 2017 02:46:23 +0000 (03:46 +0100)]
Merge branch release-5-1 into release-2016
There's an awkward clash with a bug fix from release-5-1 from
subsequent cleanup in release-2016 while it was still
master. Fortunately, the code path for bExchanged only happens when
!bTrotter, and all the other code paths require bTrotter (which has
several sub cases), so those two groups of code commute. (And the
implementation of checking what the inputrec requires has changed
between branches only in name.)
Change-Id: I2382dad5c484452d023524884c025e77c2a624c4
Mark Abraham [Thu, 9 Feb 2017 16:58:59 +0000 (17:58 +0100)]
Fix handling of previous virials
These quantities get written to checkpoint files only for the Trotter
pressure-coupling integrators that need them, but they were being
copied in do_md for all Trotter integrators. This meant that an
appending restart of md-vv plus nose-hoover plus no pressure coupling
truncated off a correct edr frame and wrote one with zero virial and
wrong pressure. And in the same case, a no-append restart writes a
duplicate frame that does not agree with the one written before
termination.
Fixed by copying them only when they are useful to copy, so that in
the problem case, the correctly computed post-restart virial is not
wiped with zeroes from state fields that were never read from the
checkpoint. Cases that use the previous-virial values are not
affected.
Refs #1793
Change-Id: I84908122aefbe8658f423eaf4e5bd4ae25a93d24
Mark Abraham [Fri, 10 Feb 2017 13:19:31 +0000 (14:19 +0100)]
Corrected output of gmx do_dssp -sc
This code has always written a probability, and not a percentage, so
fixed the label. It still fits within the expected 8-character field.
Fixes #2120
Change-Id: Ic3256a3942b2f2375e9f4c0771bbe3afe682acf4
Erik Lindahl [Thu, 9 Feb 2017 14:45:51 +0000 (15:45 +0100)]
Work around false xlc-13.1.5 bug in SIMD test
atan2(0,0) should return 0.0, which the Gromacs simd implementation
does. However, since at least one compiler produces -nan for the
standard library version it's better to compare with the known
correct value rather than calling std:atan2(0,0).
Refs #2102.
Change-Id: I60449e9f16fb1ab79486927a3e9993da0cce937f
Mark Abraham [Wed, 8 Feb 2017 09:52:29 +0000 (10:52 +0100)]
Remove docs for unimplemented trjconv -clustercenter
2d8b8dd16d8 introduced a partial implementation, which was removed in
73b83321 because it introduced variables that were unused. However,
the matching documentation was not removed then.
Fixes #2114
Change-Id: Iedddf99b0254b772ffaebfcb27bec862493d920d
Vedran Miletić [Fri, 9 Dec 2016 17:31:14 +0000 (18:31 +0100)]
Document running Clang static analyzer manually
Change-Id: Ic1a273e9f8fc489d03b59eef70ff71bb426ba720
Mark Abraham [Tue, 7 Feb 2017 13:22:22 +0000 (14:22 +0100)]
Bumped version to prepare for next patch release
Change-Id: I2a2ee89a0c8123ff870292b418d76afe2d542189
Mark Abraham [Fri, 20 Jan 2017 10:43:43 +0000 (11:43 +0100)]
Introduced system preparation section to user guide
This gives us somewhere we could document the use and limitations of
vdwradii.dat better.
Enchanced documentation of solvate and insert-molecules, similarly.
Refs #2094
Change-Id: I019948472dfc308c1acd74d4fce271ba4d481ead
Mark Abraham [Sun, 5 Feb 2017 20:11:24 +0000 (21:11 +0100)]
Version 2016.2
Bumped regressiontests hash and minor soversion as usual.
Change-Id: Ib005dda4f70e40c79d5911f53c08b1d358fe2948
Berk Hess [Wed, 9 Nov 2016 21:25:53 +0000 (22:25 +0100)]
Add mdp option check with decoupled modes
When atoms involved in an angle with constrained bonds have very
different masses, there can be very weakly coupled dynamics modes.
Default mdp settings are often not sufficiently accurate to obtain
equipartitioning. This change adds a grompp check for this issue.
Part of #2071.
Change-Id: I64323154c38abe23b8d38d9d539d2a713a5c35e0
Mark Abraham [Sun, 5 Feb 2017 20:03:24 +0000 (21:03 +0100)]
Merge branch release-5-1 into release-2016
Resolved conflict in gmx_order in favour of newly
corrected code from release-5-1 branch.
Change-Id: I7ed58873c0629bd33e18dd887d63b6ee8af7e32b
David van der Spoel [Wed, 1 Feb 2017 19:06:25 +0000 (20:06 +0100)]
Fixes SEGV in gmx order.
gmx order used a cumbersome floating point method to compute
an index in a histogram leading to index -1. The present code
is simpler and robust, in fact the old code was likely wrong.
Fixes #2104
Change-Id: Ic3c15917eebe6c4964cd5cb053dfa4f05781cb73
Mark Abraham [Fri, 5 Feb 2016 17:40:28 +0000 (18:40 +0100)]
Clarify use of tau-p and pcoupltype
grompp used to permit "tau-p = 5 5" which is misleading. The recent
fix for #1893 leads to the user receiving a grompp warning, so this
improves the docs to make clear that pressure coupling is not
implemented like temperature coupling (where different time constants
might be used).
Refs #1893
Change-Id: I8328b30a12689795c7af2d12dfc94db11b78a03a
Berk Hess [Thu, 2 Feb 2017 20:54:00 +0000 (21:54 +0100)]
Really fix array of complex in cross_corr
A recent fix in cross_corr did not fix a double precision FFT call
in single precision.
Fixes #2109.
Change-Id: Iefe11508b9e8c5dd255851063ab1e7bd95abe196
Berk Hess [Tue, 31 Jan 2017 15:03:35 +0000 (16:03 +0100)]
Fix array of complex in cross_corr
An array of complex number was created as an array of pointers and
then passed to gmx_fft_1d. This does not work.
Fixes #2109.
Change-Id: If28cf6d3b586615ee4857a89d937f7083287d209
Mark Abraham [Tue, 31 Jan 2017 14:14:36 +0000 (15:14 +0100)]
Merge branch release-5-1 into release-2016
Change-Id: I5726f23a376f1be0052afdd917537f03f703760e
Mark Abraham [Fri, 27 Jan 2017 15:58:09 +0000 (16:58 +0100)]
Fix multi-domain reruns
3da127 broke multi-domain rerun by failing to consider the
logic within rerun_parallel_comm.
Fixes #2105
Change-Id: I3b38a248a4fba5b3d46f0275add75948ef7a9c53
Mark Abraham [Fri, 20 Jan 2017 15:08:24 +0000 (16:08 +0100)]
Don't print invalid performance data
If mdrun finished before a scheduled reset of the timing information
(e.g. from mdrun -resetstep or mdrun -resethway), then misleading
timing information should not be reported.
Fixes #2041
Change-Id: I4bd4383c924a342c01e9a3f06b521da128f96a35
Mark Abraham [Sun, 22 Jan 2017 13:56:19 +0000 (14:56 +0100)]
Fixed gmx rmsf -q -oq.
xref was used instead of pdbx in that case, which led to a PDB file
containing B-factors to have the coordinates based on those from the
-s file, rather than -q file. The tool description (and the other
logic) suggests that using -q should be the behaviour, in particular
because the contents of xref were then unused. gmx rmsf -oq was
otherwise fine.
Also fixed where xref was being abused as a temporary vector, which
asks for more such trouble, so improved that (without changing
functionality).
Noted TODO that npdbatoms might not match top.atoms.nr leading to
possible segfaults.
Change-Id: Id2c14fa5ca93c2a8de87f9bfa144a6db38fcc97f
Berk Hess [Fri, 9 Dec 2016 10:19:26 +0000 (11:19 +0100)]
Disallow overwriting of dihedral type 9
It is no longer allowed to repeat blocks of parameter of multiple
lines for dihedrals of type 9. It is also no longer allowed to
override parameters or dihedrals of type 9. Both are too complex
to properly check. It is still allowed to repeat parameters blocks
consisting of a single line.
Repeating a block with the same parameters would lead to incorrect
dihedral potentials and forces.
Fixed bug in arrayref.h interfaces.
Fixes #2077.
Change-Id: I802c6714a9700744df4e6b5ea96e41aa82793388
Berk Hess [Tue, 17 Jan 2017 13:43:43 +0000 (14:43 +0100)]
Correct assert on pme-order
Change-Id: I2468a90d5aa46c84ea78d183327d7245862737c3
Roland Schulz [Fri, 21 Oct 2016 19:25:32 +0000 (12:25 -0700)]
Supress ICC 16 on Windows false postives
Change-Id: I7ef020d12a7f0dbbb9e0ddf60bdc6b8a671652b4
Berk Hess [Tue, 3 Jan 2017 13:32:47 +0000 (14:32 +0100)]
Fix flat-bottom position restraints + DD + OpenMP
When using flat-bottom position restraints with DD and OpenMP
a (re)allocation was missing, causing a segv.
Fixes #2095.
Change-Id: I03af546a0b8d03a3d384d86a2582a67584e72d46
Aleksei Iupinov [Thu, 5 Jan 2017 14:32:29 +0000 (15:32 +0100)]
Fix compilation with CMAKE_CXX_FLAGS="-Wall -Werror"
Refs #2073
Change-Id: I9223b13e8abd251d56378052ace4fb4e9169a2aa
Gerrit Code Review [Thu, 5 Jan 2017 02:13:19 +0000 (03:13 +0100)]
Merge "Merge branch release-5-1 into release-2016" into release-2016
Mark Abraham [Tue, 20 Dec 2016 11:57:54 +0000 (22:57 +1100)]
Stop trying to use objdump --reloc on Mac
Recent Xcode objdump does not support --reloc.
The warning that is based on the output of running objdump was only
implemented to work on Linux-like things, so should not spam the cmake
output on other platforms.
Change-Id: I8fae927e9f4d31de3510269c0d30bd1f10e825e6
Mark Abraham [Tue, 3 Jan 2017 16:18:42 +0000 (17:18 +0100)]
Merge branch release-5-1 into release-2016
Skipped
9e6144061f4f as instructed by its commit message.
Change-Id: Ie275096b0e99723b56747f46f5ca667d9f84b5f0
Mark Abraham [Tue, 20 Dec 2016 05:17:34 +0000 (16:17 +1100)]
Corrected documentation about eigenvalue handling
Some file format docs were out of step with the implementation in
eigio.cpp.
The behaviour of gmx anaeig -eig -eig2 was not properly documented.
Change-Id: I55c4a0ab640f026e6e8a424203d54379e634a5b6
Mark Abraham [Thu, 24 Nov 2016 12:30:20 +0000 (13:30 +0100)]
Improve build system for plugin support
The mdrun-only and prefer-static-libs builds set the default for
BUILD_SHARED_LIBS to off, which silently disabled plugin support.
Converted GMX_LOAD_PLUGINS to tri-state ON/OFF/AUTO so that if the
preconditions for support are not met we can have suitable behaviour
in each case. We now write to the status line only when something
relevant changes, and issue a usefully descriptive fatal error only
when the user's request cannot be satisfied.
Renamed and reimplemented VMD_QUIETLY as EMIT_STATUS_MESSAGES.
Moved the reorganized code to its own source file.
Refs #2082
Change-Id: I0ad2d8423abbc8d8cb409e74325f2b00831644ea
M. Eric Irrgang [Wed, 14 Dec 2016 00:21:24 +0000 (19:21 -0500)]
Fix syntax in cmake status message
Change-Id: I9ab793fe7d11e979fbc1cbd5ab3ec8ed6189dbb8
Vedran Miletić [Mon, 12 Dec 2016 18:40:57 +0000 (19:40 +0100)]
Improve include sorter error reporting
Change-Id: I5fe5d1ad6a4001cff6ae8a2b109e831c5e3eb433