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
Mark Abraham [Mon, 12 Dec 2016 03:28:35 +0000 (14:28 +1100)]
Handle warninp correctly in xpm2ps and membed
The code should not (over)write the output file before checking for
errors. For membed, it is useful to require the user to fix issues in
their input file before we unilaterally over-write it.
Called done_warning where it was omitted, which in the case of membed
meant that errors were not fatal when they should be.
Change-Id: I3c87f6bd99691b12d66906df3cc9980373429439
Mark Abraham [Tue, 13 Dec 2016 22:11:00 +0000 (09:11 +1100)]
Fix misleading parallelization docs for gmx wham
Change-Id: I5bbadc4fc9b9af6bcd2a6ea1a848eae262e4fd8c
Berk Hess [Thu, 8 Dec 2016 11:20:23 +0000 (12:20 +0100)]
Add bonded #thread runtime check
Replaced a debug assertion on the number of OpenMP threads not being
larger than GMX_OPENMP_MAX_THREADS by fatal error.
But since the listed forces reduction is actually not required with
listed forces, these are now conditional and mdrun can run with more
than GMX_OPENMP_MAX_THREADS threads.
Fixes #2085.
Change-Id: I7a6049d727924cd0b4df10a3525f9e7aec49c3dc
Teemu Murtola [Thu, 1 Dec 2016 19:18:53 +0000 (21:18 +0200)]
Build scripts for improved release workflow
Add build scripts to support extracting version info from
gmxVersionInfo.cmake, and to update the regressiontests MD5.
Part of #2066
Change-Id: I916439c1be26823b4e366aea4e7fcded6de21659
Mark Abraham [Thu, 8 Dec 2016 16:47:09 +0000 (03:47 +1100)]
Fix logic of TRR reading
Commit
f7d4d019 introduced a bug where TRR reading reaching the end of
the file was indistinguishable from a reading error or a magic-number
error. This is now fixed, restoring the end-of-file behaviour that
existed before
f7d4d019, while retaining the wrong-magic-number
behaviour that it introduced.
Refs #1926
Change-Id: Ic8540846c481f022bc6ae7b774794792c8c7a523
Szilárd Páll [Wed, 2 Nov 2016 23:52:32 +0000 (00:52 +0100)]
Turn off hwloc support when static lib found
Hwloc dependencies are not resolved at CMake time when static
libwloc.a is detected and in most of these cases link-time
errors will prevent building GROMACS. As it is hard for a user to know
how to solve such cryptic errors and hwloc is not a required dependency,
we turn off hwloc support when a static lib is detected. The user can
override this on the cmake command line.
Refs #1919
Change-Id: Ic3917e2e59ee4c291b78ee47150e513ae77ced85
Teemu Murtola [Sat, 3 Dec 2016 08:50:56 +0000 (10:50 +0200)]
Fix possible memory error with long selections
If a selection was more than 1000 characters long and there was a
whitespace exactly at the 1000 point, a buffer overflow could occur.
Replaced the buffer with std::string, simplifying the code
significantly. Update the generated code to use a newer flex, which
also removes the need for some suppressions.
Should fix #2086.
Change-Id: I56513bcf5ee99f05ce144461740d0f868be10186
Vedran Miletić [Fri, 16 Sep 2016 13:19:39 +0000 (15:19 +0200)]
Make editconf B-factor attachment more useful in practice
B-factor values will be added to residues unless an index is larger
than the number of residues or an option is specified. Protein residue
indices can start from any number and, in case they start from a large
number, there is no way to add B-factor values to residues.
This patch changes it to add B-factor values to residues unless the
number of B-factor values is larger than the number of residues.
Change-Id: Ifa67d6d6b5dc0f31e5b0d270ce255aece5ac7247
Teemu Murtola [Mon, 5 Dec 2016 19:26:27 +0000 (21:26 +0200)]
Fix use of position variables with plus/merge
If a selection contained a position variable (e.g., 'com of ...') that
was used more than once, and at least one of those uses was with
plus/merge, there were out-of-bounds memory writes. This was caused by
the internal position structure not getting fully initialized.
Incomplete initialization happens in all contexts with such variables,
but only plus/merge (and possibly permute) actually use the values that
remained uninitialized, which caused them to incorrectly compute the
amount of memory required to store the result.
Fixes part of #2086.
Change-Id: I016e796db268a11d557309935c02cbd1bc79a83c
Mark Abraham [Mon, 5 Dec 2016 22:54:01 +0000 (23:54 +0100)]
Fix memory handling in gmx dump of TNG files
Calling code in dump.cpp did not free the memory used in each loop
over different TNG data blocks. This is also more efficiently and
simply done with srenew, along with a final sfree.
Change-Id: I0fbfdc9acf3bc5f498ec3ec9b15da1c59bf4c271
Mark Abraham [Mon, 5 Dec 2016 13:25:54 +0000 (14:25 +0100)]
Remove undue narrowing of integer in TNG reading
This compromised the reading of TNG trajectories with sufficiently
large numbers of frames. Both types are 64-bit integers so we should
just do the obvious thing.
Change-Id: Id8dcaacc35231c6b4737d9924f70da3ac29e7408
Mark Abraham [Thu, 1 Dec 2016 00:24:48 +0000 (01:24 +0100)]
Fix minor trjconv bug
gmx trjconv -novel -f in.pdb -o out.pdb did not work as was probably
intended, because ftpin had an excessive large scope plus a default
value, and was only set by the -vel path (which fortunately is the
default).
Minimized scope of ftp while I was there.
Change-Id: I6b7dadc109834384f6cfb19f61258fa30d52ef80
Teemu Murtola [Sat, 26 Nov 2016 05:07:00 +0000 (07:07 +0200)]
Additional selection help
- Explain resindex and resnr keywords in selection help.
- Explain how selection-enabled tools treat -s and -f input files.
Fixes #2083
Change-Id: I93e38c46a2bdb35f057688cf29fb3392712c2443
Szilárd Páll [Mon, 26 Sep 2016 22:10:48 +0000 (00:10 +0200)]
Correct kernel launch bounds for CUDA sm_60
The GP100 architecture has half the SM size (64 ALUs) compared to 5.x
hence 64 threads/block already achieves maximum occupancy and the
incorrectly tweaked launch configuration is not optimal. This change
reverts the incorrectly increased block size in
cc4214a.
NOTE: cherry-pick of
b04a53c, skip when merging.
Change-Id: I5f269e609a5a095b93a44f43a6e67a0de40a38c7
Carsten Kutzner [Tue, 27 Sep 2016 09:31:39 +0000 (11:31 +0200)]
Increased the default reset step to 1500 in gmx tune_pme
Commit
785aad1a introduced a gmx_fatal() in mdrun for cases where
cycle counters are reset when PME tuning is still active. In
almost all cases, tuning takes longer than 100 steps (which was
the default at which gmx tune_pme would request mdrun to reset its
counters). This leads to gmx tune_pme reporting that all the
runs failed. Note that the small default of 100 steps was from times
where there was only DLB to account for, but not PME tuning.
With the increased default, this should happen only very rarely.
For future versions it would be nicer to implement a "-benchmarksteps"
command line parameter for mdrun which resets counters exactly after
PME tuning is finished and then performs a requested number of
benchmark MD steps. Refs #1781
Change-Id: Icbcce1ecc8a23d35302c04c9a6be13c06b1be8c8
Carsten Kutzner [Tue, 15 Nov 2016 14:13:41 +0000 (15:13 +0100)]
Fixed typo in membed.cpp
Fixes #2076
Change-Id: Idcebb45ee85b478d7863ac55eb5cef62a2109bb8
Christoph Junghans [Thu, 3 Nov 2016 18:12:17 +0000 (12:12 -0600)]
cmake: fix build with GMX_EXTERNAL_TNG=ON
tng_set_source_properties is not defined in case of GMX_EXTERNAL_TNG=ON
due to the fact that BuildTNG.cmake never gets included. Also this
call isn't really needed tng doesn't get compile when external anyway.
Change-Id: Id3c7e0da55ce9ef8cf43d2aecaa187e965bf6ad2
Dan Horák [Tue, 8 Nov 2016 10:38:42 +0000 (11:38 +0100)]
Fix x86 conditional
The CpuInfoTest.SupportLevel testcase fails on s390x because wrong
condition in src/gromacs/hardware/tests/cpuinfo.cpp is used. Fixed
this by setting GMX_TARGET_X86 to 0 or 1 in all cases, both for
GROMACS CMake detection and GROMACS build.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=
1390149
Refs #2072
Change-Id: Id50fd65c6228a25f2bb2eca684d680a2b34d2263
Berk Hess [Tue, 1 Nov 2016 11:05:07 +0000 (12:05 +0100)]
Fix time label print in gmx vanhove
Change-Id: Ibf668e46622c2739ae44f950d1bbfadbbb67b276
Mark Abraham [Fri, 28 Oct 2016 21:18:02 +0000 (23:18 +0200)]
Bumped version to prepare for next patch release
Change-Id: I5f72d87d3b0ed4c06edade7188471ea12ed31046
Mark Abraham [Tue, 25 Oct 2016 09:35:54 +0000 (11:35 +0200)]
Version 2016.1
Bumped regressiontests hash and minor soversion as usual.
Change-Id: I339d70a29553be8662a2a5d3ebb1a11d8361af34
Berk Hess [Tue, 11 Oct 2016 20:08:02 +0000 (22:08 +0200)]
DLB can now turn off, when slower
Under certain conditions, especially with (shared) GPUs, DLB can
decrease the performance. We now measure the cycles per step before
turning on DLB. When the running average of cycles per step with DLB
gets above the average without DLB, we turn off DLB. We then measure
again without DLB. DLB can then turn on again. If we turn on DLB of
DLB multiple times in close succesion and we measure performance loss,
we keep DLB off for the remainder of the run. This procedure ensures
that the performance will never deteriorate due to DLB.
Updated and expanded the DLB section in the manual.
Change-Id: I6e0291c1a41adf6da94fae46d36e0fcb95585a02
Szilárd Páll [Tue, 25 Oct 2016 17:33:30 +0000 (19:33 +0200)]
GPU-related additions to the install/user guide
Additions:
- clarification of OpenCL compile- and run-time dependencies;
- rewrote info about OpenCL-enabled run requirements / peculiarities;
- added section on reducing overheads in GPU runs (related to both
CUDA and OpenCL).
Change-Id: I310ab5605b46b4ed90db87d4ce022005c9b26419
Berk Hess [Tue, 4 Oct 2016 07:39:37 +0000 (09:39 +0200)]
Fix DLB timing with CUDA and OpenCL
With OpenCL the time for the local non-bonded to finish on the GPU
was ignored in the dynamic load balancing. This change lets OpenCL
take the same code path as CUDA.
Also the cycle wait limit of 50 Kcycles was far too small for both
CUDA and OpenCL. It now 2 Mcyles, based on measurements.
Note that with OpenCL we should have access to accurate host and
device timing (unlike with CUDA), but we will not use that in
a release branch.
Change-Id: I5b401fdeae7ab0b426a33baf01a3dbeb7d0d924e
Szilárd Páll [Tue, 25 Oct 2016 23:29:01 +0000 (01:29 +0200)]
Make -cl-fast-relaxed-math default
The change makes fastmath default and changes the previous env-var
trigger to GMX_OCL_DISABLE_FASTMATH to allow disabling it for testing.
It is known to be faster on all supported platforms (and we use it in
CUDA too) and it has been planned to be enabled for the r'16 release.
Change-Id: I8d196c9a14785ff43aae144ed95c3cb29241c83b
Szilárd Páll [Tue, 25 Oct 2016 22:52:37 +0000 (00:52 +0200)]
Add GMX_DISABLE_GPU_TIMING env var
It disables timing for both CUDA and OpenCL so on the long run
it can replace both.
Change-Id: I3556d87c135eba2e24935e77a0d608b72219b284
Mark Abraham [Fri, 21 Oct 2016 21:12:04 +0000 (23:12 +0200)]
Update install guide
Some recent traffic on gmx-users suggested some
improvements.
Change-Id: Iaaf116ebf582755a466048aed1cd30bc123dc817
Mark Abraham [Tue, 18 Oct 2016 15:16:02 +0000 (17:16 +0200)]
Fix SIMD suggestion for VMX
Change-Id: Iebf55611512bf02d2a1a5780a1d6c05ce4b16023
James W. Barnett [Tue, 11 Oct 2016 13:09:55 +0000 (08:09 -0500)]
Set maxwarn to INT_MAX if GMX_MAXCONSTRWARN < 0
maxwarn is set to the value of the environmental variable
GMX_MAXCONSTRWARN, and we tell users to set that variable to -1 to have
no maximum. This condition was not being checked, so when set to -1 just
1 SETTLE warning was enough to halt the program. This commit fixes
that behavior by setting maxwarn to INT_MAX if GMX_MAXCONSTRWARN is -1
(or any other negative number).
Fixes #2058.
Change-Id: Ie6e2cb57f8402dd9a327f72f7fad36db19b8bb68
Berk Hess [Mon, 10 Oct 2016 07:08:05 +0000 (09:08 +0200)]
Fixed print bug in gmx wham
Change-Id: I1957d1213498c25dff0f9257a51aa89af8cf03b8
James W. Barnett [Tue, 11 Oct 2016 16:07:36 +0000 (11:07 -0500)]
fix typo
Change-Id: Iee8170173b5c4f02361e588260985d7ddf24f198
Mark Abraham [Sat, 8 Oct 2016 23:35:10 +0000 (01:35 +0200)]
Update for FFTW 3.3.5
The auto-download now gets FFTW 3.3.5 and builds it properly,
including with --enable-vsx when GMX_SIMD is set to VSX, i.e. for
Power8, and --enable-avx512 when GMX_SIMD is any of the AVX flavours
(which is safe on non-512 now, works on KNL, and is presumed useful
for future AVX512 architectures).
Note that 3.3.5 does not automatically add avx and sse support if
configured with --enable-avx2, so changed the documentation
accordingly.
Change-Id: I2a48ec1cb4f812dcae18870e0afcaf1120da251b
Szilárd Páll [Mon, 26 Sep 2016 22:10:48 +0000 (00:10 +0200)]
Correct kernel launch bounds for CUDA sm_60
The GP100 architecture has half the SM size (64 ALUs) compared to 5.x
hence 64 threads/block already achieves maximum occupancy and the
incorrectly tweaked launch configuration is not optimal. This change
reverts the incorrectly increased block size in
cc4214a.
Change-Id: I9be10acfb3650c778401d04dfcd52aa200f78ff4
Mark Abraham [Thu, 15 Sep 2016 15:29:27 +0000 (16:29 +0100)]
Add script for Jenkins regressiontest update job
This job can generate regressiontests reference data. Intended to be
triggered on regressiontests change that lacks some reference data,
either because it's a new test case, or the old data was deleted in
that patch. Jenkins will build the code, run the test harness to
generate new reference data and attempt to add it to the git index.
If files were added, then update the commit and push it back to
gerrit.
The actual implementation is in the releng repository.
When merging to master branch, update the gcc version to 4.8.
Change-Id: I70542022af00773f58646c617fbf818cdf8f577e
Carlo Camilloni [Fri, 30 Sep 2016 10:08:47 +0000 (12:08 +0200)]
Always update mdatoms when doing energy minimisation
currently mdatoms were not updated when doing energy
minimisation using domain decompositions
Change-Id: I1ab79bfec0ad303c85cac2ea3ed622350e4872ec
Teemu Murtola [Wed, 5 Oct 2016 18:24:16 +0000 (20:24 +0200)]
Merge "Merge branch release-5-1 into release-2016" into release-2016
Mark Abraham [Mon, 3 Oct 2016 15:09:57 +0000 (17:09 +0200)]
Merge branch release-5-1 into release-2016
Change-Id: I38cba3159387519af07195a5995b0986dac5a2d6
Mark Abraham [Mon, 3 Oct 2016 10:00:52 +0000 (12:00 +0200)]
Replace use of deprecated readdir_r
clang 3.8+ warn about the deprecation of readdir_r. The main issue
here is support for concurrent access to the same directory stream,
which is never something GROMACS is likely to do. Currently the only
use is implementing enumerateFilesWithExtension which is used
single-threaded by pdb2gmx for discovering force fields in the
database. So we can replace the use of readdir_r with readdir, which
is simpler, and offers other advantages listed in man readdir_r.
Documented the new restriction on the interface of
DirectoryEnumerator. There are no current uses of nextFile that
would be affected by the change.
Change-Id: I0b80554493ff80e8857f0431192e22cfe7db5b22
Justin Lemkul [Mon, 3 Oct 2016 11:32:58 +0000 (07:32 -0400)]
Fix incorrect charge in HISE.
Revision
1a60bdbfb5e6b11e52783a6afa26e615f15f1be0 introduced an
incorrect charge on HISE CG, which leads to a fractional charge
on the residue. Any simulation with this charge will be wrong.
Fixes #2013
Change-Id: I9f80daf3dda2cd71715d4e15d6c868c6e47b48cc
Jochen Hub [Thu, 21 Jul 2016 10:03:40 +0000 (12:03 +0200)]
Fixed bug in gmx wham for reading pullx files.
Because the order of columns in the pullx files has changed recently, gmx wham
did not pick the reaction coordinate from pullx.xvg if the COM of the pull
groups were written. gmx wham was tested with various pull options and geometries.
Change-Id: If487e0493992c76649dc9a596c8df56d331abf22
David van der Spoel [Mon, 12 Sep 2016 11:15:20 +0000 (13:15 +0200)]
Fixed script xplor2gmx.pl to work with GMXDATA
Change-Id: I25c8857cfdd992679f3be9a6ab59c9a74c0df0c8
Teemu Murtola [Sat, 24 Sep 2016 18:57:16 +0000 (21:57 +0300)]
Fix default nice level in mdrun-only build
Now an mdrun-only build should default to zero nice level, the same as
'gmx mdrun' in a normal build.
Change-Id: I50dcf3be93bdba0d03bf6816c15c7c6729db0005
Roland Schulz [Fri, 16 Sep 2016 00:45:33 +0000 (17:45 -0700)]
Fix math-test false positive
Depending on the accuracy of the floating point division, the
input of the test function could be 1ulp too large or too small.
If it was too large the result of the test function wasn't
within 4ulp and the test failed.
Change-Id: Ia322b136d1db9b25c7c733e4067f927a4c77e372
Berk Hess [Fri, 16 Sep 2016 07:38:24 +0000 (09:38 +0200)]
Fixed unused variables in domdec.cpp
Fixed unused variables in domdec.cpp when configured without MPI.
Change-Id: I844ab59e16eb2fbde97ed3893ba6dea5679dca34
Berk Hess [Wed, 10 Aug 2016 10:23:03 +0000 (12:23 +0200)]
Made distance restraints work with threads and DD
The NMR distance restraints use several buffers for summing distances
that were indexed based on the index of the thread+domain local ilist
force atoms. This gives incorrect results with OpenMP and/or domain
decomposition. Using the type index for the restraint and a domain-
local, but not thread-local index for the pair resolves these issues.
The are now only two limitations left:
* Time-averaged restraint don't work with DD.
* Multiple copies of molecules in the same system without ensemble
averaging does not work with DD.
Fixes #1117.
Fixes #1989.
Fixes #2029.
Change-Id: Ic51230aa19a4640caca29a7d7ff471e30a3d9f09
Vedran Miletić [Wed, 31 Aug 2016 18:52:46 +0000 (20:52 +0200)]
Document wallcycle counters and subcounters
List the available counters and explain how they are used. For subcounters,
explain the difference to counters and mention how to enable them.
Change-Id: Id5ce0e99b37a899f84d10b799840abad27d15c9c
Vedran Miletić [Tue, 30 Aug 2016 18:18:13 +0000 (20:18 +0200)]
Print OpenCL error string instead of error code
Change-Id: I00871b7f295373d8497a13d0bc3cbd0c0ff99668
Mark Abraham [Thu, 8 Sep 2016 10:40:51 +0000 (12:40 +0200)]
Merge branch release-5-1 into release-2016
Trivial conflicts in minimize.cpp from bug fix in same region that now
has exceptions caught within an OpenMP region.
Change-Id: I8b3c269a2afd7d4967e0f7310c96af6022533ddd
Mark Abraham [Thu, 8 Sep 2016 08:07:13 +0000 (10:07 +0200)]
Bumped patch number to prepare for future 5.1.5 release
Change-Id: I37e3120ec8ab257f0aeb1cf137dff27391e0689f
Mark Abraham [Wed, 7 Sep 2016 12:39:33 +0000 (14:39 +0200)]
Version 5.1.4
Bumped SOVERSION_MINOR and REGRESSIONTEST_HASH
Change-Id: Ib8404367c7ac15e0de567bf103f5ceb5d4dd5091
Mark Abraham [Mon, 5 Sep 2016 15:49:22 +0000 (17:49 +0200)]
Removed HIS1 from oplsaa and charmm definitions
HIS1 is intended for linking with heme, which oplsaa doesn't
define. charmm converts HIS1 to HSD in its .r2b.
This makes the recent fix for oplsaa HISD "consistent" with HIS1.
Fixes #2047
Refs #2049
Change-Id: Ibc0463c779e76689dc7ef65e48aedc716de9e032
Mark Abraham [Mon, 5 Sep 2016 15:32:19 +0000 (17:32 +0200)]
Fix LYN charges in amber03
These charges now match those found in AMBER 14 and 16. The
validation of the AMBER ports was done with AMBER 8.0, and
this fix was made afterwards in
http://ambermd.org/bugfixes/8.0/bugfix.19 (and perhaps LYN wasn't
in the validation set).
Fixes #2046.
Change-Id: Ibcaab337b527a44e42d5a7c68f71ef4fde2acf66
Mark Abraham [Tue, 6 Sep 2016 13:57:00 +0000 (15:57 +0200)]
Fix amber03 HIP charges
These were changed in Nov 2005, and now match AmberTools 16
Fixes #2050
Change-Id: I191b60c6acd2f521b3481578114ff48fca0979e5
Mark Abraham [Mon, 27 Jun 2016 17:18:12 +0000 (19:18 +0200)]
Work around glibc 2.23 with CUDA
Note: Cherry-pick of
e2cd2e2e from the 2016 branch.
Fixes #2022
Change-Id: Id9881efb3f26af341b9c89b4bd1f983a2149c9e4
Berk Hess [Tue, 6 Sep 2016 13:14:17 +0000 (15:14 +0200)]
Fix bug with conjugate-gradient and OpenMP
The conjugate-gradient update routine re-used the pointer variable for
x for cg_p. This pointer was shared over threads and no barrier was
present before the pointer modification.
Fixes #1941.
Change-Id: I5f635fc3054147543820c4e5e74f3519637d541d
Berk Hess [Mon, 5 Sep 2016 08:58:45 +0000 (10:58 +0200)]
Re-enable flexible constraints with DD
Commit
409edb80 added a fatal error in init_shell_flexcon() with DD.
But flexible constraints without shells work correctly with DD.
Change-Id: Ic3c5028a7aa6d956cf85f779347df16329d817bb
Berk Hess [Fri, 2 Sep 2016 15:28:25 +0000 (17:28 +0200)]
Merge branch release-5-1 into release-2016
Change-Id: Ia1a7fad67f0ff11175ea24c46f813a445cd49ed6
Berk Hess [Mon, 15 Aug 2016 19:03:13 +0000 (21:03 +0200)]
Fix Parrinello-Rahman with nstpcouple>1
Fixes #2031.
Change-Id: I37cf18c40c6cf5e301d7981c9f10bbf963d8cda8
Berk Hess [Wed, 17 Aug 2016 13:27:49 +0000 (15:27 +0200)]
Make virial reproducible
OpenMP reduction was used to reduce virial contributions over threads,
which does not have a defined order. This leads to different rounding,
which makes runs non-reproducible (but still fully correct).
Now thread local buffers are used.
Also removed OpenMP parallezation for small count (e.g. shift forces).
Change-Id: I8d80def602337cc12ab601916bf40d7f66bf9bbc
Mark Abraham [Tue, 23 Aug 2016 22:40:04 +0000 (00:40 +0200)]
Stop using gmx_fatal in grompp
Added warning_error_and_exit to issue an error that describes the
location in the input file, and then halt processing (because data
structures would not be safe to use) while also describing where in
the code that occured. Either set of metadata can be useful to users
or developers diagnosing issues.
Refactored implementation of check_warning_error() so that
warning_error_and_exit() can have the gmx_noreturn qualifier, so that
analyzers understand the behaviour of the calling code, and compilers
can understand the implementation of warning_error_and_exit().
This permits more effective diagnostics in various places, and
eliminates some existing hacks.
Bumped all declarations of errbuf to have size STRLEN, since some of
the new uses might be safer that way.
Also made a minor fix to output to avoid redundant output from
done_warning when an error has occured.
Change-Id: I29f8afeb70d0da3598c6443c15090bca9bf5c639
Roland Schulz [Wed, 24 Aug 2016 20:57:28 +0000 (13:57 -0700)]
Fix build with GMX_USE_TNG=off
Change-Id: I305edfafbe87f0ad1e8ff410f419e5d32b23e1a7
Jochen Hub [Wed, 24 Aug 2016 15:50:08 +0000 (17:50 +0200)]
Fixed bug in gmx insert-molecules.
With option -ip, and if all trials were unsuccessful, a molecule was
eventually incorrectly placed at 0/0/0 due to a memory error
when referencing to rpos[XX][mol].
Change-Id: I367727210b893652af39217925906cc2dc703465
Berk Hess [Wed, 24 Aug 2016 11:00:14 +0000 (13:00 +0200)]
Fix Ewald surface+3DC corrections
Ewald surface and 3DC correction forces were only applied up to,
but not including, the last atom with exclusions. With water at
the end of the system only the last H would not be corrected.
With ions at the end all ions would be missing.
In addition, with the Verlet scheme and domain decomposition
no force correction was applied at all.
Fixes #2040.
Change-Id: I064bf01fab561dca40451763b75283b6f59e0fbd
Berk Hess [Wed, 24 Aug 2016 11:12:21 +0000 (13:12 +0200)]
Merge branch release-5-1 into release-2016
Also applied the merged fix to nbnxn_cuda_kernel_fermi.cuh.
Change-Id: I79d0cb59214290097d6f356e35dd13c4eadaed75
Berk Hess [Tue, 23 Aug 2016 10:13:35 +0000 (12:13 +0200)]
Remove variable precision gro writing
The gro precision is now fixed to 3, 4 and 5 decimal places for
x, v and box respectively to ensure compatibility with other software.
Variable precision reading is still supported.
Fixes #2037.
Change-Id: I0e593622ee0380c3934a7b7b6826ae29aed00a59
Berk Hess [Wed, 17 Aug 2016 13:35:05 +0000 (15:35 +0200)]
Fixed opening of wall table files
Fixes #2033.
Change-Id: Ie5092476f021d0578bbcbd84c7e4f895959fd06e
Mark Abraham [Fri, 12 Aug 2016 08:19:34 +0000 (10:19 +0200)]
Fixes for BG/Q platform files and install guide
Renamed the platform file to reflect normal practice
and the install guide.
Change-Id: Icffde855789f561faa0249d095838fea9f97ce1d
Berk Hess [Mon, 8 Aug 2016 13:24:14 +0000 (15:24 +0200)]
Reduce FE pair-list memory usage
Refs #2014.
Change-Id: Ia8bbc55eed7e3590e6944127ab94dd41f475e6a7
Mark Abraham [Fri, 12 Aug 2016 08:11:49 +0000 (10:11 +0200)]
Bump number to prepare for first patch release
Change-Id: I1cdfd715d2681677460945ed6670adb2a35f9839