Mark Abraham [Wed, 13 Jun 2018 07:24:45 +0000 (09:24 +0200)]
Fix premature reporting of action when GPUs are not detected
The decision about what to do when GPUs could not be detected is a
responsbility taken at a higher level, so the detection handling code
should just report the facts.
Clarified some of the intended usage in the documentation
Fixes #2374
Change-Id: I63b569e053dd88d66351640019efc758e91bbdff
Mark Abraham [Wed, 13 Jun 2018 07:09:36 +0000 (09:09 +0200)]
Update top-level README
Included most recent core GROMACS publication
Change-Id: If389c72902831598b7cf0263a7b74e40c8d21f86
Mark Abraham [Wed, 13 Jun 2018 07:39:26 +0000 (09:39 +0200)]
Fixed documentation typo
This version is true to the original text.
Refs #2359
Change-Id: I3c2ab7a30109a397999883d5147346f1244a77f0
Berk Hess [Tue, 20 Mar 2018 13:35:34 +0000 (14:35 +0100)]
Add AWH continuation consistency checking
AWH now checks at checkpoint continuation that the number of
visits/samples matches the update count. This catches unallowed
changes of AWH parameters or the number of walkers.
Change-Id: I3e3325327552f1f6c2f25c61ff8991c06c6fc36a
Mark Abraham [Wed, 21 Mar 2018 09:57:26 +0000 (10:57 +0100)]
More fixes to suit gcc 8 for double build
gcc 7 supports the same syntax, but only gcc 8 requires it.
xl code path untested, because we have no access to a working compiler
Fixes #2421
Change-Id: I8f89af4b066be68e07a286a9fa45b8ded3c925f3
Szilárd Páll [Thu, 29 Mar 2018 12:58:02 +0000 (14:58 +0200)]
Also issue OMP_NUM_THREADS reading note to the log
The note that was meant to inform users that OMP_NUM_THREADS was setting
the number of threads in their run (as this value can be inherited by
the env) has not been logged. It was also printed right after the tpx
reading statues making it hard to notice. Removed stderr output now
that this is no longer required.
This change makes the note easier to notice prepending a newline and
issues it to the log file too.
Refs #2472
Change-Id: I73fc9de5e9d747f9d7a094c6678ffc1547481b94
Viveca Lindahl [Tue, 24 Apr 2018 16:14:15 +0000 (18:14 +0200)]
Changed histogram check interval for multidimensional AWH bias.
The step interval for performing covering checks depended explicitly
on the total number of points in the AWH histogram. The covering
checks themselves however only depends directly on the extent of each
one-dimensional axis. For a multidimensional grid in combination with
relatively few samples to cover the sampling interval (e.g. using
Brownian dynamics), this could lead to a delayed detection of the
covering.
The same step interval was also used for checking for histogram
anomalies, which however only generates warnings and is not integral
to the AWH method itself.
Now the covering check interval is instead determined from the number
of sigmas, the "width" of one sample, required to cover each
dimension. Since there is about 1 point per sigma, the dependency of
the check interval on the number of points is essentially unchanged in
the one-dimensional case. However, this relation is not numerically
exact. Therefore, this change also requires updating reference data
for a regression test to be updated.
The check interval for histogram anomalies is set to be the same as
for the covering, but could in the future be made less frequent.
Added release note.
Fixes #2487
Change-Id: I5af0d48436664d8fdfe8bafa05cde3cdae27e45a
Berk Hess [Thu, 7 Jun 2018 09:14:27 +0000 (11:14 +0200)]
Add fatal error for inconsistent graph
In case a moleculetype consists of multiple monomers connected
by restraints, an inconsistent graph could be generated.
Now a fatal error with explanation is generated for such cases.
Also a fatal error is generated with an inconsistent graph with long
bonds in general.
Fixes #2549
Change-Id: I6fa11fb7cefd74ed077c1fb523a2147c91e0d0fd
Berk Hess [Thu, 7 Jun 2018 12:27:44 +0000 (14:27 +0200)]
Avoid COM removal moving frozen atoms
Fixes #2551
Refs #2542
Change-Id: Ifd7523661248594cce7329dfd86e814b78c9c32c
Berk Hess [Tue, 5 Jun 2018 09:24:16 +0000 (11:24 +0200)]
Remove constraint v correction for frozen atoms
The optimized update routines no longer set the velocities of frozen
dimensions to zero, but the constraint code would still correct
the velocities of frozen dimensions.
Note that the COM correction can still modify velocities of frozen
dimensions, but this is a negligible effect unless there are
systematic COM forces.
Fixes #2542
Change-Id: I4770d9bd7991a021ce173f219eb7310a91eaf10e
Paul Bauer [Fri, 8 Jun 2018 08:32:27 +0000 (10:32 +0200)]
Fix gmx solvate with multiple solvent molecule types
When using a solvent box with multipe solvent molecule types, gmx
solvate would crash due to memory corruption. Fixed by properly freeing
the temporary storage for the atom information.
Fixes #2550
Change-Id: I68ed6afcd7898eb9de0686b6efeb9ff74174c92b
Berk Hess [Tue, 5 Jun 2018 14:01:01 +0000 (16:01 +0200)]
Fix MPI inconsistency in EM after constraint failure
Fixes issue #2540
Change-Id: Id18c17af82f80917388c11fc776b79bf4966a4ac
Viveca Lindahl [Tue, 5 Jun 2018 20:46:55 +0000 (22:46 +0200)]
Make sure that the value of awh-nsamples-update is allowed
Previously, awh-nsamples-update could be set to zero, leading to
division by zero. Now it results in a fatal error.
Fixes #2489
Change-Id: I65aae5d5c533b9aab7ea9aae3e317e92a926c18c
Erik Lindahl [Fri, 11 May 2018 14:06:59 +0000 (16:06 +0200)]
Use default CMake path variables
Remove our homegrown path variables for binaries, libraries,
manpages and data in favor of the ones documented as part of CMake.
The 'gromacs' part of the data directory has been moved to a separate
GMX_INSTALL_DATASUBDIR variable.
This enables Gromacs-2018 docker builds with multiple different
accelerations installed with different binary/library subdirectories.
Change-Id: I1618428c94ea2cfb90dc1ff5261b26a9307c1a94
Paul Bauer [Tue, 22 May 2018 15:01:20 +0000 (17:01 +0200)]
Fix PQR file output
PQR files from editconf were always written as fixed format PDB files
with just the field information added. As pointed out in the linked
redmine, this can violate the PQR file standard if the field lengths are
too long, even though the file would still be a valid PDB.
This adds a slightly different form of the writeout that has a flexible,
PQR conform format.
Fixes #2511
Change-Id: I626380b642a0214970753da289e9c969ce411ea7
Erik Lindahl [Tue, 5 Jun 2018 09:56:07 +0000 (11:56 +0200)]
Bump GMX_BUILD_OWN_FFTW to 3.3.8 to avoid bugs
FFTW-3.3.8 seems to fix build errors with AVX-512, and
as reported on the FFTW web page it also removes the -ffast-math
flag which results in errors with gcc-8.
Fixes #2541.
Change-Id: Ibe4ef0040986e4b83f92f0bb404c72fa1b5e11ea
Mark Abraham [Mon, 21 May 2018 17:07:25 +0000 (19:07 +0200)]
Fixed enemat when .edr had no matching energy groups
Removed some debug output that obscured both the code and the useful
user-facing warnings.
Used a simpler bool construct to decide whether to issue the warning.
Fixes #2508
Change-Id: Ife56264991e365f8f5ca3b1285caea8033da7584
Mark Abraham [Tue, 27 Mar 2018 19:47:55 +0000 (21:47 +0200)]
Improved docs for gmx mindist -pi
Change-Id: Ia8ba72afd357e4952c5adf7ede3b15ff78ad9fd6
Berk Hess [Mon, 4 Jun 2018 07:29:54 +0000 (09:29 +0200)]
Fix segv in AWH error message
Change-Id: Ie8dee0c11ea0290b5bcbb8ada837a58d00881f03
Paul Bauer [Tue, 29 May 2018 15:04:36 +0000 (17:04 +0200)]
Disallow use of empty box information in solvent files
An empty box information in a solvent file presented to gmx solvate
could case an infinte loop because the current coordinate would always
be incremented by zero. Disallowed by introducing new function that
checks for proper box information.
Fixes #2523
Change-Id: I461509f8aafa2048253faf85ccbe388bbbaf80a7
Aleksei Iupinov [Tue, 22 May 2018 09:05:03 +0000 (11:05 +0200)]
Remove unused results of cudaStreamQuery()
Coincidentally fixes #2509 (Windows + CUDA compilation)
Change-Id: I032c5fab53bf83cf0ea8c0299d8752b10d1f6c0e
Roland Schulz [Mon, 21 May 2018 20:29:41 +0000 (13:29 -0700)]
Fix illegal instruction error on KNL
Fixes #2504
Change-Id: Ie2f55718f98d3dfbf3c312afa5141c77ead77a6d
Berk Hess [Wed, 2 May 2018 14:36:01 +0000 (16:36 +0200)]
Enable SIMD version of update
A bug in setting mdatoms->havePartiallyFrozenAtoms caused the SIMD
version of the leap-frog update to always be deactivated.
Fixes #2497
Change-Id: I670549c95c983cac5033ea6bb71b77561e063223
Berk Hess [Tue, 24 Apr 2018 14:02:09 +0000 (16:02 +0200)]
Fix indexing issue in the pull code
When determining if the COM of pull groups should be computed,
the indexing range of group[] for each pull coordinate is one element
too long. In most cases this element is 0, so in which case it only
lead to extra, useless compute when a cylinder group is used.
Note that for dihedral geometry the extra element is actually dim[0]
in pull coord, which is 0 or 1, which is harmless.
No release note, since this did not affect results, it could only
cause a minor performance loss with cylinder pulling.
Fixes #2486
Change-Id: Ie5785181fbe28d8db57e37c58553ae3835e657b7
Paul Bauer [Tue, 17 Apr 2018 15:48:54 +0000 (17:48 +0200)]
Remove obsolete variable prec gro file output
It seems like the help message for the -ndec option in trjconv has never
been updated to indicate that gro files can no longer be written with
flexible precision. This has been fixed now.
Change-Id: Ia514bf48f6a25f13911524211a703d49b3bc307a
Aleksei Iupinov [Tue, 27 Mar 2018 20:30:43 +0000 (22:30 +0200)]
Prevent OpenCL timing memory leak
Fixes #2470
Change-Id: I4917de697bee7df98da0037e9165e52e660f83a0
Mark Abraham [Thu, 29 Mar 2018 12:22:26 +0000 (14:22 +0200)]
Remove leftover mention of twin-range scheme
Also fixed a broken symref to a version number that should
never have been a symref
Change-Id: Id1b10614106748de6ff114ade4b542ac7581f4cf
Berk Hess [Tue, 3 Apr 2018 08:00:15 +0000 (10:00 +0200)]
Change warninp filenm to std::string
This prevent buffer overflows with long filenames.
Fixes #2465
Change-Id: Ifcd264a6b33929f6b369d543c83c16d5378db937
Mark Abraham [Tue, 27 Mar 2018 19:39:34 +0000 (21:39 +0200)]
Clarified mdp options relating to bonds
Change-Id: Iffcaaaf1fc6c707c8f644da18cf03e28d2137557
Mark Abraham [Tue, 20 Mar 2018 07:39:37 +0000 (08:39 +0100)]
More gcc-8 fixes for POWER
Fixes #2421
Change-Id: I43c13df3a217d0f2154dca0ef215efd9cd27474a
Mark Abraham [Wed, 21 Mar 2018 15:04:44 +0000 (16:04 +0100)]
Updated to prepare for 2018.2 release
Change-Id: I1c72e8a3ac1b6b2e29b39c2d52bad5b87a884912
Mark Abraham [Fri, 23 Feb 2018 13:20:17 +0000 (14:20 +0100)]
Version 2018.1
Change-Id: I3285c77fc557c1a6f34796c4bfb4843846b0d8a5
Mark Abraham [Wed, 21 Mar 2018 11:07:16 +0000 (12:07 +0100)]
Merge "Merge branch release-2016 into release-2018" into release-2018
Mark Abraham [Tue, 27 Feb 2018 16:10:15 +0000 (17:10 +0100)]
Update release notes for 2018.1
Change-Id: Ia60d523647e1915856ae3b00a0cb9eacd939fc56
Mark Abraham [Tue, 20 Mar 2018 22:17:51 +0000 (23:17 +0100)]
Merge branch release-2016 into release-2018
Conflict in pre-submit matrix, kept 2018 content that already
has the same logical change made.
Change-Id: I40b2db8d149388bed07471fcdb8082b0fc92b9b5
Vedran Miletić [Tue, 20 Mar 2018 11:27:45 +0000 (12:27 +0100)]
Document matrix_convert function in PBC
The brief documentation was in place, but the documentation of the
function parameters was missing. This patch adds it and also fixes
incorrect Doxygen syntax at pbc_dx_d.
Change-Id: Ic897911bf4b8866bb7c4dc3aea982493cc03874c
Berk Hess [Tue, 20 Mar 2018 12:19:01 +0000 (13:19 +0100)]
Fix gmx dump AWH formatting issue
A comma was missing in the list of AWH checkpoint entry string
which caused the naming to be messed up in the gmx dump output.
Change-Id: I85d0722236f3f9559c1117fdcee39766d04b424d
Mark Abraham [Tue, 20 Mar 2018 11:50:17 +0000 (12:50 +0100)]
Update use of gpu_id in Jenkins
We plan to remove one of the GPUs from the slave that had three, so we
need to update the testing configurations. The new configuration might
balance load a little better.
Refs #2408, #2410
Change-Id: I3b5d9c8702c021f0676ea3ca12f9e7f1d3317ed1
Berk Hess [Mon, 19 Mar 2018 13:33:47 +0000 (14:33 +0100)]
Disallow single simulation with multisim
To avoid many untested code paths, we, at least temporarily,
disable a single simulation with mdrun -multisim and -multidir.
Refs #2448
Change-Id: I9befdb677f3c77bcc6dc0c77abc3478f0b83ba8d
Mark Abraham [Tue, 20 Mar 2018 11:51:56 +0000 (12:51 +0100)]
Update use of gpu_id in Jenkins
We plan to remove one of the GPUs from the slave that had three, so we
need to update the testing configurations. The new configuration might
balance load a little better.
Refs #2408, #2410
Change-Id: Ie253ef07998cf45c5fc2e118a5394f0817e66f75
Aleksei Iupinov [Thu, 1 Mar 2018 22:32:03 +0000 (23:32 +0100)]
Clarify the mdrun GPU options docs
Refs #2359
Change-Id: If112077a59f875ffb1c689b2ac67dad7cdf2adb9
Mark Abraham [Fri, 16 Mar 2018 21:21:48 +0000 (22:21 +0100)]
Fix VSX SIMD with gcc 8
gcc 8 apparently generates different code for the former GROMACS
code, which seems buggy. See
https://bugzilla.redhat.com/show_bug.cgi?id=
1556989#c3
and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84907
Fixes #2421
Change-Id: I31492cd582b785cdfb42e8b999a165a7339ce4be
Berk Hess [Fri, 16 Mar 2018 10:00:41 +0000 (11:00 +0100)]
Correct PMF sign error in AWH bias sharing
Recent commit
229c8f63 was though to fix a sign error in
the calculation of the deconvolution of the AWH PMF when sharing
the bias over multiple simulations, but this sign was misplaced.
Fixes #2439
Change-Id: I67ec06ff4d832a857467b58b362f9f6f88671aa8
Berk Hess [Thu, 15 Mar 2018 17:09:55 +0000 (18:09 +0100)]
Fix recent mdrun signaling bug
Recent commit
e4deba12 accidentally negated the locality condition
for signaling checkpoint and termination in mdrun.
Fixes #2457
Change-Id: I1b7a4c26637766a44cad2581c9c9ec420aa4ab6e
Berk Hess [Thu, 15 Mar 2018 10:25:50 +0000 (11:25 +0100)]
Fix virial with external pull potential and MPI
When using an external pull potential with domain decomposition,
currently this is only used by AWH, the virial contribution would
be multiplied with the number of MPI ranks.
Fixes #2455
Change-Id: I61452fb9eca6e68fea3256cc25b39033a9c5d8e7
Berk Hess [Wed, 14 Mar 2018 10:59:53 +0000 (11:59 +0100)]
Improve inter-simulation signaling
Use a single boolean for controlling inter-simulation signaling.
This would have prevented issue #2447.
Introduce an inter-simulating signaling frequency. This both
simplifies the code and significantly reduces communiation overhead
for many simulations and/or many ranks per simulation.
Correct the terminimation step print with replica exchange.
Refs #2440 and #2447
Change-Id: I8ed50c5b11564d9a967bcacb15c4fcd3be05caea
Berk Hess [Wed, 14 Mar 2018 08:32:23 +0000 (09:32 +0100)]
Fix mdrun signalling with AWH bias sharing
The recent commit
717fd5b8, which should have fixed issue #2440,
disabled checkpointing and termination by disabled signalling
between AWH runs that share a bias.
Fixes #2447
Refs #2440
Change-Id: Ic80ea07cfa1bde1b31fa9d660f00492b794b000f
Berk Hess [Mon, 12 Mar 2018 15:54:04 +0000 (16:54 +0100)]
Fix COM pulling with external potential with #ranks>32
With more than 32 PP-ranks, the pull code could use only a subset
of the PP-ranks. This change forces all ranks to do pulling when
external potentials are present (currently only used by AWH).
Fixes #2441
Change-Id: I8501024b7961600ec79f3707e239ddf25525aa79
Berk Hess [Tue, 13 Mar 2018 13:59:19 +0000 (14:59 +0100)]
Fix pull bug with geometry=direction-periodic
When doing COM pulling with geometry direction-periodic,
the reference location needs to be used to compute the current
distance. This reference was taken from the previous step instead
of the current. In practice this only caused issues at restarts
when the distance was more than half the box length.
Fixes #2446
Change-Id: Ie0c0341ad8c6ce1e78951270cab27ecaf95d65eb
Berk Hess [Tue, 13 Mar 2018 13:18:45 +0000 (14:18 +0100)]
Add AWH fixes to release notes
Change-Id: I17531da77495367b0e62b4e0b0e912bbd16659f9
Berk Hess [Mon, 12 Mar 2018 15:43:53 +0000 (16:43 +0100)]
Fix AWH ensemble checkpointing
AWH multi-runs with shared bias could terminate at different steps
leading to checkpointing from which continuation was impossible.
Fixes #2440.
Change-Id: I728c6aea9d030fcfad04efc6082309dafe3408bd
Berk Hess [Mon, 12 Mar 2018 20:36:07 +0000 (21:36 +0100)]
Fix AWH deconvolution when sharing a bias
When sharing an AWH bias over multiple simulations, the PMF output
was garbage due to a missing minus sign in the reduction.
Note that this only affected the PMF output, not the sampling.
Fixes #2439
Change-Id: I688cda045f5e757e58b392d64384705b3ac73a17
Szilárd Páll [Mon, 12 Mar 2018 23:23:07 +0000 (00:23 +0100)]
Fix clang 6.0 with CUDA 9.0
This enables clang 6.0 CUDA build for sm_70 and works around an issue
which seems to affect sm_37 support.
Fixes #2443
Change-Id: Ib9c52e4a3a8ac1e05e851c8166eec4a6b5df4825
Mark Abraham [Fri, 23 Feb 2018 12:20:56 +0000 (13:20 +0100)]
Test gcc-6 and cuda-9.0
Change-Id: Iba9436d9629a404290eb02d897b8d48f2a77b5ee
Berk Hess [Wed, 7 Mar 2018 12:48:42 +0000 (13:48 +0100)]
Correct pdb2gmx -missing option
The help text for the pdb2gmx -missing option only mentioned
missing atoms, but when atoms are missing also bonded interactions
will be missing. Now bonds are mentioned in the help text.
Since -missing allows for missing bonds, it now also allows for
dangling bonds at termini (which can actually be useful in special
cases).
Change-Id: I8d7215691ffc7dbb49f41964af9639c01355d775
Szilárd Páll [Tue, 6 Mar 2018 18:10:55 +0000 (19:10 +0100)]
Extend "Finding out how to run mdrun better" section
Change-Id: I76c75504ef505e2547861015eb20d6d6b1f31383
Mark Abraham [Fri, 2 Mar 2018 10:22:42 +0000 (11:22 +0100)]
Fixed dvdlambda for SHAKE + FE
Garbage values have been accumulated to dvdlambda whenever SHAKE was
used.
Refactoring in
513813b514 removed the lam variable. Previously, it was
used as a temporary iteration variable over SHAKE blocks, but that
refactoring to use the main variable changed the logic of the
following loop.
Fixes #2434
Change-Id: Ia9642f50358ab31ec98f8317f7a1dcda8622a9f1
Berk Hess [Mon, 5 Mar 2018 15:34:38 +0000 (16:34 +0100)]
Make multi-atom TPI reproducible
Test particle insertion of molecules of more than one atom called
a rotate function with multiple random calls in the arguments. This
lead to non-reproducible results, at least when switching compiler,
since the language does not define the argument evaluation order.
Note that this issue did not affect physical correctness.
Change-Id: I9ab07566878f381f11284d813d9077fa90e68866
Viveca Lindahl [Mon, 5 Mar 2018 18:31:20 +0000 (19:31 +0100)]
Add checks for non-null log file pointer in AWH
Mdp-option 'awh1-equilibrate-histogram=yes' and certain run setups could
lead to a segmentation fault due to fplog being null.
Fixes #2436
Change-Id: I0110325a8624c9d434af5eeeccace29814d40f2d
Berk Hess [Wed, 28 Feb 2018 13:09:33 +0000 (14:09 +0100)]
Work around gcc bug with group kernel tables
The LJ-only interaction tables for the group kernels were incorrectly
copied with the combination of gcc-6, AVX and -O3.
Since this bug replaced -1/(6 r^6), 1/(12 r^-12) by 1/r,-1/(6 r^6)
for odd table indices, this could not cause silent errors.
Fixes #2424
Change-Id: I021d4f2fe81bd635e6f02686118d661af8c444a6
Szilárd Páll [Fri, 2 Mar 2018 16:58:41 +0000 (17:58 +0100)]
Add to the contributor section
Change-Id: I1642f1ca247cf0e11781af4848b74e3d0ebd5082
Berk Hess [Thu, 1 Mar 2018 20:58:32 +0000 (21:58 +0100)]
Fix AWH bias-sharing with parallel simulation
Sharing the AWH bias over multiple simulations only worked when
each simulation was running on a single MPI rank. Now parallel
simulations also work.
Fixes #2433.
Change-Id: I71f9069a31b033151c772aac84c9912d91b213a1
Berk Hess [Fri, 23 Feb 2018 14:22:50 +0000 (15:22 +0100)]
Detect AMD SMT topology
On AMD Zen the cpuinfo code detected hyperthreading but put all
threads on different cores in the topology. Now the correct
topology is detected using extended APIC.
Also disabled topology detection for non-AMD, non-x2APIC x86.
Fixes #2388
Change-Id: I194f3e09e669c20d1d62355a36be062e6cce264e
Berk Hess [Thu, 1 Mar 2018 08:30:55 +0000 (09:30 +0100)]
Fix mdrun multisim with separate PME ranks
When running multiple simulations using separate PME ranks,
mdrun would call MPI_Barrier with MPI_COMM_NULL on some ranks.
Note: no new release note needed, since this fixes a fix.
Refs #2403
Fixes #2431
Fixes #2432
Change-Id: I7fe96a15b5030dea3e093d12850f89f00ccc9f48
Mark Abraham [Fri, 23 Feb 2018 14:15:46 +0000 (15:15 +0100)]
Fix GPU utils test
We should only attempt device-side work when we have compatible GPUs.
Fixes #2405 for CUDA
Change-Id: Idc28c7e89a5f08ee1d19943e3663385f2b23ff44
Mark Abraham [Fri, 23 Feb 2018 10:45:56 +0000 (11:45 +0100)]
Permit define .mdp field to assign values
It is intended that the "define" .mdp field can set preprocessor
variables to values, but this got broken in some clean up. Added a
test to cover it.
Fixes #2392
Change-Id: I16a3705a0d59a912a8eb7bfad0b472f12d2dc377
Mark Abraham [Tue, 9 Jan 2018 13:41:38 +0000 (14:41 +0100)]
Organize for recording 2016-era release notes and add them
This hierarchical organization will make it easy for us to present to
users that there were two maintained release series at the time of
writing, while making available links to the releases notes of
unmaintained series, and having a straightforward path for migrating
the 2016 folder to the older folder and updating the appropriate
links.
In master branch, we will have stub .rst files in
docs/release-notes/major/ that we can fill out as functionality
changes, and movev to docs/release-notes/2019/major when we
make the release-2019 branch.
Changes to release notes in release branches will merge naturally.
Later, we can make sure that tarballs can have a useful plain-text
version built into them via sphinx also.
Change-Id: Ie35f90a616cb89727f5a9600389fdf228ecd03cb
Berk Hess [Wed, 21 Feb 2018 22:02:32 +0000 (23:02 +0100)]
Fix md integrator with Nose-Hoover coupling
When applying NH T-coupling at an MD step and no PR P-coupling,
the md integrator could apply pressure scaling with an uninitialized
or outdated PR scaling matrix.
Fixes #2418
Change-Id: I835db72776e7782ac044807961bb899e4f8c6c7b
Szilárd Páll [Wed, 21 Feb 2018 00:12:59 +0000 (01:12 +0100)]
Switch pre-submit CUDA 8.0 test to 9.0
Noted in TODO to add a CUDA 9.1 + gcc 6 config.
Change-Id: I1e9e1a0bcd99237167335f475d65791f6059dbb3
Szilárd Páll [Fri, 16 Feb 2018 18:48:46 +0000 (19:48 +0100)]
Avoid aborting mdrun when GPU sanity check detects errors
A release assertion was added which assumed that the GPU
compatibility/sanity checks return with a clean CUDA API state.
Consequently, any run that encountered a non-success return value from
the CUDA API would abort the run instead of continuing the run without
using the GPU in question.
This change adds code to handle and issue a note on the error
encountered as well as ensures that the CUDA API error state cleared
at the return of the GPU detection.
Fixes #2415
Change-Id: I5d7ed59ef8e4052a75b51c9a526b8dcb465ff611
Mark Abraham [Fri, 16 Feb 2018 17:09:01 +0000 (18:09 +0100)]
Merge branch release-2016 into release-2018
Change-Id: If1c8c37bbfc44ae383999b828d1dfea4cf67d1ea
Mark Abraham [Fri, 16 Feb 2018 15:06:21 +0000 (16:06 +0100)]
Bumped patch version for next release
Change-Id: I174548b1be5261aea861ec29d550ee323ce3702e
Berk Hess [Wed, 7 Feb 2018 10:03:46 +0000 (11:03 +0100)]
Correct multisim MPI barrier
An MPI barrier used with multisim was called on incorrect ranks
and a barrier was missing.
Fixes #2403
Change-Id: I06a66167afc8dca9cdd4ca9b4f9a806984a6ec7a
Aleksei Iupinov [Thu, 15 Feb 2018 12:27:48 +0000 (13:27 +0100)]
Fix PME for large systems with Fermi GPUs
PME spread/gather CUDA kernel scheduling did not account for
compute capability limitations. Realistically this has only
caused it to fail on CC 2.x with input systems larger than
2^18 ~= 262k atoms. This is now fixed for all CUDA architectures.
Fixes #2409
Change-Id: I59295b5d53a341d08a221aebb52e1db9f1e80107
Mark Abraham [Fri, 16 Feb 2018 07:41:28 +0000 (08:41 +0100)]
Version 2016.5
Change-Id: I7dd31f2deea884f3075555547c4f3691bd4adae3
Aleksei Iupinov [Thu, 15 Feb 2018 14:19:33 +0000 (15:19 +0100)]
Add the missing comma in the quote
This was printed as:
GROMACS reminds you: "It's just B I O L O G Y, can't you see?Joe Jackson" ((null))
Change-Id: I69e86ecda8930fffeeab3a54f2f015339fd9b345
Mark Abraham [Wed, 14 Feb 2018 12:54:33 +0000 (13:54 +0100)]
Merge branch release-2016 into release-2018
This patch has already been incorporated into release-2018
Change-Id: I088c0d44b5620b3eb575e8a1d0a05adeefaee2cc
Berk Hess [Tue, 13 Feb 2018 10:40:28 +0000 (11:40 +0100)]
Fix range bug in add_selection_groups in tngio.cpp
If there were more molecule blocks than types in the topology,
atoms from the later blocks could be missing in selections written
to tng.
Change-Id: I8bf840b2f019ca9b3c2ccefcf48da866bf8ec559
Mark Abraham [Thu, 25 Jan 2018 08:34:45 +0000 (09:34 +0100)]
Fix bug in checkpoint error checking
Change-Id: I91a185913356a42949596d8f4ca34ec2394c24a5
Berk Hess [Tue, 13 Feb 2018 11:55:35 +0000 (12:55 +0100)]
Fix grompp net charge check
The grompp check for the net charge would ignore molecule blocks
at the end when molecule types are used in multiple, non consecutive
molecule blocks.
Fixes #2407
Change-Id: I4e7c6c609da99025174f180f9d4037ac9f9fd7fc
Berk Hess [Tue, 13 Feb 2018 11:55:35 +0000 (12:55 +0100)]
Fix grompp net charge check
The grompp check for the net charge would ignore molecule blocks
at the end when molecule types are used in multiple, non consecutive
molecule blocks.
Fixes #2407
Change-Id: I4e7c6c609da99025174f180f9d4037ac9f9fd7fc
Mark Abraham [Tue, 13 Feb 2018 07:11:35 +0000 (08:11 +0100)]
Prepare release notes for 2018.1
Change-Id: I342130c590bff57df1369d488fb98491e936f78f
Mark Abraham [Tue, 13 Feb 2018 16:11:19 +0000 (17:11 +0100)]
Use death test only when supported
In build farms for bioconda and DebiChem, some environments don't
support death tests, so hopefully if we use the GoogleTest machinery
to avoid using them when not supported we can avoid issues in such
environments.
Refs #2405
Change-Id: I17efe3b620b162d615b91a5f5cd4c8bd458143a5
Mark Abraham [Tue, 6 Feb 2018 16:22:16 +0000 (17:22 +0100)]
Use more portable python shebangs
Per https://www.python.org/dev/peps/pep-0394/#recommendation, we
should use env, and point it at python2. When we either make them 2/3
or just-3 compatible, this should change.
Some distros (notable Arch Linux) already point python at python3 so
we should choose to be explicit, and thus somewhat portable.
Fixes #2401
Change-Id: Icf98e04660c798d10b167f971b20698e0741994a
Mark Abraham [Thu, 8 Feb 2018 17:45:26 +0000 (18:45 +0100)]
Merge "Merge branch release-2016 into release-2018" into release-2018
Mark Abraham [Thu, 8 Feb 2018 16:55:11 +0000 (17:55 +0100)]
Merge branch release-2016 into release-2018
Resolved conflicts in commit matrices by implementing the same logical
change as in release-2016 (move msvc+icc config to post-submit matrix)
in release-2018.
Change-Id: Id5d731e37e54b8c3896763d0a4ca496f99612f0f
Berk Hess [Wed, 24 Jan 2018 15:26:08 +0000 (16:26 +0100)]
Use SIMD bondeds without perturbed interactions
With free-energy, but without perturbed bonded interactions,
we would use the SIMD accelerated bondeds functions.
Change-Id: I67bdb0cba9c6ec20b076576af940d2be51fa6c9f
Berk Hess [Wed, 7 Feb 2018 12:15:19 +0000 (13:15 +0100)]
Allow bonds with distance=0
We should allow overlapping atoms in harmonic bonds. But the code
would cause a floating point exception and incorrect free-energy
derivatives.
Note that using sqrt(x) instead of x*invsqrt(x) is faster on Intel.
Change-Id: I87dd1e84f8f526ac40e482bccc94d89e33a1d112
Aleksei Iupinov [Tue, 6 Feb 2018 15:29:43 +0000 (16:29 +0100)]
Zero unused values to silence the warning
Change-Id: I8419a823e9a94434c3c534da4bf98ca79ff6ead7
Mark Abraham [Wed, 31 Jan 2018 07:48:16 +0000 (08:48 +0100)]
Prevent log file energy average printing dividing by zero
If there's not enough data for averages, skip the average printing
entirely. In principle, pr_ebin could be called from elsewhere than
print_ebin, so now we print "N/A" rather than "nan" or segfaulting.
Added some const correctness. Added some tests. Unfortunately they
currently have to write a file to disk, but we should have the test
before refactoring it to run in memory. The tests needed to be able
to clean up their memory, so runner can now also call done_ebin
but for stability we'll leave that off for now.
TODO When merging to master branch enable the call to done_ebin
in runner().
Fixes #2394
Change-Id: Id2e151664dd4553e49880f96bdd90aacc945f992
Mark Abraham [Tue, 6 Feb 2018 07:52:13 +0000 (08:52 +0100)]
Use isfinite unambiguously
Patch provdied by Veselin Kolev
Fixes #2400
Change-Id: I1923998a2288e20cb339e7fc59210cbf9ac5bfa8
Aleksei Iupinov [Mon, 5 Feb 2018 11:31:57 +0000 (12:31 +0100)]
Only setup Ewald in the generic group kernel if it's used
Helps to not divide by garbage values.
Change-Id: I67999c56b2ce6105d154e7f90b137f67bafd4673
Berk Hess [Mon, 5 Feb 2018 15:05:23 +0000 (16:05 +0100)]
Set cutoff modifiers in forcerec
The cutoff modifiers were not copied from interaction_const_t
to forcerec_t which meant only the generic kernels was used with
the group scheme.
Fixes #2399
Change-Id: I2890cbd55e648e434ad3817edc4e5fe4c5697162
Berk Hess [Mon, 5 Feb 2018 09:38:22 +0000 (10:38 +0100)]
Fix assertion failure in TPI
Fixes #2398
Change-Id: I89ddde7bdb6c061411160009df1f87e7c2cef0a1
Mark Abraham [Wed, 24 Jan 2018 13:23:00 +0000 (14:23 +0100)]
Move Windows icc config to post-submit testing
The front end and standard library for this build are the same as the
msvc config, so there is not a great deal of coverage added by this
config. Post-submit does not use this slave at all. Only running one
job per matrix on this slave will permit us to use only one executor
on it, which might reduce the number of strange failures and hangups.
Fixes #2387
Change-Id: Iedc421b7f4ea6d74f0b4cbd5cc88ea958b427213
Roland Schulz [Fri, 19 Jan 2018 21:23:27 +0000 (14:23 -0700)]
AVX512 GCC 5.3 work-around
GCC 5.3 has bug in overload resolution causing the AVX512
and scalar function to become ambiguous.
Change-Id: I1db4696f19c05c9eb3a97320a8c6c5b41823cca9
Roland Schulz [Thu, 18 Jan 2018 22:13:03 +0000 (14:13 -0800)]
Remove incorrect release-note entry
Change was reverted before the release.
Change-Id: Id46ba251edc9a44cd62275d03ecfe15d5230cfd9
Berk Hess [Fri, 12 Jan 2018 14:23:40 +0000 (15:23 +0100)]
Fix COMM removal on part of the system
COMM removal requested for part of the system acted on the whole
system.
Fixes #2381
Change-Id: Ic36ce0d261dd9b5aeceef1803f6a97e6a9ca8716
Berk Hess [Thu, 18 Jan 2018 10:51:36 +0000 (11:51 +0100)]
Add check in grompp to avoid assertion failure
With an mdp file with a parameter present with both the current name
and the old name which automatically gets replaced, an assertion
would fail. Now a fatal error is issued.
Fixes #2386
Change-Id: Idc66145afaca6a1e0cb868dd6aba2405e2dd7171
Aleksei Iupinov [Tue, 16 Jan 2018 17:08:57 +0000 (18:08 +0100)]
Fix box scaling in PME mixed mode
A TODO is left to test and handle this better in master.
Fixes #2385
Change-Id: I34d01d3ea6802f624888a1fd85eef72711a82f2f