Roland Schulz [Thu, 15 Nov 2018 02:38:03 +0000 (18:38 -0800)]
Require C++14
The current minimum compiler versions tested in Jenkins are already
sufficient. Leaves for a future change whether for CUDA C++11 or C++14
is used.
Addresses C++14 TODO in compat/pointers.h and stophandler.cpp.
Update developer guide
Refs #2831
Change-Id: Ib4329b96327d15c22328715172a9930092ecb64f
Mark Abraham [Fri, 25 Jan 2019 10:04:57 +0000 (11:04 +0100)]
Require clang 3.6
This version is the lowest that supports a smooth c++14 debug experience.
The clang in XCode 6.3 is based off this branch, and that is also the
earliest that supported c++14.
Adjusted build matrices because clang 3.6.2 is still affected by AVX
codegen issues in release and debug mode. clang 3.7 is fine. Thus
moved some minor coverage to the post-submit matrix.
Updated install guide text also for some unrelated compiler-support
things.
Also removed an overlooked gcc version check
Refs #2831
Change-Id: Id780ff06147e54c7a4516cc33c9897a4a4d2d3fa
Mark Abraham [Fri, 25 Jan 2019 15:10:50 +0000 (16:10 +0100)]
Fix post-submit build
Forgot that gcc-8 is not supported by cuda 10.0
Change-Id: Iee85fe9bdd9731c9913c827857bbaacc28c187f2
Mark Abraham [Thu, 24 Jan 2019 15:11:20 +0000 (16:11 +0100)]
Unify regex implementation
Now that we require compiler versions that all implement std::regex,
we can always have regex support and only use one implementation.
Refs #2831
Change-Id: I0118fc1aac127a5e2fcebd55a6bbef13b7c47762
Berk Hess [Thu, 24 Jan 2019 21:27:47 +0000 (22:27 +0100)]
Fix LINCS bug from recent commit
211039fc
Change-Id: Ibdee49d48d609dd6a36f1941046efecb96e87d66
Mark Abraham [Thu, 24 Jan 2019 13:55:53 +0000 (14:55 +0100)]
Bump required gcc compiler to 5.1
This prepares for the C++14 switch. Bumped CUDA version to 8.0 (which
we anyway will bump to 9.0 for C++14 support shortly). Bumped
regressiontests version requirement to 5.1 (and the cmake version to
3.9.6, which we forgot recently).
Removed references to minimum versions of gcc and clang that are now
always satisfied by our minimum requirements for those.
Refs #2831
Change-Id: Ifa062b361af08848fd92c3906fd2af04cfa1b8d6
Mark Abraham [Thu, 17 Jan 2019 05:22:36 +0000 (06:22 +0100)]
Use native cmake C++11 support
Removed custom CMake settings for compiler flags and standard library
settings.
Updated template to use the same build approach as the library
it needs
Refs #2831
Change-Id: Id9461df8695f8a0eadaec8e844e974a32cc7485f
Christian Blau [Thu, 24 Jan 2019 11:06:26 +0000 (12:06 +0100)]
Remove extra semicolons causing clang warnings.
In the AtomIterator and nbnxn_sci_t classes, extra semicolons generated
compilation warnings with some clang settings.
Change-Id: Ia184993f798d4afc14513dd7afc78f37665c4c6e
Paul Bauer [Wed, 23 Jan 2019 14:37:15 +0000 (15:37 +0100)]
Change gcov to run on bs-mic
Final change needed to decommission bs-mac.
Change-Id: Iaf0011906fae672b83af1d3631f8d698a0d9f52d
Paul Bauer [Wed, 23 Jan 2019 17:53:05 +0000 (18:53 +0100)]
Fix bug introduced in
9c2eb03b
I introduced a bug because I inverted a check when adding the string
comparison functions. Fixed here again.
Change-Id: Iba8469e910d860a9ca643380b292cf12e0a1d53a
Roland Schulz [Wed, 23 Jan 2019 17:23:51 +0000 (09:23 -0800)]
Merge release-2019 into master
Change-Id: I17cea87b19b5350853fdf652539a2f43e6092784
Roland Schulz [Wed, 23 Jan 2019 17:22:37 +0000 (09:22 -0800)]
Merge release-2018 into release-2019
Change-Id: Ifb898eb777bc2986d600cdbf190203dda3f441ec
Roland Schulz [Mon, 21 Jan 2019 19:15:38 +0000 (11:15 -0800)]
Rename gmx Variant to Any
Aligns much better with the C++17 naming given that gmx::Any has
similar functionality as std::any and is different from std::variant.
Change-Id: Id81f402c91197a62ce8ae6212b863aabd9952f6f
Christian Blau [Sat, 5 Jan 2019 07:45:57 +0000 (08:45 +0100)]
Multidimensional data in canonical layout.
Introduces a multidimensional array that holds its own data and makes it
accessible via the canonical right-aligned layout for indexing the data.
refs: #2282
Change-Id: I883cdb6a41d7277669e100320e230904856d1318
Berk Hess [Wed, 23 Jan 2019 09:29:55 +0000 (10:29 +0100)]
Fix error with 2D/3D DLB
With 2D or 3D dynamic domain decomposition with dynamic load balancing,
mdrun would exit with a fatal error when a cell size was limited.
This bug was introduced in commit
49367d45.
Fixes #2830
Change-Id: If36fcc2ddbb45c0855c78a2767b1d8562584b76f
Paul Bauer [Mon, 21 Jan 2019 09:07:33 +0000 (10:07 +0100)]
Introduce string comparison function
Added function to perform case insensitive string
comparison on std::string as input. Used some places in preprocessing as
showcases for the new function.
Change-Id: Ie128949883c05d0e7f951687bb4d51eca1d6f9d2
Roland Schulz [Fri, 18 Jan 2019 00:29:41 +0000 (16:29 -0800)]
Turn SystemAtomIterator into proper iterator
Enables range based for loop. Also renamed to AtomIterator.
Change-Id: I87e0ef50c4e0899a8954d584d5200bb6f5c8dd29
Paul Bauer [Thu, 20 Dec 2018 13:03:21 +0000 (14:03 +0100)]
Move QMMM charge setting to grompp
Also made sure that the const gmx_mtop_t does not get changed during
QMMM initialization.
Change-Id: I9bec4bbdb22ea6043019e887f8dbe44e7512ced5
Berk Hess [Fri, 4 Jan 2019 22:09:47 +0000 (23:09 +0100)]
Add utility method to NbnxnPairlistGpu
Change-Id: Ia862c8f719649d1e409f3c433a87b438d248aead
Berk Hess [Fri, 4 Jan 2019 21:57:35 +0000 (22:57 +0100)]
Remove now usused GPU alloc/free functions
Change-Id: Ifbb424162dd642ecca662ac6a5cb476c24649f0f
Berk Hess [Fri, 4 Jan 2019 17:17:01 +0000 (18:17 +0100)]
Convert NbnxnPairlistGpu to C++
Converted all arrays in NbnxnPairlistGpu to std::vector. There is now
a small initialization overhead when merging lists over threads.
We should recover this by using default initialization.
This change is only refactoring.
Change-Id: Ia811ec1b09ffb9e35ba1a8cf2ef0e64d4006898c
Paul Bauer [Mon, 21 Jan 2019 08:47:44 +0000 (09:47 +0100)]
Prepare for 2018.6
Change-Id: Ie71adbecb99819aae1ba87c6f886d44a97958165
Mark Abraham [Mon, 21 Jan 2019 05:05:09 +0000 (06:05 +0100)]
Remove init_md and improve init_em
These setup functions are adding more complexity in object creation
than they save in avoiding duplication.
Made dedicated simulated annealing setup function. Made dedicated
function for asking for coupling algorithm citations.
Change-Id: Icb3250bf481d430fb76216ef2ed2aec640eaa9a0
Paul Bauer [Mon, 21 Jan 2019 08:10:11 +0000 (09:10 +0100)]
Version 2018.5
Added release notes for commits that missed them.
Updated regressiontest hash.
Change-Id: I335988ed2b9c7a371e76dda7f7272eb30fe71a03
Christoph Junghans [Thu, 3 Jan 2019 10:39:04 +0000 (03:39 -0700)]
gmxManageLmfit.cmake: enforce usage of 7.0
LMFIT_FOUND will also be true for version lower than 7.0, so we
need to check the version explicitly in gmxManageLmfit.cmake.
Change-Id: Ia3ae12b3a74d2b567432f5ef18a77c13b19cdb85
Mark Abraham [Mon, 21 Jan 2019 05:11:15 +0000 (06:11 +0100)]
Clean up initialize_lambdas
With a little internal cleanup, the calling logic could be made much
simpler, e.g. as lam0 was always provided. Also improved const
correctness and used const inputrec as reference.
Change-Id: I255842b4d0c3cd2c8c648d3ebedc35013992118e
Szilárd Páll [Fri, 21 Dec 2018 19:17:33 +0000 (20:17 +0100)]
Add CUDA CC 7.5 (Turing) support with nvcc
Left commented out code for clang native CUDA build flag generation as
current clang (7.0) does not support sm_75.
Fixes #2814
Change-Id: Ie59c8c887e9d81d7a65136e0445291fd718c88dc
Mark Abraham [Fri, 4 Jan 2019 17:07:57 +0000 (18:07 +0100)]
Fix trjconv -ndec
This only works with XTC writing, but the documentation
and implementation was wrong. That mean that the terminal
feedback to the user was also wrong when writing a .gro file.
Fixes #2824
Refs #2037
Change-Id: I9f047d0b1042fa37e366ee8c99dabbb1f3458b0a
Kevin Boyd [Sat, 22 Dec 2018 15:21:07 +0000 (10:21 -0500)]
Convert gmx_update_t to C++
gmx_update_t replaced with Update class with pImpled
implementation class
Fixes an end of mdrun leak
Put Update on the stack in mdrun
Moved Update construction out of init_md
Removed unused deform parameters
Change-Id: I1fc98ac1ab7630461a75a8aee1a4af07afa58794
Berk Hess [Fri, 21 Dec 2018 20:49:29 +0000 (21:49 +0100)]
Convert nbnxn_atomdata_t to C++
Changed all manually managed pointer to std::vector.
Split of a Params and a SimdMasks struct.
Changed some data members to be private, more to be done.
This change is ony refactoring, no functional changes.
Note: minor, negligible performance impact of the nbnxn gridding
due to (unnecessary) initialization of std::vector during resize().
Change-Id: I9c70a1f8f272c80a7cf335fcbd867bd79c4102a2
Paul Bauer [Mon, 7 Jan 2019 14:46:06 +0000 (15:46 +0100)]
Refactor ResidueTypes
Changed datastructures to C++.
Replaced raw pointers with std::vector and std::string.
Removed unused function in residuetypes.h.
Change-Id: Idb4a5a879545a5de26b13bb8b484cd3debd6fba2
Mark Abraham [Thu, 10 Jan 2019 10:41:37 +0000 (11:41 +0100)]
Disabled internal clFFT when using MSVC with OpenCL
We require clFFT for OpenCL support, and MSVC 2017. But clFFT only
supports MSVC 2010, and a user has reported that that clFFT does not
compile. As we have not provided for clFFT support to be disabled at
configure time (nor taught mdrun that it might not be able to run PME
on an OpenCL GPU in this case), it is simplest to withdraw support for
this corner case until clFFT support for modern MSVC is available.
Fixes #2500
Change-Id: I736501234cfd51bc1cee5d8a71cb1fb343ddd100
Mark Abraham [Thu, 10 Jan 2019 09:07:59 +0000 (10:07 +0100)]
Improve nvcc error reporting
When nvcc fails, tell the user about both standard error and standard
output. The former code was broken if _cuda_test_err would be
undefined, and reported by a user (see the link at Redmine #2500).
Change-Id: Id16d2ff1bd1033cd23e82687b79409ea8d841131
Kevin Boyd [Tue, 15 Jan 2019 02:18:49 +0000 (21:18 -0500)]
Add tests for gmx mindist
Freed up some memory in gmx_mindist
Changed some static variables to normal variables, as
their values were propagating between tests and messing
with the options
Change-Id: Ideb0341659ad2d8a66769e671e1fafadd6ea8d02
Paul Bauer [Tue, 15 Jan 2019 07:10:24 +0000 (08:10 +0100)]
Change one gmx_mtop_t atom loop to C++
Changed C style struct to C++ class.
Preparation for modernizing atoms datastructure.
Removed a useless gmxassert.h
Refs #2833
Change-Id: I22cfa27bfefc8469b4100a9fef8c11da4d304657
Kevin Boyd [Thu, 17 Jan 2019 00:30:15 +0000 (19:30 -0500)]
Move non-analysis tools from gmxana to gmxpreprocess
Renamed genpr to genrestr to align with actual gmx <tool> call
refs #2727
Change-Id: I83a1dc6b39915372c4178768354d334c7e911ae2
Mark Abraham [Fri, 18 Jan 2019 05:14:28 +0000 (06:14 +0100)]
Remove ctest section called simple
Now that the regressiontests no longer has such a category, we should
not have a ctest section for it.
Refs #1587
Change-Id: I6ea4fea10e01079bf9779b4127faa3f23a8d81d5
M. Eric Irrgang [Thu, 17 Jan 2019 11:31:31 +0000 (14:31 +0300)]
Remove .travis.yml Travis-CI config file.
Fixes #2836
Change-Id: Id413c51596dddb230c4b41f4a66673da21322543
Paul Bauer [Fri, 11 Jan 2019 15:21:59 +0000 (16:21 +0100)]
Change ResidueTypes to class
Changes implementation to class with private implementation pointer.
Change-Id: Ia623a23e32ca95a00460c536e2868106b32ad7f9
David van der Spoel [Mon, 14 Jan 2019 19:41:13 +0000 (20:41 +0100)]
Allow multiple coordinate sets in listed_forces test.
Part of #2795
Change-Id: Idb1a0ec4e8c304d2f2d865f6feac5d026b1f2393
David van der Spoel [Sun, 9 Dec 2018 08:56:30 +0000 (09:56 +0100)]
Moved one regressiontest to core gromacs.
Added an md-vv test one.
Part of #2795
Change-Id: Icd33655abca39c47b6735f2d3a1b185e7eff2edb
Mark Abraham [Tue, 15 Jan 2019 12:16:20 +0000 (13:16 +0100)]
Migrate test configuration off bs_mac
Change-Id: I4b1014916397c31cbeacb01ac8bad771e09277c8
Paul Bauer [Wed, 16 Jan 2019 17:00:27 +0000 (18:00 +0100)]
Fix memory leak in solvate
Change-Id: Id74c2e4fe728b3b4b47d99c3ec8a55db44c5d8b7
Mark Abraham [Tue, 15 Jan 2019 19:37:41 +0000 (20:37 +0100)]
Remove several unnecessary things
More modern cmake requirements mean we don't need to
include some files.
Some TODO comments cannot be addressed in the forecast manner
Simplified some code
Refs #2505, #2831
Change-Id: I3593a072da0ece9b993c7f531ae43fd9fff4afc2
Berk Hess [Tue, 15 Jan 2019 09:17:57 +0000 (10:17 +0100)]
Rename HostVector to PaddedHostVector
Also renamed HostStdVector to HostVector. This change is done because
we now need the unpadded type more often and this naming is more
consistent.
This change is only renaming, except for gmx_pme_pp.x which is now
without padding as it remained of type HostVector.
Change-Id: If3ba78554dd1ad7ed93d286ced343986690096c1
Mark Abraham [Tue, 15 Jan 2019 19:12:49 +0000 (20:12 +0100)]
Reverted standard ExternalProject for FFTW download
Now that our cmake is modern enough, we can use the
simpler code again.
This partly reverts commit
dc75f6f.
Change-Id: Ifc1800beba88fc342ac7b8490a51610a035d60c8
Roland Schulz [Sun, 13 May 2018 05:02:19 +0000 (22:02 -0700)]
Require cmake 3.9.6
Allows to use modern OpenMP support. The change will permit further
simplifications and modernization, particularly for CUDA.
Also bump release matrices to conform to new requirements.
Fixes #2505
Change-Id: Ibe92639ac4a0bc9ac615826637aeb6e86af0c6d4
Paul Bauer [Tue, 8 Jan 2019 09:46:50 +0000 (10:46 +0100)]
Remove raw pointers in index handling
Change-Id: I60f841e12e99bd0bd61b4dec176d24f5d2803f1a
Kevin Boyd [Sun, 13 Jan 2019 16:04:55 +0000 (11:04 -0500)]
Fix tiny leak in pleasecite.cpp
Change-Id: Iee2846d42a8b843c2e70de2b7f4e33e889fad90a
Mark Abraham [Thu, 10 Jan 2019 08:54:26 +0000 (09:54 +0100)]
Improve portability of PME on GPU code
Refs #2500
Change-Id: Id1069b0ad60a9af18b4882ec56364b073c871ebe
Mark Abraham [Mon, 14 Jan 2019 08:21:02 +0000 (09:21 +0100)]
Remove ctest section called kernel
Now that the regressiontests no longer has such a category, we should
not have a ctest section for it.
Refs #1587
Change-Id: I9871e32dfbde329ca4eceb718a94a7c8a418282a
Kevin Boyd [Sun, 7 Oct 2018 16:05:32 +0000 (12:05 -0400)]
Partial conversion of gmx msd to std::vector
Changed raw arrays in the primary struct to vector,
with the exception of Matrix - an STL friendly version
of this is still in the gerrit pipeline
refs #2368
Change-Id: Ic41e6a1f78d53c2d5134e5831536a714b0a38a5b
Mark Abraham [Wed, 9 Jan 2019 16:09:50 +0000 (17:09 +0100)]
Migrate TPI testing to Verlet scheme
For now, this also disables TPI testing, since TPI does not yet
support the Verlet scheme. If that gets fixed before this change gets
incorporated, the test should not be disabled.
Refs #2391
Change-Id: I83483bd23a03e9175571f2194dae0df96960e6c7
Paul Bauer [Tue, 8 Jan 2019 08:59:29 +0000 (09:59 +0100)]
Refactor AtomProperties into C++
Replaced raw pointers with vectors.
Change-Id: Ib1bdfcda9b618a70b5ce06beae1d3e9240e59ef8
David van der Spoel [Sat, 22 Dec 2018 21:33:36 +0000 (22:33 +0100)]
MSD tests for the -mol option.
Had to free some memory as well to make tests pass.
Added basic code for running grompp.
Renamed spc5 files in simulationdatabase that are used
in src/programs/mdrun/tests to tip3p5 since they were
in fact using tip3p and in this manner a conflict with
the gmx_msd tests is avoided.
TODO: re-use the grompp code in moduletest.cpp
from src/programs/mdrun/tests
Part of #2815
Change-Id: I5d5d33f431f1d3089ebaef54b6388348d47ce6e2
Teemu Murtola [Sun, 23 Dec 2018 19:17:19 +0000 (20:17 +0100)]
Use label to select doxygen version
Cherry-picked from commit
67837955db4b8c8553efdb8887a589e77e934cfb.
Allows retiring support for the old mechanisms in releng earlier.
Change-Id: Ic5276e846867e1dd77250500dcb8693946258e0c
Mark Abraham [Wed, 2 Jan 2019 14:02:14 +0000 (15:02 +0100)]
Improve use of gmxpreprocess headers
Less use of typedef struct so that we can have more use of forward
declarations of types.
Less inclusion of headers from headers
Updated stdio.h to cstdio
Localized definition of t_nbparam to the single file it needs to be
in.
Change-Id: I92d2d4e1a9a1bc8062627af45dc606903254803c
Kevin Boyd [Sun, 13 Jan 2019 16:01:38 +0000 (11:01 -0500)]
Fix small leak in constraints
Change-Id: I68370a3cec7d39846c26c46f293fd8855540252d
Kevin Boyd [Mon, 24 Dec 2018 20:53:17 +0000 (15:53 -0500)]
Add grompp check for usage of "define" field in mdp
Users can misspell the strings specified with -D in the topology. This now
check that every -D field has a corresponding #ifdef and/or #ifndef and/or
C macro-style text replacement in the topology.
Fixed one unit test with unnecessary define field
refs #1975
Change-Id: Ie6329b234a60dde8efc34fb788e6296f241651ed
Paul Bauer [Thu, 10 Jan 2019 12:33:34 +0000 (13:33 +0100)]
Make AtomProperties class with Impl
Moved the atomprop structure to a class with the underlying arrays
implementation detail. Changed names to be more descriptive. Changed
functions to be class methods where appropriate.
Change-Id: Iffee0635008567735798d0ad5ac560d0cb1e582a
Mark Abraham [Wed, 2 Jan 2019 11:44:40 +0000 (12:44 +0100)]
Use enum class for grompp directives
Now the enum class can be forward declared in header files, so we
lower compilation coupling in a few places. Also moved the enum
definition to a less generic header file, to help get rid of
grompp-impl.h file completely.
Made use of new enumeration helpers. Added a test so that the
enumeration can't be extended without extending the matching name array.
Removed commented code for d_blocktype, which hasn't existed for ages.
Change-Id: If3fdc87f87f95f1a5ee61ae2f9f22218105a49a5
Mark Abraham [Fri, 11 Jan 2019 12:55:27 +0000 (13:55 +0100)]
Fix typo in release notes
Change-Id: Ie104808c9e60c892ba9b3a089f19067e023351e2
Mark Abraham [Wed, 2 Jan 2019 14:02:39 +0000 (15:02 +0100)]
Add helper functionality for safer enumerations
Also unit tests.
Based on the public-domain code from Guilherme R. Lampert, found on
GitHub at https://github.com/glampert/enum_helpers
Change-Id: I344184fc1852efa9d22a15800e7fb1d6c876aef0
David van der Spoel [Wed, 2 Jan 2019 22:11:27 +0000 (23:11 +0100)]
Added low-level tests for improper dihedrals.
Also first try at implementing tests of the free
energy calculations.
Part of #2034
Change-Id: Ie8f244059fcf914d860f57e5f66dc76997904638
Mark Abraham [Thu, 10 Jan 2019 09:59:31 +0000 (10:59 +0100)]
Add more checks for division by zero
The rotation code was still vulnerable to numerical coincidences of
atom positions and slab centers.
Refs #1587
Refs #1431
Change-Id: If7928825d74226a5b25ed3441e6b6dbdf004115a
(cherry picked from commit
5023601307ea4a905e19d83113c2ac43aaf0d71e)
Berk Hess [Wed, 26 Dec 2018 15:21:54 +0000 (16:21 +0100)]
Split nbnxn_atomdata_init()
Extracted the parameter initialization from nbnxn_atomdata_init()
in preparation of extracting the parameters from the struct.
This change is only code motion.
Change-Id: I0cf2dd6e54406f095b7568c8dd92b31d0bc58f74
Berk Hess [Thu, 20 Dec 2018 20:51:55 +0000 (21:51 +0100)]
Change grid pointers in nbnxn search to references
While modifying the makeClusterList function arguments,
also unified the diagonal exclusion handling so the logic
is in one place instead of 10.
Change-Id: Ia35d56540968843e10f1e9d43f13a8b116b7b759
Mark Abraham [Thu, 10 Jan 2019 09:59:31 +0000 (10:59 +0100)]
Add more checks for division by zero
The rotation code was still vulnerable to numerical coincidences of
atom positions and slab centers.
Refs #1587
Refs #1431
Change-Id: If7928825d74226a5b25ed3441e6b6dbdf004115a
Berk Hess [Thu, 20 Dec 2018 15:00:48 +0000 (16:00 +0100)]
Split nbnxn_list_work_t and change to C++
Split the nbnxn pairlist struct into a CPU and GPU version.
Change most pointers to std::vector. The remaining pointer will be
converted when DefaultInitializationAllocator is available and
NbnxnPairlistGpu is converted to C++.
Change-Id: Idd4c89fc81eef58d78d2431a39b9b547eaf615a2
Paul Bauer [Wed, 2 Jan 2019 13:35:21 +0000 (14:35 +0100)]
Fix string handling in vmdio
Found another instance of string handling issues reported by gcc-8.
Change-Id: I4d3a63b616e9e327bc2ac199c9c16f379618447f
Paul Bauer [Wed, 5 Dec 2018 15:33:31 +0000 (16:33 +0100)]
Add mtop comparison function
Added a function to directly compare gmx_mtop_t datastructures and not
go through the conversion to t_topology first when comparing tpr files.
Removed the old function.
Changed some const pointers to const references.
Refs #1862
Change-Id: I3d8c4a1274dee221231b2d4bf2719717c8a6379d
Berk Hess [Fri, 14 Dec 2018 09:59:26 +0000 (10:59 +0100)]
Use std::vector in NbnxnPairlistCpu
All pointers in NbnxnPairlistCpu have been replaced by std::vector.
This change is only refactoring. The only, local, functionality change
is that during list creation and entry is added to the later and later
removed when empty instead of operating on an entry that is located
one beyond the list size.
Change-Id: I984e879d1f2fa52d74aafc5c4da09c7eefbb99fb
Mark Abraham [Wed, 9 Jan 2019 14:55:33 +0000 (15:55 +0100)]
Fix eioNames
These strings must match the enumeration values
Change-Id: I25e87c2e889c69ee16383b866ed78dcca0c8934c
Berk Hess [Mon, 7 Jan 2019 14:17:10 +0000 (15:17 +0100)]
Fix gcc-8 release warnings in tng_io
Removed the gcc -WFormat-overflow flag, as this is expected to mostly
generate false postives (fixed one false positive in tng_io.c).
Change-Id: I56bf76d2f3b43e54566137047a43d946d6b6e7d3
Paul Bauer [Wed, 9 Jan 2019 10:26:24 +0000 (11:26 +0100)]
Fix uncrustify complaining about files
Change-Id: Id536a42c2f5cf043a48baa5ee2d7822b48353e27
Kevin Boyd [Mon, 7 Jan 2019 22:41:24 +0000 (17:41 -0500)]
Clean up thread teardown
Struct freeing had been incomplete
Change-Id: If48f495f64bf880714b26241aa5571f5d487521b
Berk Hess [Tue, 18 Dec 2018 11:00:42 +0000 (12:00 +0100)]
Added DefaultInitializationAllocator
Added an allocator that can be used to default initialize elements
of a std::vector on resize(). This is useful to avoid initialization
in performance critical code.
Change-Id: I65bd52a760c68c73555e8bb9e017de353a6e9a81
Kevin Boyd [Mon, 31 Dec 2018 19:46:55 +0000 (14:46 -0500)]
Clean up PME load balancing struct
Changed a c array to vector and removed associated size tracker
Deleted struct when done
Change-Id: I50db40f43c41e36c62f47acd91ced70911591a7e
Mark Abraham [Fri, 4 Jan 2019 17:07:57 +0000 (18:07 +0100)]
Fix trjconv -ndec
This only works with XTC writing, but the documentation
and implementation was wrong. That mean that the terminal
feedback to the user was also wrong when writing a .gro file.
Fixes #2824
Refs #2037
Change-Id: I9f047d0b1042fa37e366ee8c99dabbb1f3458b0a
Mark Abraham [Fri, 4 Jan 2019 17:19:04 +0000 (18:19 +0100)]
Simplify reporting of GPU selection
It is no longer clear to users whether mdrun -gpu_id 0 is
auto-selection or user-selection, since the user has restricted the
range from which auto-selection takes place. It is simpler and less
confusing to report simply that some were selected.
Fixes #2825
Change-Id: I0c8f0c50f6c5e90d86469c6005a61e43b29eb260
Paul Bauer [Wed, 2 Jan 2019 13:13:55 +0000 (14:13 +0100)]
Reuse Sphinx environment again
Enabled the reuse of the sphinx environment again.
Fixed issue with build order for webpage and manual, and fixed minor
link error in user-guide.
Change-Id: I12c7fa1c2e93c3bcb92db85ba526c8cd65dd6339
Kevin Boyd [Mon, 31 Dec 2018 20:07:32 +0000 (15:07 -0500)]
Clean up ekind struct
Changed to unique_ptr in mdrun, rerun, mimic
Changed pointer arrays to vector where possible
Used ArrayRef to refer to vectors in functions
Freed remaining memory leaks in ekind destructor
Change-Id: Ida1ab594334009a9fe22f4bd8d5bc8d9050811e3
Paul Bauer [Mon, 7 Jan 2019 10:20:00 +0000 (11:20 +0100)]
Remove DOI entries when not on release patch
Forgot this when uploading the 2019.1 preparation patch.
Change-Id: Ib195a6fc5ed11d778f086f4604a323ab625942c2
Mark Abraham [Mon, 7 Jan 2019 01:19:46 +0000 (02:19 +0100)]
Finish removing group-scheme all-vs-all support
These kernels haven't been callable since before GROMACS 4.6
No release notes entry as no functionality is actually changed with
this commit.
Fixes #1095
Change-Id: I3de3b9bbabaafae70fee4e9845880c973e8dc352
Kevin Boyd [Sun, 23 Dec 2018 01:13:26 +0000 (20:13 -0500)]
Convert t_vcm to C++, plugging a memory leak
Change init function to constructor
Extract COM log file writing from init to a function
Make do_md owner of t_vcm with unique_ptr
Move initialization of t_vcm out of init_md
Change pointer arrays to vectors where possible. Where not
possible, we now free dynamically allocated resources in destructor.
Change-Id: I711a8d81ec0343969dcb437d9a3b8a474d291e87
Berk Hess [Wed, 31 Oct 2018 22:21:56 +0000 (23:21 +0100)]
Split nbnxn pairlist types for CPU and GPU
Split nbnxn_pairlist_t into NbnxnPairlistCpu and NbnxnPairlistGpu.
Now all members are used in each struct in the respective code paths.
Templated make_nbnxn_pairlist_part on pairlist type.
This change is only refactoring, except for changing an assert
to a release assert.
Note that currently the two list types have some members in common,
but most of those will dissappear in followup changes.
Change-Id: Ic53585066874c4a42539a1b1bc68b756dda3f19e
Berk Hess [Mon, 17 Dec 2018 14:32:36 +0000 (15:32 +0100)]
Replace NBNXN_CPU_CLUSTER_I_SIZE by c_nbnxnCpuIClusterSize
Change-Id: Id144a1d6bc28f753a2eca055b4f24a1e4239cd2e
Paul Bauer [Thu, 13 Sep 2018 12:19:40 +0000 (14:19 +0200)]
Change gmx_localtop_t to C++
Changes the localtop topology structure to C++.
Cases where the object could be allocated on the stack have
been changed in that way. In other places, unique_ptr is now
used for the allocation.
Changed callers that returned a pointer to a new gmx_localtop_t
to instead take a pointer to the datastructure that will be
populated.
gmx_localtop_t is by default managing its own memory, but can be changed
to not do this. This is needed for the domain decomposition as it is not
expected to free memory owned by mtop there.
This is part of the larger aim of modernizing the topology
datastructures to C++.
Changed const pointers to const references where encountered during the
change.
Change-Id: I619533f5dc332332f1652afb24266bc2dae67d4c
Szilárd Páll [Wed, 2 Jan 2019 21:37:43 +0000 (22:37 +0100)]
Fix formatting warning
Some compilers warn if format string does not contain format arguments.
Refs #2821
Change-Id: If71b4eaa61fa5f2400d7f4f706cfe59c1c5d8df8
Christoph Junghans [Thu, 3 Jan 2019 10:39:04 +0000 (03:39 -0700)]
gmxManageLmfit.cmake: enforce usage of 7.0
LMFIT_FOUND will also be true for version lower than 7.0, so we
need to check the version explicitly in gmxManageLmfit.cmake.
Change-Id: Ia3ae12b3a74d2b567432f5ef18a77c13b19cdb85
Berk Hess [Thu, 3 Jan 2019 13:18:33 +0000 (14:18 +0100)]
Fix segmentation fault in DD code
mdrun could exit with a segmentation fault in DD when DLB was disabled.
Fixes #2813
Change-Id: Ie20ca1995c93fa74f41d8db5becfce1cb20348a3
Szilárd Páll [Wed, 2 Jan 2019 18:34:28 +0000 (19:34 +0100)]
Fix clang 6 warning
Change-Id: If90d02a5eb93abf2b687f5449f4201138da17ab0
Kevin Boyd [Wed, 2 Jan 2019 01:22:59 +0000 (20:22 -0500)]
Free topology in non-DD simulations
Followup to commit
0926c8a6
Without DD, a number of fields in the localtop are dynamically
allocated and not freed, but functionality existed to free them
that hadn't been called.
Change-Id: I82b8d08234722dfd8d8d3f948512458ee105c5ad
Mark Abraham [Wed, 2 Jan 2019 10:56:32 +0000 (11:56 +0100)]
Merge branch release-2019
Change-Id: I71d9bc751e14f821392f802ee9222b864f1e69b6
Szilárd Páll [Mon, 31 Dec 2018 15:19:33 +0000 (16:19 +0100)]
Do not whitelist the use of OpenCL 1.1 API
We neither support nor use OpenCL 1.1 API calls.
Change-Id: Ia73b8d8cc61ad6a56a5a56a72d26459be8f56267
Paul Bauer [Mon, 31 Dec 2018 11:26:26 +0000 (12:26 +0100)]
Prepare for 2019.1
Change-Id: Ibdf643605a1fb6e7054d39a35f1a90b794bd5c3e
Paul Bauer [Fri, 14 Dec 2018 13:43:01 +0000 (14:43 +0100)]
GROMACS 2019 release
Updated regressiontest hash and added release information in docs.
Change-Id: I69baae6982b58b73161166f9d2c3a397b7efa8b0
Szilárd Páll [Mon, 31 Dec 2018 15:24:46 +0000 (16:24 +0100)]
Fix release notes typo
Change-Id: Ib8c390f643512e30299db2319b12bb0bdb78815d
Szilárd Páll [Fri, 21 Dec 2018 19:17:33 +0000 (20:17 +0100)]
Add CUDA CC 7.5 (Turing) support with nvcc
Left commented out code for clang native CUDA build flag generation as
current clang (7.0) does not support sm_75.
Fixes #2814
Change-Id: Ie59c8c887e9d81d7a65136e0445291fd718c88dc
Kevin Boyd [Tue, 25 Dec 2018 01:46:48 +0000 (20:46 -0500)]
Only report intra-sim communication with multiple ranks
Fixes #2807
Change-Id: I01bec8cf9983dc37cd5ad8f29031073c31b2a384