Artem Zhmurov [Mon, 8 Jun 2020 06:58:20 +0000 (06:58 +0000)]
Unify VdW and Electrostatic kernel enumerations in CUDA and OpenCL versions of NBNXM
These enumerations are identical in CUDA and OpenCL.
Artem Zhmurov [Fri, 5 Jun 2020 15:23:32 +0000 (17:23 +0200)]
Move calculation of kinetic energy to md_support
The calc_ke_part function is only called from compute_globals,
hence it should reside there, not in update.
Berk Hess [Fri, 5 Jun 2020 11:53:37 +0000 (11:53 +0000)]
Remove COM from SETTLE
SETTLE computed new postions of the atoms using the center of mass
of the molecule. But this adds rouding errors which lead to extra
energy drift. The use of the COM is now completely avoided, which
significantly improves energy conservation when coordinates are large
and also slighlty improves performance.
Corrected and updated the flop accounting for SETTLE.
Paul Bauer [Thu, 4 Jun 2020 16:35:39 +0000 (18:35 +0200)]
Use moltype directly for obtaining residueAtomRanges
Skipped indirection through molblock and mtop after seeing that the
client code this is intended for can just provide the current moltype.
Change-Id: I51e1bef8882d334849682b528e0e8f0c7f81ad17
Paul Bauer [Fri, 5 Jun 2020 09:27:31 +0000 (09:27 +0000)]
Fix failing webpage build
Change-Id: I09f0f0be0c055921e9e92adc424fce58ef2eb368
Artem Zhmurov [Wed, 3 Jun 2020 14:28:40 +0000 (16:28 +0200)]
Make a error message less confusing
The GPU implementation of PME and bondeds require dynamical integrator.
This updates the error message to make it more clear to the user.
Refs. #3544
Paul Bauer [Thu, 4 Jun 2020 14:58:59 +0000 (14:58 +0000)]
Add ability to chose regressiontest commit and branch
Change-Id: I4b51a2c1a0ea434dc4c6d306ba88768ba8032270
Artem Zhmurov [Thu, 4 Jun 2020 07:21:19 +0000 (07:21 +0000)]
Cool quote
Berk Hess [Wed, 3 Jun 2020 12:59:02 +0000 (14:59 +0200)]
Fix missing PBC in SHAKE
During introduction of PBC support in SHAKE, one distance calculation
was overlooked.
Also replaced doubles by reals and made variables scope local.
Erik Lindahl [Wed, 3 Jun 2020 15:05:18 +0000 (17:05 +0200)]
Remove 'register' storage class in clFFT
Required for compatibility with C++17.
Berk Hess [Wed, 3 Jun 2020 12:49:49 +0000 (12:49 +0000)]
Turn SettleData into a class
This change is only refactoring.
Gilles Gouaillardet [Mon, 1 Jun 2020 07:55:06 +0000 (16:55 +0900)]
nonbonded-benchmark: run combrule=none when the -all option is used
Closes gromacs/gromacs#3543
Paul Bauer [Tue, 2 Jun 2020 09:33:05 +0000 (09:33 +0000)]
Add function to get residue start and end
Free function for mtop that makes it possible to obtain the start and
end point of residues in a molecule block.
Change-Id: Ic7ac4b79a29275aac65cd8224f163e3c2efe6d4d
Mark Abraham [Mon, 1 Jun 2020 07:53:45 +0000 (07:53 +0000)]
Fix atomics configure test
The previous code used an approach to setting the include path for
TEST_ATOMICS test that did not work if the path had a space in it.
This meant that atomics support in GROMACS seemed broken if the build
was from a path in the home folder of a user named like "Firstname
Lastname". This is often the case on Windows.
The new approach avoids this brittleness, adds a few comments and has
the test source code inline in the cmake code. The TMPI_TEST_ATOMICS
macro is replaced by a function so that it has a namespace, since it
now needs to set some variables that benefit from that
namespace. Also, its results were returned in internal cache variables
rather than the namespace that the former macro automatically shared,
so there was no advantage to using a macro rather than a function.
The former TEST_ATOMICS test defined TMPI_ATOMICS before the call,
which was useless and confusing. That is removed.
Removed a useless call to TMPI_TEST_ATOMICS, which had always passed
the name of a variable instead of the value it contained, and was
redundant with a proper call that immediately preceded it in the
calling code.
Mark Abraham [Thu, 28 May 2020 21:56:10 +0000 (23:56 +0200)]
Make Cygwin build work
Originally CMake didn't provide C++ language version flags, so GROMACS
managed that itself. Now that GROMACS lets CMake manage it, we always
get the -std=c++17 flag, rather than (say) -std=gnu++17 to allow
extensions to the std headers. In various places, GROMACS relied on
POSIX functionality that is available by default on Linux, but on
Cygwin required the GNU extensions to the C++ language dialect. This
change fixes several such places, mostly by requiring the POSIX
extensions needed.
Removed an include of sys/syscall.h that was unused, unnecessary, and
only present on Linux.
Moved an inclusion of gtest.h from a header into a source file because
it was only needed there.
Fixed some warnings about unused things.
Paul Bauer [Wed, 4 Mar 2020 14:50:52 +0000 (15:50 +0100)]
Add test for InteractionList
Change-Id: Id1231d96e056adb64231333e72ae5aa15f0abc6e
M. Eric Irrgang [Fri, 29 May 2020 12:18:04 +0000 (12:18 +0000)]
Handle arbitrary doxygen versions in Docker image build scripts.
Refs #3539
Artem Zhmurov [Fri, 29 May 2020 10:51:49 +0000 (10:51 +0000)]
Unify initialization of GPU and CPU SETTLE
The two identical code path are now combined. Note, that that
exposes SettleParameters object and its initialization in the settle
header. But the SETTLE is contained within the Constraints object and
this header is not include anywhere else, so the exposure is minimal.
M. Eric Irrgang [Thu, 28 May 2020 11:07:44 +0000 (14:07 +0300)]
Remove unused (and broken) image from Docker image build script.
M. Eric Irrgang [Thu, 28 May 2020 11:06:13 +0000 (14:06 +0300)]
Docker image builds: simplify doxygen version handling.
Remove broken handling for requested versions other than 1.8.5.
Remove over-specified (and broken) doxygen argument in parser.
M. Eric Irrgang [Thu, 28 May 2020 11:00:46 +0000 (14:00 +0300)]
Docker image builds: move doxygen handling to a separate function.
M. Eric Irrgang [Tue, 26 May 2020 13:40:24 +0000 (16:40 +0300)]
Extend MPI ensemble testing for gmxapi.
Fixes #3469
M. Eric Irrgang [Fri, 22 May 2020 15:38:20 +0000 (18:38 +0300)]
Enable MPI ensemble testing for gmxapi.
Refs #3469
M. Eric Irrgang [Tue, 26 May 2020 14:17:03 +0000 (14:17 +0000)]
Normalize gmxapi related release-2020 job logic.
Use rules definied in global.gitlab-ci.yml for gmxapi related jobs.
Refs #3475
Artem Zhmurov [Tue, 26 May 2020 06:37:02 +0000 (06:37 +0000)]
Remove the dependence on Constraints object on t_mdatoms
This removes t_mdatoms structure from all function signatures in
Constraints object. Only those data neede for Constraints is
now passed upon setup and stored locally.
Erik Lindahl [Mon, 25 May 2020 20:09:30 +0000 (20:09 +0000)]
Fix warnings on llvm 11 compilers
This fixes a bunch of benign warnings exposed by recent
Intel compilers based on the llvm master branch frontend.
- Remove an unused mutex
- Use the C++ compiler for gmx_simdcall CMake tests
- Avoid anonymous structs to (C/C++ compatibility warning)
Paul Bauer [Mon, 25 May 2020 06:50:51 +0000 (08:50 +0200)]
Fix awk error in clang-tidy script
Change-Id: I1fb812af81d75577d2a5a6bf0d7f932ea80c2baf
Artem Zhmurov [Mon, 25 May 2020 08:13:12 +0000 (08:13 +0000)]
Remove dependence on t_mdatoms from GPU version of leap-frog
Paul Bauer [Mon, 25 May 2020 06:47:24 +0000 (08:47 +0200)]
Fix clang-tidy warnings
Change-Id: I8f1b8d22c423dcef5742289e1f3c071e5ba668f2
Paul Bauer [Sun, 24 May 2020 19:13:28 +0000 (19:13 +0000)]
Add conversion from new to legacy symtab
Added function to convert legacy to modern version as well.
Also add test for conversion and merge test fixtures for symbol table
tests.
Refs #2833
Change-Id: I59dab5e19a6fc4ab86933b178cb2d729b72c4f7a
Kevin Boyd [Sun, 24 May 2020 13:13:01 +0000 (13:13 +0000)]
Clean up grompp memory leaks in rotation and pull structures.
Changed to C++ where possible, added c-style cleanup where not
feasible.
Paul Bauer [Sun, 24 May 2020 08:03:01 +0000 (08:03 +0000)]
Avoid parsing of fatalerror.cpp as lint failure
When the file was changed its presence could cause the linter to fail
even though no errors are present. Fixed by avoiding the name in the
regular expression.
Change-Id: I0c066ede89b30bfd98b5ad335ec40ea756445e00
Paul Bauer [Sat, 23 May 2020 13:44:03 +0000 (13:44 +0000)]
Modernize convert-tpr
Moved convert-tpr to ICommandLineModule and cleaned up code a bit.
Change-Id: I6e6b494fabacf4e051c0d59a2436aede1e39bc38
Artem Zhmurov [Fri, 22 May 2020 18:15:35 +0000 (20:15 +0200)]
Remove dependence on t_mdatoms from pull code
The pull code only uses masses from the t_mdatoms, which
is now passed instead of the pointer to the entire
t_mdatoms structure.
Paul Bauer [Sat, 23 May 2020 09:16:46 +0000 (09:16 +0000)]
Add tests for tool help output writing
Change-Id: Ia1d3821feddc7856f6ebb64a0f26ac0eebdb2193
Artem Zhmurov [Fri, 22 May 2020 16:49:54 +0000 (16:49 +0000)]
Remove dependence of constraints on t_mdatoms
This changes the signatures of the constrants set/compute functions
by removing the t_mdatoms from the set of arguments and replacing
it with the parts that are actually used.
Refs. #3535
Artem Zhmurov [Fri, 22 May 2020 07:40:50 +0000 (07:40 +0000)]
Remove dependence of constraints on t_mdatoms
This changes the signatures of the constrants set/compute functions
by removing the t_mdatoms from the set of arguments and replacing
it with the parts that are actually used.
Refs. #3535
Paul Bauer [Wed, 20 May 2020 14:11:18 +0000 (16:11 +0200)]
Fix compile errors
Removing the include of arrayref.h caused issues due to missing implicit
include of <array>
Fixes #3534
Change-Id: I378e136c536c0db0e0b05042487698d3e38bfed7
Berk Hess [Wed, 20 May 2020 14:56:32 +0000 (16:56 +0200)]
Remove t_mdatoms from Nbnxm setAtomProperties()
M. Eric Irrgang [Thu, 14 May 2020 08:28:06 +0000 (11:28 +0300)]
Make sure images have /usr/bin/python
Append a Docker RUN command to make sure that /usr/bin/python either
already exists or is configured as a python3 alias.
Refs #3528
Berk Hess [Fri, 15 May 2020 08:28:52 +0000 (10:28 +0200)]
Refactor print_missing_interactions()
Paul Bauer [Tue, 19 May 2020 05:29:21 +0000 (05:29 +0000)]
Remove unnecessary includes of arrayref.h
Changed to forward declaration.
Don't think I got all of them yet.
Change-Id: I7c148364db152ed0a6645e91ee1ab93421441c0d
Artem Zhmurov [Fri, 15 May 2020 16:38:02 +0000 (16:38 +0000)]
Unify CUDA and OpenCL lookup-table creation
In CUDA code, textures are used for the lookup-tables,
whereas in OpenCL they are created as a read-only
buffers. This commit hides these differences behind a
unified wrapper.
Refs #3318
Refs #3311
Change-Id: I003e0c982c2452a2753e331b46fc59f0b7e1b711
M. Eric Irrgang [Thu, 14 May 2020 08:57:15 +0000 (11:57 +0300)]
Update docker image build scripts for master branch.
CI infrastructure has been back-ported to the `release-2020` branch,
so we can clean up the extra pieces that existed to support multiple
releases. This change does not require immediate rebuilds of the images.
The next time images are rebuilt, fewer images will be built and they
will be slightly smaller.
M. Eric Irrgang [Thu, 14 May 2020 08:34:19 +0000 (11:34 +0300)]
Make sure CI script can call /bin/env python`
Before calling admin/clang-tidy.sh, make sure that the wrapped tool will
be able to find a Python interpreter.
Refs #3528
M. Eric Irrgang [Thu, 14 May 2020 08:24:09 +0000 (11:24 +0300)]
Minor clean up to buildall.sh
A commented line indicates the script has occasionally been written for
overly aggressive action and is frequently modified in place, sometimes
resulting in accidental commits of disabled commands. This change lets
the script simply provide copy-pasteable commands for the user to run
at their discretion.
M. Eric Irrgang [Thu, 14 May 2020 08:17:35 +0000 (11:17 +0300)]
Allow llvm option already used in buildall.sh script.
An update to utility.py was apparently overlooked in a previous commit.
This allows admin/containers/buildall.sh to run.
M. Eric Irrgang [Thu, 14 May 2020 13:59:20 +0000 (13:59 +0000)]
Reduce console log output from sample_restraint tests.
Don't override default root log level in test_binding.py
Remove `-x` bash option from automated testing script.
Also remove extraneous and inappropriate __init__.py
Refs #3530
Berk Hess [Thu, 14 May 2020 12:51:51 +0000 (12:51 +0000)]
Extract postProcessForceWithShiftForces()
Also added a boolean to check whether we spread vsite forces exactly
once.
Paul Bauer [Thu, 14 May 2020 09:53:03 +0000 (09:53 +0000)]
Avoid CI errors from overloading resources
CI got cause ICE due to resource limitations.
Avoided by limiting parallelism for make.
Change-Id: I6cc09f16625f615984e71c650eafa755abc1f121
Paul Bauer [Wed, 13 May 2020 11:46:20 +0000 (11:46 +0000)]
Fix check source error parsing
Change-Id: I1a1bb3333fb9a36083b72004e116467432319ae9
M. Eric Irrgang [Tue, 12 May 2020 14:20:41 +0000 (14:20 +0000)]
Refine usage of *job:tags* parameter.
Try to prevent jobs from getting stuck when they should be runnable
in GitLab forks or in the Gromacs CI environment when the Shared Runners
are turned off.
Berk Hess [Tue, 12 May 2020 13:14:11 +0000 (13:14 +0000)]
Extract helper force buffers to a separate class
This change provides useful refactoring itself and it is needed
for multiple time stepping.
Berk Hess [Tue, 12 May 2020 09:01:35 +0000 (09:01 +0000)]
Refactor virtual site interface
Replaced struct gmx_vsite_t by pimpled class VirtualSitesHandler.
Removed most arguments that stay the same from the construction
and spreading calls. Replaced rvec pointers by ArrayRefs.
This change is only refactoring and there are no functional changes
in the code using this, but the PBC and virial handling have been
simplified and the parameters reduced. Templating of the spreading
functions on virial handling should improve performance.
Added full doxygen documentation.
Paul Bauer [Tue, 12 May 2020 08:13:13 +0000 (08:13 +0000)]
Fix archive build
Change-Id: I27361fa3f9218bbb38ac739b758d63a9774737ea
Artem Zhmurov [Mon, 11 May 2020 06:04:13 +0000 (08:04 +0200)]
Remove the duplicating note from the release notes
The fix was moved to release branch and release notes become duplicated.
Artem Zhmurov [Mon, 11 May 2020 08:31:34 +0000 (08:31 +0000)]
Unify CUDA and OpenCL lookup-table creation
In CUDA code, textures are used for the lookup-tables,
whereas in OpenCL they are created as a read-only
buffers. This commit hides these differences behind a
unified wrapper.
Refs #3318
Refs #3311
Change-Id: I003e0c982c2452a2753e331b46fc59f0b7e1b711
Paul Bauer [Wed, 6 May 2020 12:31:38 +0000 (14:31 +0200)]
Merge branch 'origin/release-2020' into master
Resolved Conflicts:
admin/clang-tidy.sh
admin/containers/buildall.sh
admin/containers/utility.py
admin/dockerfiles/buildall.sh
admin/dockerfiles/ci-clang/Dockerfile
admin/dockerfiles/ci-docs-clang/Dockerfile
admin/dockerfiles/ci-docs-gcc/Dockerfile
admin/dockerfiles/ci-gcc/Dockerfile
admin/gitlab-ci/archive.gitlab-ci.yml
admin/gitlab-ci/documentation.gitlab-ci.yml
admin/gitlab-ci/global.gitlab-ci.yml
admin/gitlab-ci/gromacs.gitlab-ci.yml
admin/gitlab-ci/lint.gitlab-ci.yml
cmake/gmxManageSimd.cmake
cmake/gmxVersionInfo.cmake
docs/dev-manual/containers.rst
src/CMakeLists.txt
src/api/cpp/tests/testingconfiguration.h
src/buildinfo.h.cmakein
src/gromacs/CMakeLists.txt
src/gromacs/ewald/pme_only.cpp
src/gromacs/fileio/matio.cpp
src/gromacs/fileio/oenv.cpp
src/gromacs/gmxana/gmx_do_dssp.cpp
src/gromacs/gmxana/nrama.cpp
src/gromacs/gmxlib/network.cpp
src/gromacs/gmxlib/nonbonded/nb_free_energy.cpp
src/gromacs/listed_forces/bonded.cpp
src/gromacs/mdlib/forcerec.cpp
src/gromacs/mdtypes/interaction_const.h
src/gromacs/nbnxm/pairlist.h
src/gromacs/selection/CMakeLists.txt
src/gromacs/simd/impl_x86_avx_256/impl_x86_avx_256_simd_double.h
src/gromacs/simd/impl_x86_avx_256/impl_x86_avx_256_simd_float.h
src/gromacs/simd/simd.h
src/gromacs/utility/basedefinitions.h
src/gromacs/utility/binaryinformation.cpp
src/testutils/CMakeLists.txt
src/testutils/TestMacros.cmake
src/testutils/testasserts.h
Change-Id: Ie157786299ca8f2d8c77a148b3bf1b1061f44b8a
Paul Bauer [Tue, 5 May 2020 06:56:33 +0000 (08:56 +0200)]
Fix copyright
Change-Id: I9d9953def7c31c2830de2452bb0678f1cad86969
Artem Zhmurov [Tue, 5 May 2020 06:37:33 +0000 (06:37 +0000)]
Unify CUDA and OpenCL lookup-table creation
In CUDA code, textures are used for the lookup-tables,
whereas in OpenCL they are created as a read-only
buffers. This commit hides these differences behind a
unified wrapper.
Refs #3318
Refs #3311
Change-Id: I003e0c982c2452a2753e331b46fc59f0b7e1b711
Paul Bauer [Mon, 4 May 2020 17:53:47 +0000 (17:53 +0000)]
Fix cmake error: Mixed styles of target_link_libraries signatures
Plain and keyword target_link_libraries signatures cannot be mixed.
Complete error message:
------------------->8---------------------------8<--------------------------
CMake Error at src/testutils/CMakeLists.txt:76 (target_link_libraries):
The keyword signature for target_link_libraries has already been used with
the target "testutils". All uses of target_link_libraries with a target
must be either all-keyword or all-plain.
The uses of the keyword signature are here:
* src/testutils/CMakeLists.txt:72 (target_link_libraries)
-- Configuring incomplete, errors occurred!
------------------->8---------------------------8<--------------------------
See: https://cmake.org/cmake/help/v3.0/policy/CMP0023.html
Artem Zhmurov [Mon, 4 May 2020 17:44:01 +0000 (17:44 +0000)]
Unify CUDA and OpenCL lookup-table creation
In CUDA code, textures are used for the lookup-tables,
whereas in OpenCL they are created as a read-only
buffers. This commit hides these differences behind a
unified wrapper.
Refs #3318
Refs #3311
Change-Id: I003e0c982c2452a2753e331b46fc59f0b7e1b711
Paul Bauer [Wed, 29 Apr 2020 09:23:54 +0000 (09:23 +0000)]
Use test conversion script from source
No longer install the script to convert CTest results to JUnit and
instead use the files from the cloned git source for it.
Fixes #3514
Change-Id: Ida4f2ab563601153b0b218c9bc6b7cfdb4969f01
Paul Bauer [Thu, 30 Apr 2020 12:03:15 +0000 (14:03 +0200)]
Fix incorrect header and linter scripts
Wrong grep flag meant that messages have not been printed.
Change-Id: I74b2088a12753d584929f9aa75ed915d400d8091
Pascal Merz [Thu, 30 Apr 2020 19:49:14 +0000 (13:49 -0600)]
Catch errors in v-rescale and Parrinello-Rahman checkpointing
This adds additional tests to catch checkpoints missing the v-rescale
thermostat integral or the Parrinello-Rahman box velocities. This
also make the number of steps explicit (useful in further investigations
of #3518).
In partial fulfillment of #3518
Paul Bauer [Wed, 29 Apr 2020 09:34:53 +0000 (11:34 +0200)]
Prepare for 2020.3
Reset DOI strings.
Change-Id: I6b9d5772fcc9b4d8507817d09173dd2d5577dfdb
Gilles Gouaillardet [Thu, 30 Apr 2020 13:56:22 +0000 (22:56 +0900)]
cmake: declare (and hence initialize) GMX_USE_SIMD_KERNELS before it is used
Fixes gromacs/gromacs#3516
Paul Bauer [Wed, 29 Apr 2020 09:31:53 +0000 (11:31 +0200)]
GROMACS version 2020.2
Update regressiontest hash.
Set DOI strings.
Change-Id: I708a1e340754d173b8c7ef47803e7fa525c9671a
Paul Bauer [Wed, 29 Apr 2020 12:47:58 +0000 (12:47 +0000)]
Print base commit for source linters
Added a printout for the branch used for comparing.
Will use to see if branch point selection is working properly and to see
if the clang-tidy script picks up the warnings it should.
Change-Id: I791d2a11f98cd8e0cf0d06e92a9980cd9d038874
Paul Bauer [Thu, 30 Apr 2020 12:03:15 +0000 (14:03 +0200)]
Fix incorrect header and linter scripts
Wrong grep flag meant that messages have not been printed.
Change-Id: I74b2088a12753d584929f9aa75ed915d400d8091
Mark Abraham [Thu, 30 Apr 2020 11:28:39 +0000 (11:28 +0000)]
Remove bundled FindCUDA.cmake
We bundle FindCUDA so we can suppress warnings in CI testing. In user
space, we always use the FindCUDA from the cmake they used, because
the tarballs never had these files.
Paul Bauer [Thu, 30 Apr 2020 06:27:31 +0000 (08:27 +0200)]
Disallow combination of gcc > 9 and IBM_VSX
The compiler flag is not detected for newer versions of gcc and can lead
to confusing error messages.
Fixes #3380
Change-Id: I0c5311325b2bf2bc08ab727eabd670115720b4a6
Mark Abraham [Thu, 30 Apr 2020 09:24:00 +0000 (09:24 +0000)]
Fix compiler flag reporting
The C, C++ and CUDA compiler flag reporting didn't mention those added
by cmake from the build configuration, even those are always used.
Closes #3510
M. Eric Irrgang [Fri, 24 Apr 2020 13:15:42 +0000 (16:15 +0300)]
Update header sorting.
* Add missing C++ standard library headers to includesorter.py
* Work around some logic errors in the way includesorter.py enforces
the stated scoping of sorted include blocks. Document.
* Apply updated includesorter.py
Refs #3297
M. Eric Irrgang [Wed, 29 Apr 2020 08:21:14 +0000 (11:21 +0300)]
Require C++17 standard and STL features.
Closes #3297
* Update project CMAKE_CXX_STANDARD.
* Migrate to std::optional and std::string_view.
* Update requirements in client packages.
* Provide some tool chain hints.
* Replace deprecated use of std::uncaught_exception() with
std::uncaught_exceptions().
* Update install-guide.
ejjordan [Wed, 29 Apr 2020 08:38:16 +0000 (10:38 +0200)]
Add EOF newlines to eliminate compiler warnings
ejjordan [Wed, 29 Apr 2020 08:54:53 +0000 (10:54 +0200)]
Remove cmake logic that is outdated by requiring cmake 3.13
Mark Abraham [Wed, 29 Apr 2020 12:07:35 +0000 (14:07 +0200)]
Update cmake version for docs container
Currently the nightly docs build fails because of
the bumped cmake requirement.
Paul Bauer [Wed, 29 Apr 2020 12:47:58 +0000 (12:47 +0000)]
Print base commit for source linters
Added a printout for the branch used for comparing.
Will use to see if branch point selection is working properly and to see
if the clang-tidy script picks up the warnings it should.
Change-Id: I791d2a11f98cd8e0cf0d06e92a9980cd9d038874
Artem Zhmurov [Wed, 29 Apr 2020 12:10:20 +0000 (12:10 +0000)]
Fix the number of steps check when checkpoint is loaded
The check ignores the initial step in the config file, thust only
works when loading for the trajectory that was originally started
from step zero.
M. Eric Irrgang [Tue, 28 Apr 2020 16:47:36 +0000 (19:47 +0300)]
Apply more granular CTest time-out policy.
Separate some test macro logic:
* Decouple IGNORE_LEAKS from INTEGRATION_TEST and SLOW_TEST.
* Use SLOW_TEST without IGNORE_LEAKS for some newly relaxed time-outs.
Give longer time out to some tests.
Resolves #3513
Paul Bauer [Wed, 29 Apr 2020 09:23:54 +0000 (09:23 +0000)]
Use test conversion script from source
No longer install the script to convert CTest results to JUnit and
instead use the files from the cloned git source for it.
Fixes #3514
Change-Id: Ida4f2ab563601153b0b218c9bc6b7cfdb4969f01
Mark Abraham [Wed, 29 Apr 2020 08:27:37 +0000 (08:27 +0000)]
Baseline commit
This just checks that the pipeline failure in #3507 does reproduce
before I start changing things that matter.
Mark Abraham [Tue, 28 Apr 2020 18:08:18 +0000 (20:08 +0200)]
Fixed several clang-tidy issues
A static variable was vulnerable to static-init-order-fiasco. Tests
will still perform OK even with constructing the default value
multiple times, so converted to a getter.
Closes #3498
ejjordan [Tue, 28 Apr 2020 13:55:28 +0000 (15:55 +0200)]
Address review comments
ejjordan [Mon, 27 Apr 2020 18:17:00 +0000 (20:17 +0200)]
Simplify calc_listed signature
In order to remove a number of parameters from the signature of
calc_listed, function calls for position restraints, dispersion
correction, and orientation restraints were moved out of the
calc_listed function.
ejjordan [Tue, 28 Apr 2020 11:54:03 +0000 (13:54 +0200)]
Fix issues with check-source
Roland Schulz [Sun, 26 Apr 2020 19:10:51 +0000 (12:10 -0700)]
Add clang WA
Roland Schulz [Sun, 26 Apr 2020 07:58:56 +0000 (00:58 -0700)]
Fix MSVC 2019 test failures
Related #3495
Artem Zhmurov [Mon, 27 Apr 2020 19:21:58 +0000 (19:21 +0000)]
Fix the removal of COM velocity in case of GPU update
After the velocities are changed on the CPU to remove the COM motion,
they have to be copied back to the GPU memory.
Fixes #3508
M. Eric Irrgang [Mon, 27 Apr 2020 17:57:27 +0000 (17:57 +0000)]
Resolve static analyzer warnings from google tests.
Exclude a couple of problematic lines from consideration by the clang
static analyzer by surrounding with precompiler conditionals
(`#ifndef __clang_analyzer__`).
Fixes #3503
M. Eric Irrgang [Mon, 27 Apr 2020 17:19:35 +0000 (17:19 +0000)]
Avoid temporary strings.
Resolve a compiler warning about temporary strings created through a
string concatenation written as a chain of addition operators.
Instead, use `string.append()`.
Artem Zhmurov [Mon, 27 Apr 2020 14:24:10 +0000 (14:24 +0000)]
Move PBC setup out of the launchKernel(...) in GPU bondeds
The PBC setup should not be performed on every step, hence it
should be separated from the force computation launch. This
is a preparation step, that does not change the logic, only the
separates the PBC setup and changes kernel launch signature.
Paul Bauer [Mon, 27 Apr 2020 11:46:33 +0000 (13:46 +0200)]
Fix segmentation fault in do_dssp
A matrix would be initial allocated with zero size, so that a
following call to increase the size of one element would lead to memory
corruption on a subsequent try to set a value in the matrix.
Fixes #3444
Change-Id: I1892c09a8aa4c2f92156f7b1a76623df9ac62e56
Mark Abraham [Mon, 27 Apr 2020 12:08:49 +0000 (12:08 +0000)]
Improved some logic in do_force
This helps the analyzer to understand that it should not just assume
that stateGpu can be a nullptr. The new logic is equivalent to
that for constructing stateGpu.
Removed the GMX_MPI preprocessing, which is less robust than plain
logic and probably contributed to using the wrong logic to construct
localXReadyOnDevice
Paul Bauer [Mon, 27 Apr 2020 07:31:47 +0000 (09:31 +0200)]
Build python package for documentation builds
Fixes #3506
Change-Id: If18ed44603d685118d4b73f2ee72401028574d61
Paul Bauer [Mon, 27 Apr 2020 07:23:09 +0000 (09:23 +0200)]
Fix warning for return type
Fixes #3499
Change-Id: I648a4b3d35618fe7c41d406c98be291ca9bd0d2f
Paul Bauer [Fri, 24 Apr 2020 10:59:49 +0000 (12:59 +0200)]
Fix bug in source verification on Windows
The way to pass the set of directories to be used for validating the
source caused issues on Windows systems, as it replaced ":" characters
to change from strings to lists in CMake.
This caused the top level directory to be changed from e.g. "D:" to
"D;", messing up the rest.
Fixed the message passing to only pass the final directory, and modify
to full path after the set has been passed through.
Fixes #3493
Change-Id: I4076b8e87dc8d72a83af6aa0c7ab4b3366917ed0
Mark Abraham [Sat, 25 Apr 2020 14:11:50 +0000 (16:11 +0200)]
Move configuration of global headers
Previously it was possible to get a different result from
cmake .. && make && make install
than one got from
cmake .. && cmake .. && make && make install
because the lmfit detection ran after config.h was generated,
so HAVE_LMFIT changed value from one cmake to the next, triggering
a rebuild of all source files that depended on config.h. lmfit
is supposed to fall back on the internal version, but did not,
so this is buggy. It's also very inefficient with compilation
in some workflows.
Paul Bauer [Sat, 25 Apr 2020 08:20:32 +0000 (10:20 +0200)]
Fix copyright header
Change-Id: Iab87aaf00ab6433a3fe616c4836595afa17c8907