Aleksei Iupinov [Thu, 8 Feb 2018 10:47:06 +0000 (11:47 +0100)]
Merge branch 'release-2018' into master
Manually modified:
src/programs/mdrun/md.cpp (to uncomment done_ebin())
Change-Id: Ic3887c40668f69e69ee8da15d210721b8bd3e95f
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 10:37:09 +0000 (11:37 +0100)]
Remove unnecessary includes from domdec.h
Change-Id: I0d1e1d8ebc52a60b3b939525b61952980b46d673
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
Aleksei Iupinov [Mon, 5 Feb 2018 10:08:06 +0000 (11:08 +0100)]
Make ndx files optional in SimulationRunner
Change-Id: Ib1010097d2dce75a6fdac49bb3b3c5aa3e4c4b8f
Aleksei Iupinov [Mon, 5 Feb 2018 09:59:54 +0000 (10:59 +0100)]
Remove mdpInputFileName_ from SimulationRunner, per TODO
Change Ib6511a338935b14be was the prerequisite.
Change-Id: Ief8717d45c5948a7666b232dd7ea3f1863823671
Berk Hess [Mon, 5 Feb 2018 09:38:22 +0000 (10:38 +0100)]
Fix assertion failure in TPI
Fixes #2398
Change-Id: I89ddde7bdb6c061411160009df1f87e7c2cef0a1
Aleksei Iupinov [Fri, 26 Jan 2018 15:22:33 +0000 (16:22 +0100)]
Don't print impossible CUDA version numbers in absence of GPUs
As results of CUDA version API calls are not checked for success
when printing the gmx binary information header, values of the
non-initialized variables were printed on nodes with no GPUs
(e.g. "CUDA runtime: 32.96"). This change makes the gmx print
"N/A" as a CUDA version string in case of CUDA API error.
Change-Id: Ia5856badb5e5e536f50d1a028163743b4bf93107
Aleksei Iupinov [Thu, 1 Feb 2018 16:39:10 +0000 (17:39 +0100)]
Fix input MDP contents for swap and IMD tests
Change I7a9a7c60591 moved the input MDP contents from files
to std::string's, and in doing so butchered the line breaks
for no good reason, silently breaking the tests.
This is now fixed, using C++11 raw string literals.
Change-Id: Ia4abc26ce67fdebba5f830c2461743b38d944956
Aleksei Iupinov [Tue, 30 Jan 2018 13:26:15 +0000 (14:26 +0100)]
Check for GTEST_IS_THREADSAFE being defined
Change I0d847bc24 updated GTest library to version 1.8.0,
which added GTEST_IS_THREADSAFE to the list of macros that
can only be defined to 1, or undefined. This change corrects
the check of the macro.
Change-Id: I6e2f9bb30a9128bc85a1b5f38c73d21b65dd61f7
Paul Bauer [Tue, 30 Jan 2018 12:13:26 +0000 (13:13 +0100)]
Add information for n2t file format
Refs #2130, #2146
Change-Id: I21acf300d5a9336b0c11d82d6e2f4d10fc1ef212
Mark Abraham [Sat, 20 Jan 2018 16:14:23 +0000 (17:14 +0100)]
Replace macros for multi-sim
This now use static inline functions.
Change-Id: Ib80c4912690aee9ea2d06266eca143a6a7638b34
Mark Abraham [Thu, 23 Feb 2017 16:07:20 +0000 (17:07 +0100)]
Update GoogleTest to 1.8.0
This is the first new release in several years. It introduces some new
features that may prove useful. It no longer requires work-arounds for
newer gcc versions. It fixes several issues that we had worked around
ourselves. Several other fixes have been transferred to the updated
versions.
This version incorporates the documentation (but only for this
version) because that can be useful for GROMACS developers,
particularly to have available offline.
Change-Id: I0d847bc2490935e0ddc3170b674d7460a5a08506
Berk Hess [Thu, 25 Jan 2018 09:39:41 +0000 (10:39 +0100)]
Removed unused flag PCA_CAN_READ_NODE
Change-Id: Ie3f5fca1208991688179c9acba698bda419a056e
Mark Abraham [Sat, 27 Jan 2018 07:54:44 +0000 (08:54 +0100)]
Remove unused declaration
Found by pre-release clang 6
Change-Id: Ibea53009ea71f295123c5c533e6478ae9f4a5da2
Mark Abraham [Wed, 24 Jan 2018 15:30:33 +0000 (16:30 +0100)]
Remove unused fields of t_commrec
Change-Id: I7704117ca1c51c5e5ad50514d53c0bb0c508de43
Mark Abraham [Thu, 25 Jan 2018 07:23:00 +0000 (08:23 +0100)]
Reduced includes of common headers in headers
This makes it faster to recompile after refactoring
those headers.
Change-Id: I882eb29b23b3a983a9209243a9667b3ed77cdd66
Mark Abraham [Thu, 18 Jan 2018 19:47:53 +0000 (20:47 +0100)]
Removed mdrun -multi
mdrun -multidir remains, and works better.
Moved some of the control logic into init_multisystem, particularly
because it was duplicated, and wrong in both versions.
Reduced scope of nmultisim.
Removed documentation.
Removed comment in mdrun.cpp that wasn't in English, has been there
for a very long time, and doesn't seem likely to be accurate or
useful.
Change-Id: I711330bde6ee001cbc60645beecf18e6b7d5fae4
Mark Abraham [Thu, 18 Jan 2018 19:44:20 +0000 (20:44 +0100)]
Change multi-sim tests to use -multidir
The former use of -multi is deprecated.
The need to make directories for -multidir makes it more clear that
simulation runner should not be a thing made and owned by the test
fixture.
Change-Id: Ib6511a338935b14beed0c23a683f9dd2a66a164e
Aleksei Iupinov [Wed, 24 Jan 2018 13:49:48 +0000 (14:49 +0100)]
Remove unused fields per TODO
Change-Id: Ia895f83254a0ad8a500304660f39f9d2e384ae6d
Mark Abraham [Wed, 24 Jan 2018 07:49:27 +0000 (08:49 +0100)]
Remove gmx_inline
C++ supports the inline keyword, and we should prefer to
use standard things where possible.
Removed the include of the relevant header in the two places where
that was now possible.
Change-Id: Ia709e3b55d83d01459706580fc337aaa275a6330
Mark Abraham [Wed, 24 Jan 2018 08:13:19 +0000 (09:13 +0100)]
Teach include sorter to ignore cmake-test files
Change-Id: Ie08c0ab7a03fcd1016347f534b518ff51863da98
Mark Abraham [Tue, 23 Jan 2018 22:00:28 +0000 (23:00 +0100)]
Replace gmx_bool with bool in bitmask functions
These functions never stored to a variable of type gmx_bool, so there
is not even a theoretical downside to using a proper bool.
Change-Id: If0f5f1fffe6badb3bb6c777f04365cd6c403ebdc
Mark Abraham [Mon, 15 Jan 2018 13:01:44 +0000 (14:01 +0100)]
Remove support for implicit solvation
Mdp files with implicit-solvent = no can still be read, and formerly
valid related fields are now ignored, so that default mdp files from
previous versions of GROMACS will work. Anything else for the
implciit-solvent mdp value gives an error in grompp.
grompp can now only write a tpr file that has a false value for
ir->implicit_solvent, but can read older versions. When mdrun is
presented with an older tpr file that did such a simulation, it
refuses to run, presenting a useful error message. Such tpr files are
still useful for other purposes, so can still be read, except that the
fields specific to these methods are ignored.
grompp now ignores the topology directives for related parameters,
which means that force-field folders that are the same as, or
modifications of folders formerly supported by GROMACS still
work. However, the versions currently distributed have none of those
fields.
The group-scheme kernels have been removed, and generation
infrastructure updated so that they do generate the code that's in the
repo. However, now that the python generation scripts no longer
generate GB kernels, the dictionary ordering changes, which changes
the generated output. That output is not sensitive to the order of the
declarations or data-structure elements, so this is only a cosmetic
issue.
Documentation has been removed.
Unit tests on .mdp file handling have had to be updated.
Also removed unused enbcoul enumeration
Refs #1500
Refs #1971
Fixes #1054
Change-Id: Ib241555ff3d8e60012ba0e628ab0f9a3f91eca9e
Mark Abraham [Mon, 15 Jan 2018 13:01:44 +0000 (14:01 +0100)]
Remove topology support for implicit solvation
Refs #1500
Refs #1971
Change-Id: I75d05d52ea1d528f63f2249da62f0bcfca4274d2
Aleksei Iupinov [Tue, 16 Jan 2018 16:31:58 +0000 (17:31 +0100)]
Test the mixed mode PME with walls and box scaling
Refs #2385
Change-Id: I42281dd6b3da30c777a0819d97c1d85e69049674
Aleksei Iupinov [Tue, 16 Jan 2018 15:09:01 +0000 (16:09 +0100)]
Test PME CPU/GPU with walls and box scaling
Change-Id: I34f9a1b3a20b25b9cb577f074e08ccddad9f1b2e
Aleksei Iupinov [Fri, 12 Jan 2018 16:16:57 +0000 (17:16 +0100)]
Wrap the PME testing loop in a method for extensibility
Also clarify the XML reference data step tag.
Change-Id: I04eee98d92221f4e0e2fa23fa1180896858f1add
Mark Abraham [Sun, 24 Dec 2017 05:53:27 +0000 (16:53 +1100)]
Preliminary cleanup before removing ifdef cplusplus
Several files used more complex organization, which is best resolved
manually before we do some scripted refactoring.
Converted two all-vs-all kernels to C++ so that smalloc.h could be
converted. We'll anyway remove those kernels some time soon.
Change-Id: I49549cff19effa91bf0400ab706d582b13017309
Roland Schulz [Sat, 20 Jan 2018 01:22:59 +0000 (17:22 -0800)]
AVX512: copysign
Change-Id: I336b9096d83f7dc74ec53d233df8c2ad75a51ed1
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
Aleksei Iupinov [Thu, 18 Jan 2018 11:13:00 +0000 (12:13 +0100)]
Add a death test for the duplicate inputrec keys checking
That was fixed in Idc66145af.
Refs #2386
Change-Id: I4c726989da646ffa5343f4bcdea51dfdf049ef6c
Mark Abraham [Fri, 19 Jan 2018 14:55:18 +0000 (15:55 +0100)]
Merge "Merge branch 'release-2018' into master"
Aleksei Iupinov [Fri, 19 Jan 2018 10:05:20 +0000 (11:05 +0100)]
Rename class BiasReader to struct BiasOutputSetup
Change-Id: Id3b2eb7405b88633914be50d3c41c7ced861238d
Mark Abraham [Fri, 19 Jan 2018 11:14:33 +0000 (12:14 +0100)]
Add dev-guide docs for automatic update of regressiontests
Change-Id: I28e907157cfc7e428841030f4605fed02def390b
Aleksei Iupinov [Fri, 12 Jan 2018 13:23:41 +0000 (14:23 +0100)]
Move the temporary file MPI workaround into the base mdrun test class
Change-Id: Ic3fb0f42dde408b6f26944ffc59366d21c5086e3
Aleksei Iupinov [Thu, 18 Jan 2018 11:36:22 +0000 (12:36 +0100)]
Make the reference data variables local in GetIrTest
Change-Id: Ief12dd273b7d1099eb01d025cec7fde1efdc5aeb
Aleksei Iupinov [Fri, 19 Jan 2018 10:42:17 +0000 (11:42 +0100)]
Merge branch 'release-2018' into master
Change-Id: I77f2ee791cfe08a3d162605e14b411a18244b4c3
Mark Abraham [Mon, 8 Jan 2018 08:22:16 +0000 (09:22 +0100)]
Fixes for issues found by clang 6
Change-Id: Ibdaad0a36d30659f2f9fa8bf142d311bc1f38b2d
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
Aleksei Iupinov [Tue, 28 Nov 2017 14:14:40 +0000 (15:14 +0100)]
Got rid of manual memory management in the PME overlap structures
Also moved a couple of fields (send_id, recv_id) to the proper
place.
Change-Id: I372d82b703349c65fd86257795d958a8b38c98b8
Mark Abraham [Wed, 17 Jan 2018 14:21:05 +0000 (15:21 +0100)]
Bump version numbers for 2019 development
Change-Id: I5c89b5266d122ba63017a2d7d84b9da1c0066040
Roland Schulz [Fri, 12 Jan 2018 02:00:58 +0000 (18:00 -0800)]
Avoid dynamic STL containers in global init
For global variables (and static class members) using dynamic containers
causes issues if using LD_PRELOAD to load different libgromacs.
Change-Id: I7bc20b8305fdf5cfedd43d0e1351d9327cdca332
Aleksei Iupinov [Fri, 12 Jan 2018 11:09:42 +0000 (12:09 +0100)]
Re-enable multi-rank PME tests (with the file race fixed in parent)
Also remove the MPI_Barrier call, which was the previous
attempt at fixing the issue.
Change-Id: I2deb6b77abe2b8719a8b4d50410e92427cbbbd85
Mark Abraham [Tue, 16 Jan 2018 18:58:56 +0000 (19:58 +0100)]
Remove support for BlueGene
These systems are nearly at end of life, and are starting to be
decommissioned. Plus regressiontests haven't passed since about
version 5.1.
Accordingly, QPX SIMD is no longer supported, since only the
BlueGene/Q A2 cores implemented it.
Our cpuinfo code can still detect this platform, because that
does no harm, but we now fall back to GMX_SIMD_ACTIVE=None.
Docs and build system have been updated accordingly.
There is an aspect of the Verlet scheme that was originally
implemented for BlueGene/Q (namely simd_interaction_array), but this
is now also used by the no-SIMD build, so remains in the code.
Change-Id: I1a680671bfab56f94d9fadb2e8f751ba429e5894
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
Paul Bauer [Fri, 27 Oct 2017 14:49:03 +0000 (16:49 +0200)]
Add contribution information to webpage
We'll need a link from a high-level page on the new website to these
details, but the details and cross-links make sense to have as part of
the developer guide.
Change-Id: I0839367662804fe75cd18479db5335644f787176
Mark Abraham [Wed, 17 Jan 2018 13:23:27 +0000 (14:23 +0100)]
Port thread-MPI to compile as C++
Change-Id: Ie184dcd672af99e2cea400465b9a1112bfd0d923
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
Berk Hess [Wed, 17 Jan 2018 13:55:44 +0000 (14:55 +0100)]
Replace stderr prints in filenm.cpp by asserts
Refs #2377
Change-Id: Iec556bf03b613e27c6b98e09577801f4d0701d06
Aleksei Iupinov [Wed, 17 Jan 2018 12:29:47 +0000 (13:29 +0100)]
Merge branch 'release-2018' into master
Change-Id: I101621e6fca6729cc42cd7eb6678c1471ccf6ef2
Berk Hess [Tue, 16 Jan 2018 14:13:08 +0000 (15:13 +0100)]
Re-enable GPU with walls and 1 energy group
With a single non-bonded energy groups and walls we can use a GPU
for non-bonded calculations.
Change-Id: I95e72d6acc8852091bb269b350cdbf67f56e19fc
Mark Abraham [Tue, 16 Jan 2018 16:30:35 +0000 (17:30 +0100)]
Merge "Merge release-2018 into master"
Roland Schulz [Fri, 12 Jan 2018 01:58:30 +0000 (17:58 -0800)]
Merge release-2018 into master
Change-Id: I197f817d0b54392bc1198536e39e74baacad3e96
Berk Hess [Tue, 16 Jan 2018 13:02:37 +0000 (14:02 +0100)]
Remove tumbling ice-cube warning with SD
With SD there is friction, so ice cubes will not tumble.
Change-Id: Ibe91856529c26386e3f3683f95b574a9c6e7a875
Aleksei Iupinov [Fri, 12 Jan 2018 10:55:17 +0000 (11:55 +0100)]
Always write the input MDP file for testing just before the grompp call
This should hopefully help avoid the race issue that was
briefly observed with the multi-rank PME test
(the input MDP was occasionally garbled by multiple writes).
Change-Id: Ib624825f79a3dc7b6d3f5e81d8e6b5907f27b35a
Berk Hess [Fri, 12 Jan 2018 10:50:33 +0000 (11:50 +0100)]
Avoid mdrun echoing "No option -multi"
mdrun would print as many messages "No option -multi" as there
are MPI ranks to stderr.
Also updated -multi to -multidir in an error message.
Fixes #2377
Change-Id: I697956e28f904b148974183ad85ed7ed4ec82221
Szilárd Páll [Thu, 11 Jan 2018 16:37:21 +0000 (17:37 +0100)]
Call GPU profiler reset on separate PME ranks
As separate PME ranks can now offlaod to GPU, to be able to collect
profiling data, the reset call was added.
Fixes #2378
Change-Id: I48ad62ab51165347471efc9c5710c49f0001b2e0
Aleksei Iupinov [Thu, 11 Jan 2018 16:38:28 +0000 (17:38 +0100)]
Move OctaneSandwich.mdp and spc2-IMD.mdp into strings
Change-Id: I7a9a7c60591ecce964a9d4aa43f8e150033260c9
Aleksei Iupinov [Thu, 11 Jan 2018 16:54:23 +0000 (17:54 +0100)]
Remove unused alanine_vsite.mdp
Change-Id: Ieb87c9178f34ae08a39d36ed249b388545143e83
Mark Abraham [Tue, 19 Dec 2017 02:16:12 +0000 (13:16 +1100)]
Remove contrib directory
Distributing code that can't be compiled is a service to nobody.
Version control means we can't lose whatever value remains.
Moved the build-own-fftw feature to external, which is anyway quite
appropriate for code that core developers (and the original
contributor maintain regularly), and is a very popular feature with
users.
Refs #1043
Change-Id: I964b07756b02068dec8473bc22fe7c465763aad6
Mark Abraham [Thu, 11 Jan 2018 02:35:05 +0000 (03:35 +0100)]
Bumped version for next patch release
Change-Id: I264bca65d7d327387196453faeccbedb87e4fcb8
Mark Abraham [Tue, 9 Jan 2018 21:25:31 +0000 (22:25 +0100)]
Version 2018
Removed "-rc1" per policy. Bumped regressiontests hash.
Updated release notes for final release, including release date, and
removing beta-phase fix content. Sorted tools page by tool name/topic.
Fixed some text to refer to changes in the past tense. Updated
some line wrapping.
Change-Id: Ia82a1cef3270dbdddd173c58248fc9bf6ea420c5
Mark Abraham [Wed, 10 Jan 2018 12:22:27 +0000 (13:22 +0100)]
Announce in user log files that features are deprecated.
These are merely informational notes, not warnings or errors.
Refs #1781, #1971, #2136
Change-Id: I96e19acb0e15d3f42b0929f555b451299a2882e4
Roland Schulz [Wed, 10 Jan 2018 18:26:18 +0000 (10:26 -0800)]
Fix GMX_ENABLE_AVX512_TESTS being internal
Internal implies FORCE and thus variable couldn't be used to disable test.
Change-Id: I07521af7e998b4b032106f020a918ed2a0e7f747
Mark Abraham [Tue, 9 Jan 2018 17:52:37 +0000 (18:52 +0100)]
Fix automated GPU ID assignment
When we permitted separate PME-GPU ranks, we should have relaxed
this logic also.
However, the performance in such cases is not very predictable, so if
there's a distribution of tasks with more than one task to a GPU that
is uneven, then we should require the user to specify exactly what
they want. This also reinstates the 2016-era behaviour where, if
running multiple PP ranks on GPUs, that mdrun will not by default
produce an unbalanced mapping with more than one task per GPU.
Change-Id: I5b2fad317ecbb4e5e02fccd68e15350b678df34c
Szilárd Páll [Fri, 5 Jan 2018 02:54:44 +0000 (03:54 +0100)]
User guide updates to GPU section
Refs #2359
Change-Id: Ied4945f83dc19f93a51aa78f51b7cea18021f5b8
Szilárd Páll [Tue, 9 Jan 2018 19:33:24 +0000 (20:33 +0100)]
Release notes tweaks
* Move dynamic pruning to features.
* Add new CPU arch support to the perf highlights.
Change-Id: Ia6228cb779ebcebd4ba81505c8545b85f00ffc90
Mark Abraham [Wed, 6 Dec 2017 01:13:35 +0000 (12:13 +1100)]
Add release notes to source repo
Release notes content is current up to 2018-rc1, and will need to be
updated for the final release. Also several TODOs to remove the
content of beta-phase fixes, and text about them.
Change-Id: I6f5999327c9ac4ab56d8057b5eb2b4f8351eda87
Erik Lindahl [Tue, 2 Jan 2018 10:55:31 +0000 (11:55 +0100)]
Improve pdb2gmx for nonstandard residue types
If explicit non-blank chain identifiers are set, it
will now be a hard error if the residue types in each
chain do not match. For blank chain ID we still need
to allow detection of non-chain parts, but this case
too now provides more explicit output information.
Fixes #2370.
Change-Id: Ic70f4d91fddd80a22e91eb1a0672a15838966a75
Szilárd Páll [Fri, 5 Jan 2018 02:51:26 +0000 (03:51 +0100)]
Install guide updates
Updated install guide to reflect chnges in for the 2018 release.
Refs #2359
Change-Id: Ic679e7d7e96392c2c28185db1f71928146cd742d
Szilárd Páll [Tue, 19 Dec 2017 18:20:42 +0000 (19:20 +0100)]
Environment variable docs maintenance
Removed deprecated variables (some ancient, some recent), corrected some
misspelled ones.
Added undocumented environment variables.
Left a comment with handy one-liner to discover leftovers as well as
undocumented variables.
Refs #2359
Change-Id: Icb80cf661e2a53c5049fe18d687b987fb2c025f1
Aleksei Iupinov [Fri, 5 Jan 2018 11:25:28 +0000 (12:25 +0100)]
Do not print PME counter breakdown if it's empty
Fixes #2361
Change-Id: I4272cec58d837d2f1038d23ceb1eaf52736e3d52
Mark Abraham [Wed, 3 Jan 2018 10:35:38 +0000 (11:35 +0100)]
Handle erroneous command line args better
Some gmx modules need to be able to accept non-option arguments, and
some should not. Introduced enough functionality to support such
behaviour, while giving useful error messages in cases where the
command line is merely missing hyphens (which can happen e.g. when
people copy-paste from inconveniently built PDF files for tutorials).
Increased test coverage of relevant cases.
Removed some useless command-line argument strings from test cases
that never needed them.
Also tested some behaviours of handling string options, and renamed
some test input strings to reflect the intent.
Fixes #2153
Change-Id: Icec02ea86a57a8b129a621121518036b9f032078
Erik Lindahl [Mon, 8 Jan 2018 23:14:25 +0000 (00:14 +0100)]
Clarified gmx rmsf documentation
Made it clearer what input files coordinates
are taken from when writing B-factors.
Fixes #2320.
Change-Id: Ic47cbb7d9b1036c9e87a77b244dde3cd3da5df36
Berk Hess [Tue, 9 Jan 2018 20:35:20 +0000 (21:35 +0100)]
Reword CPU/GPU imbalance notes
Changes text in CPU/GPU imbalance from "performance loss" to "wasting
resources", since in some cases one can not get higher performance.
Replaced "GPU has less load" by "CPU has more load".
Removed hint to reduce the cut-off, since one often can not do this.
Note that with CUDA all theses notes are never printed, since we no
longer have timings on (by default), unlike with OpenCL.
Fixes #2253
Change-Id: Ib4a9752ad27c1cd2a3cd751a217249694a56d3b7
Mark Abraham [Tue, 9 Jan 2018 16:50:46 +0000 (17:50 +0100)]
Deactivate autoselect of PME on GPU on separate rank
Although the code does work if such a setup is specified manually, we
intended to require the user to specify mdrun -nb gpu -pme -gpu -npme
1 to get this setup.
Change-Id: I27e0e517435e0640f3a2bab1c62fc61034ec7789
Mark Abraham [Tue, 9 Jan 2018 15:02:34 +0000 (16:02 +0100)]
Clean up user guide for release
Various work in progress remains on master branch, but we need
something decent looking for this release, even if incomplete.
Reordered the list of files within the user guide roughly along the
lines of what might be likely to interest a user needing information,
but that's not exactly an exact science.
Change-Id: I2c13f318844e42f796804430b4519e18e62b4857
Mark Abraham [Tue, 9 Jan 2018 07:42:07 +0000 (08:42 +0100)]
Merge branch release-2016 into release-2018
Change-Id: I22d5b28794a4bbb3b122af339a282695aa64f266
Berk Hess [Mon, 8 Jan 2018 21:45:46 +0000 (22:45 +0100)]
Do not turn on DLB at replica exchange
Turning on DLB right after exchanging replicas caused an assertion
failure and is also useless.
Fixes #2298
Change-Id: I20c3cb6ef3d74907d53d447fa9b0c9168f03c769
Berk Hess [Mon, 8 Jan 2018 18:37:34 +0000 (19:37 +0100)]
Fix triclinic domain decomposition bug
With triclinic unit-cells with vectors a,b,c, the domain decomposition
would communicate an incorrect halo along dimension x when b[x]!=0
and vector c not parallel to the z-axis. The halo cut-off bound plane
was tilted incorrect along x/z with an error approximately
proportional to b[x]*(c[x] - b[x]*c[y]/b[y]).
When c[x] > b[x]*c[y]/b[y], the communicated halo was too small, which
could cause instabilities or silent errors.
When c[x] < b[x]*c[y]/b[y], the communicated halo was too large, which
could cause some communication overhead.
Fixes #2125
Change-Id: I2109542292beca5be26eddc262e0974c4ae825ea
Carsten Kutzner [Mon, 8 Jan 2018 10:46:47 +0000 (11:46 +0100)]
Fix a few typos in SIMD documentation
Change-Id: Ia64f936098172eb4e13d3bacf1caa824c43779fc
Roland Schulz [Fri, 5 Jan 2018 22:59:42 +0000 (14:59 -0800)]
Remove unused defines
Change-Id: I776307a4acd53e88f9ea06dddb1c23fc5d9fc2e3
Erik Lindahl [Fri, 15 Dec 2017 15:16:02 +0000 (16:16 +0100)]
Test that nvcc/host compiler combo works
Compile a trivial CUDA program during CMake time
to catch both unsupported nvcc/host compiler
version combinations and other unknown errors.
Fixes #1616.
Change-Id: I3cc55e4d0db9d6eb01e8a7cd8916cc7a7a1e21fd
Erik Lindahl [Fri, 29 Dec 2017 09:52:28 +0000 (10:52 +0100)]
Make TNG writing work with multiple identical steps
Introduce a wrapper structure around TNG so we detect
and correct for cases when writing multiple frames with
the same step, or non-zero initial steps to TNG files.
This will avoid frames overwriting each other, and make
sure the time per frame is correct.
Fixes #2189.
Change-Id: I3f44a2681138351d89183e3e196269f2b2f258fc
Erik Lindahl [Fri, 5 Jan 2018 10:49:45 +0000 (11:49 +0100)]
Add AVX_512 and KNC symbols to FFTW SIMD test
Otherwise the CMake code might complain loudly about
FFTW not being accelerated on KNC or KNL hosts.
Change-Id: I888936e9cec18436d775cb3c6eedc21335ab0e95
Mark Abraham [Tue, 19 Dec 2017 07:25:06 +0000 (18:25 +1100)]
Remove FindCUDA from source tarball
When we decided to bundle FindCUDA.cmake and supporting files to keep
our developer and Jenkins builds free of warnings, we did not take
care to ensure that the user gets the behaviour from their cmake,
since the combination of their cmake and its FindCUDA.cmake is much
more likely to work correctly than their cmake and FindCUDA.cmake from
cmake 3.4.3.
The testing of the release tarball as part of the release workflow
will ensure that we don't silently ship a broken CUDA build.
Refs #2276
Change-Id: I9ed6fa97921eb5c3ce3b4a6ecc401b4dd26e1251
Erik Lindahl [Thu, 28 Dec 2017 13:51:35 +0000 (14:51 +0100)]
Improve frame time/step handling in trjconv
Store the exact step in PDB/GRO file headers,
and be more careful about not claiming to have
time or step information when it was not available.
This change will avoid some of the problems
described in #2189, but it does not yet properly
fix the issue in the TNG library.
Refs #2189.
Change-Id: I44bb59fbca83da53f6e8d4e494ae6476a82eb7cd
Mark Abraham [Thu, 4 Jan 2018 15:25:43 +0000 (16:25 +0100)]
Merge branch release-2018
Lots of copyright bumps, also
Change-Id: I0f9e8d81b265cc96cbcc84d30267932af2ab5b69
Erik Lindahl [Wed, 27 Dec 2017 11:50:51 +0000 (12:50 +0100)]
Implement changes for CMake policy 0068
CMake-3.9 introduced a changed behavior for RPATH
vs. install_name options on OS X. This avoids relying
on functionality that will be removed in future
CMake versions.
Change-Id: Ic3697615bc372d09d45dfd007ba5a088624de051
Mark Abraham [Mon, 4 Dec 2017 02:57:49 +0000 (13:57 +1100)]
Add test config of GPU build on slave without GPU
This will test that e.g. GPU detection and cleanup code does not give
unexpected fatal errors.
Change-Id: Ic3314777b6f530fe02aa55e05ca3d352eb786d7d
Paul Bauer [Wed, 3 Jan 2018 12:31:24 +0000 (13:31 +0100)]
Fix gmx msd when using COM removal and molecules
Changed order of code to actually assign correct coordinates before
copying the data, and modified data structure size when using COM
removal and individual molecules.
Fixes #2043
Change-Id: Ic16f05a589609a43f14fd75753ca8589cf3d8c42
Erik Lindahl [Wed, 3 Jan 2018 10:48:34 +0000 (11:48 +0100)]
Fix trjconv for tdump<frame timestep
Set frame timestep before starting the loop by
reading first two frames and rewinding, and make
sure we always write something to the dump output
based on best-guess (if there is at least one
input frame present).
Fixes #1832.
Change-Id: Ic1db912c966448e68b307cfc1fd492f4677e7ab4
Erik Lindahl [Wed, 3 Jan 2018 14:44:01 +0000 (15:44 +0100)]
Fix index error in gmx chi
An error in the index construction could lead
to segfaults. However, the actual indices were
correct, so it should not have produced any
incorrect results.
Fixes #1814.
Change-Id: I191de7248615994d5c0dfb39eccafd53ebbedb67
Paul Bauer [Wed, 3 Jan 2018 10:39:00 +0000 (11:39 +0100)]
Correct dihedral restraint section in Manual
Fixes #2038
Change-Id: I37bfaa3083efe5721b2d30f4b1038062fc4dbe2b