Paul Bauer [Thu, 9 Jul 2020 11:29:19 +0000 (11:29 +0000)]
GROMACS version 2020.3
Set DOI strings to correct value.
Change-Id: Ib0f23e474a3db58b06c008bed4614fa6f9f85127
Kevin Boyd [Fri, 3 Jul 2020 13:16:11 +0000 (13:16 +0000)]
Fix segfault in gmx genrestr.
A gmx_mtop_t going out of scope freed memory in a related structure.
Extended the life of the topology structure, and fixed memory leaks that
popped up in the ASAN build.
Paul Bauer [Wed, 1 Jul 2020 13:42:21 +0000 (13:42 +0000)]
Change builds that use failing docker containers
Changes builds away from the gromacs/cmake-3.9.6-gcc-5-cuda-9.0-openmpi:2020
and gromacs/cmake-3.9.6-gcc-6-cuda-10.1-nvidiaopencl-clfft-openmpi:2020
docker images that have failed over the recent days.
For now set to use
gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020 image as well.
Change-Id: Ia62ebae0d1cf2dd5df91e6e735d3a171409f9fe5
Paul Bauer [Fri, 26 Jun 2020 17:26:04 +0000 (17:26 +0000)]
Make DSSP default path configurable
Fixes #3520
Change-Id: I19347890b7e5baf0a10c0d4d803a9e479c53714a
Berk Hess [Mon, 22 Jun 2020 15:27:29 +0000 (17:27 +0200)]
Fix tpxio function type update table
Fix order to incrementing function type. Likely certain older tpr
files would have been read incorrectly, usually lead to a memory
allocation error.
Artem Zhmurov [Tue, 16 Jun 2020 16:37:12 +0000 (18:37 +0200)]
Add missing end-of-line in the GPU update assignment error message
Paul Bauer [Fri, 12 Jun 2020 08:09:09 +0000 (08:09 +0000)]
Fix false initialization values in gmx hbond
Previous refactoring left some variables in an uninitialized state or
with values from previous code paths.
Fixes #3550
Change-Id: I43257a0aa6292aa462de41f0e6d60b50d6ea3cf4
Paul Bauer [Thu, 11 Jun 2020 12:31:09 +0000 (12:31 +0000)]
Fix false initialization values in gmx hbond
Previous refactoring left some variables in an uninitialized state or
with values from previous code paths.
Fixes #3550
Change-Id: I43257a0aa6292aa462de41f0e6d60b50d6ea3cf4
Paul Bauer [Wed, 10 Jun 2020 06:47:09 +0000 (08:47 +0200)]
Proper fix for gmx do_dssp
The tool was still broken after the previous fix, even though it didn't
crash any more.
Fixed now by providing the correct sizes for the matrix.
Fixes #3444
Change-Id: I6b59bbdd5e69ff2c311ff4c8457037c9310b081f
Paul Bauer [Fri, 5 Jun 2020 12:46:17 +0000 (14:46 +0200)]
Fix segmentation fault when reading energy terms
While trying to read the names from the file, it could read past the
allocation if the number of terms was smaller than F_NRE.
Fixes #3547
Change-Id: I978cdedaac5e52b10cee02b05e90851102eeb2bd
Artem Zhmurov [Fri, 5 Jun 2020 09:35:15 +0000 (09:35 +0000)]
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
Artem Zhmurov [Thu, 4 Jun 2020 17:15:58 +0000 (17:15 +0000)]
Update the release notes
Also fixed entry underline for tinyxml2.
Terry Mahaffey [Thu, 4 Jun 2020 09:12:52 +0000 (09:12 +0000)]
Remove the c++14 flag for CUDA builds on Windows. This flag is no longer necessary as C++14 has been the default on Windows for a while, and in any event, the CUDA driver (nvcc) doesn't support this flag anyway - causing the builds to fail.
Paul Bauer [Fri, 29 May 2020 11:13:31 +0000 (11:13 +0000)]
Correct regular expression for clang-tidy.sh
Was still faulty after previous fix.
The "\y" sequence captures the empty string at the beginning or end of a
word, and is able to distinguish between files containing the string
error and actual error messages.
Change-Id: I70f66d9f77ed0e912d7664b4b73d9047516b66ad
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
M. Eric Irrgang [Fri, 22 May 2020 15:38:20 +0000 (18:38 +0300)]
Enable MPI ensemble testing for gmxapi.
Refs #3469
Kevin Boyd [Sat, 23 May 2020 00:55:40 +0000 (17:55 -0700)]
Fix small typo in gmx 2020 release notes
Paul Bauer [Fri, 22 May 2020 16:38:52 +0000 (16:38 +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
M. Eric Irrgang [Mon, 13 Apr 2020 17:05:13 +0000 (20:05 +0300)]
Normalize gmxapi related release-2020 job logic.
Use rules definied in global.gitlab-ci.yml for gmxapi related jobs.
Refs #3475
Roland Schulz [Mon, 11 May 2020 19:20:55 +0000 (12:20 -0700)]
Fix Clang Cuda flags
- Add -fcuda-flush-denormals-to-zero to match nvcc flags
- Fix flag reporting. Was broken by
8ff984a32037947
which didn't make the change consistent for clang cuda.
Roland Schulz [Mon, 11 May 2020 04:36:57 +0000 (21:36 -0700)]
Fix Clang CUDA for Clang>=9
CUDA and OpenMP is broken (bug 45533). Overwrite OpenMP
flag with -fno-openmp to work-around it. No CUDA files
use OpenMP and therefore this has no negative impact.
Berk Hess [Thu, 7 May 2020 14:54:28 +0000 (14:54 +0000)]
Avoid warning during PME tuning
During PME tuning a warning could be printed about the PME grid not
being a multiple of the number of PME ranks. Since this is not
actually an issue and the user can not influence this, this note is
removed during tuning. To achieve this, gmx_pme_init() now actually
using the logging framework.
Paul Bauer [Tue, 5 May 2020 06:56:33 +0000 (08:56 +0200)]
Fix copyright
Change-Id: I9d9953def7c31c2830de2452bb0678f1cad86969
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
Paul Bauer [Wed, 29 Apr 2020 09:34:53 +0000 (11:34 +0200)]
Prepare for 2020.3
Reset DOI strings.
Change-Id: I6b9d5772fcc9b4d8507817d09173dd2d5577dfdb
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
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
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.
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.
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
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
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
Roland Schulz [Sat, 25 Apr 2020 02:13:28 +0000 (19:13 -0700)]
Fix MSVC 2019 warnings
Paul Bauer [Thu, 23 Apr 2020 20:24:50 +0000 (20:24 +0000)]
Use branch point also for format and copyright check
Change-Id: I16a9df11223426a40e6e138ee9f3793e700ae06e
Paul Bauer [Fri, 24 Apr 2020 11:27:15 +0000 (11:27 +0000)]
Fix parallel testing
Change testing to be more robust in threaded setups.
Also change on merge test to use real MPI to make sure this works
correctly.
Change-Id: Id78b213291bf7cc225fc2564a23f0d85362467fd
Mark Abraham [Mon, 13 Apr 2020 05:23:00 +0000 (07:23 +0200)]
Fix warnings for no-mpi build
This build configuration gave warnings when combined with
clang-7 in the docs build.
Change-Id: Ic874769bcd627710798633be742dbbe80d78b791
Paul Bauer [Wed, 22 Apr 2020 06:52:14 +0000 (06:52 +0000)]
Copy of CI from master to 2020
Adjusted branches and build images.
Change-Id: I28d011a003119870c41e434cef623765ddc6ace1
Pascal Merz [Tue, 14 Apr 2020 15:42:37 +0000 (15:42 +0000)]
Reintroduce LJ Ewald tables
Fixes #3470 by reintroducing the LJ Ewald tables.
Kevin Boyd [Wed, 8 Apr 2020 02:20:30 +0000 (19:20 -0700)]
Fix line overrun in log file
Pascal Merz [Fri, 3 Apr 2020 01:23:16 +0000 (19:23 -0600)]
Fix expanded ensemble on checkpoint restarts
Fixes #3465.
Also adds a release note, and sets StartingBehavior const in ISimulator
to make its behavior more obvious.
Mark Abraham [Wed, 1 Apr 2020 07:01:31 +0000 (07:01 +0000)]
Fix minor bug with tools time-unit conversions
Attempting to use output times of microseconds or longer
produced strange results, since a bug introduced a
decade ago in
bc23d95b
Mark Abraham [Mon, 30 Mar 2020 12:48:11 +0000 (12:48 +0000)]
Set buffers appropriately so .xpm files can be read.
Closes #3455
Paul Bauer [Fri, 20 Mar 2020 07:03:11 +0000 (08:03 +0100)]
Fix release builds on Gitlab with regressiontests
Change-Id: Id6465d545d350b8c0d89aecd37d3568dca510d8b
Paul Bauer [Fri, 20 Mar 2020 15:09:45 +0000 (16:09 +0100)]
Add Documentation build to script
Also some misc fixes, e.g. was missing Python development headers.
TSAN now also allows running static analyzer.
Change-Id: I9b363858e48b6d451c9ee43346189f9ff27e4c47
Paul Bauer [Fri, 13 Mar 2020 11:21:47 +0000 (12:21 +0100)]
Add script to generate CI Docker files
Refs #3395
Change-Id: Id001c87b52f4d1f7afcb7fbb38cd4b5efdbfd90e
Szilárd Páll [Thu, 5 Mar 2020 15:29:46 +0000 (16:29 +0100)]
Fix DLB initial state reporting
Missing entry in the array of state strings means that the initial "on"
and "auto" states were incorrectly reported.
Change-Id: Ibad25272d168894a6590b0050102ec02ba8171ed
Paul Bauer [Wed, 18 Mar 2020 10:19:35 +0000 (11:19 +0100)]
Add required Infrastructure for Gitlab merges
See test merge request here:
https://gitlab.com/gromacs/gromacs-testing/-/merge_requests/16
Also adds runs for regressiontests to normal CI.
Change-Id: I7bcb62cd3f2120f1d2e80b2f8a2ec1e328626902
Paul Bauer [Wed, 18 Mar 2020 07:27:53 +0000 (08:27 +0100)]
Fix image mixup for GItlab doc builds
Change-Id: I1e8187b58abc52ca562d2f549a151b64ca497fd2
Berk Hess [Mon, 16 Mar 2020 17:02:33 +0000 (18:02 +0100)]
Disable Ewald dipole correction without DD
Refs #3441
Change-Id: I492cd136b41e57b3e2198c1f0717177fb4d46a7c
M. Eric Irrgang [Fri, 6 Mar 2020 11:16:04 +0000 (14:16 +0300)]
Distinguish Docker images for different release requirements.
Free up the image tag namespace for granularly describing image
revisions (and create smaller image repositories) by using the matrix
slug as the image name. Tag images with the major release number (2020).
Refs #3395
Change-Id: I917f511c8bc11c4cedf85943eb7388ce0d5f9740
Christoph Junghans [Sat, 7 Mar 2020 23:33:40 +0000 (16:33 -0700)]
cmake: use libsuffix on gmxapi as well
Related to #3408
Change-Id: I2f5648321bdea1f1d564b738783092a709429fa8
M. Eric Irrgang [Fri, 6 Mar 2020 11:03:29 +0000 (14:03 +0300)]
Manage the list of image tags in Docker build script.
Supports flexibility in future handling of built images.
Refs #3395
Change-Id: I207911f190a57cbc4671777b5b92827aa6d3904a
Paul Bauer [Fri, 21 Feb 2020 07:43:41 +0000 (08:43 +0100)]
Add clang-tidy script
Change-Id: I4e3ff318681b562c0941c88360d2381747348517
Alan Gray [Wed, 4 Mar 2020 15:02:36 +0000 (07:02 -0800)]
Fix seg fault caused by unintended GPU PME coordinate send
Avoids attempted communication when same rank has PME duty, fixing bug
introduced in
ddbaf0b92c85b36e86d60c2cc515db86617cd57d.
Fixes #3409
Change-Id: Ice2ad2d0c17cff7b122a679a5f18dafc85e3075d
Paul Bauer [Mon, 24 Feb 2020 14:49:29 +0000 (15:49 +0100)]
Prepare for 2020.2
Reset DOI strings
Change-Id: I8a269a8537595d1070c50cfc31c610f2133618b2
Paul Bauer [Mon, 24 Feb 2020 14:46:14 +0000 (15:46 +0100)]
Version 2020.1
Set DOI strings.
Updated regressiontest hash.
Change-Id: I2fa83321688bf052516bab3301336d8b3145e458
Paul Bauer [Thu, 16 Jan 2020 13:25:37 +0000 (14:25 +0100)]
Always hash files when building from release tarball
The CMake logic to check if the source files in a release tarball have
not been modified has not been robust enough in cases where people first
run cmake to generate the build directory and then later change files in
the source tree.
The build has now been changed to be more in line with the development
builds, where checking for modifications is happening in all cases.
Fixes #3302
Change-Id: Id54c529bfbe51191ed5262d8da05897b2f53c057
Alan Gray [Sun, 5 Jan 2020 20:14:39 +0000 (12:14 -0800)]
Allow PME coordinate send before H2D coordinate transfer
The introduction of the GPU PME-PP communication functionality had the
side effect of delaying the PME coordinate send until after the H2D
coordinate transfer, even on the default code path. This patch allows
the PME transfer to occur in its original location when the send is
not originating from GPU memory. This is a lightweight solution,
without any new functionality, suitable for the release branch. (There
will be a more comprehensive change in the master branch which also
extends the GPU PME-PP communication functionality.)
Implements #3159
Change-Id: Ic30c154e04bb4c2846bbad3de603f879a71b9133
Paul Bauer [Mon, 3 Feb 2020 16:05:42 +0000 (17:05 +0100)]
Add Cuda build to gitlab CI
Change-Id: I7e5917fd26c0e22107fb6d9ade4ca69959737df4
Berk Hess [Mon, 2 Mar 2020 14:14:21 +0000 (15:14 +0100)]
Fix center of mass motion removal with frozen atoms
When frozen atoms were part of center of mass motion removal groups,
they would still contribute to the mass of those groups. This meant
that the COM velocity correction was (slightly) too small. Now
completely frozen atoms are removed from COM removal groups by grompp.
When atoms are only frozen along one or two dimensions and part of
a COM removal group, grompp now issues a warning.
Also fixed an nullptr or incorrect string buffer passed to warning()
with invalid freeze group dimension user input.
Fixes #2553
Change-Id: I20a03fea511e75a131cb27880acc1f4ee4a2bfb8
Artem Zhmurov [Mon, 2 Mar 2020 15:14:32 +0000 (16:14 +0100)]
Update the message on whether update and constraints are offloaded
Update and constraints are done in PP task, which is now indicated
in the printed message.
Refs #3292
Change-Id: Id3ad64c424cca6ab5e678a90db767a1c3d43b014
Berk Hess [Mon, 2 Mar 2020 16:42:03 +0000 (17:42 +0100)]
Fix grompp unbound atom check
The check in grompp for unbound atoms would check for any
potential (and constraints) instead of only potentials involving
two atoms. This enabled false negatives.
Change-Id: I677b86a4e4bbe8cd0c6a8a0bf43983be622edfa6
Berk Hess [Mon, 2 Mar 2020 10:15:51 +0000 (11:15 +0100)]
Fix nrdf with partial COMM removal
In the uncommon case where the center of mass motion is removed for
part of the system but not the whole system, the number of degrees
of freedom for the part without COMM removal would be incorrectly
lowered by 3.
Fixes #3406
Change-Id: I371bcfbbd6cf7ddddccb9234752128239bad356f
Berk Hess [Mon, 2 Mar 2020 15:20:26 +0000 (16:20 +0100)]
Fix too small pairlist buffer on Intel GPUs
The pairlist buffer generated for Intel GPUs was slightly too small,
because it assumed a 4x4 atom-cluster pair kernel instead of 4x2.
This also fixes incorrect kernel setup messages in the log file.
Fixes #3407
Change-Id: I744f98a934b5d9f60e0708cb064571aa6e389c44
Paul Bauer [Mon, 2 Mar 2020 08:37:08 +0000 (09:37 +0100)]
Revert "Remove frozen atoms from VCM groups"
This reverts commit
3a93c3a8ed49d20b47aed181d98f64921b864a3d.
Reason for revert: Change is incorrect
Change-Id: I808655e109e1da7ce37a59c1d55dabd059a32bb7
Paul Bauer [Thu, 27 Feb 2020 10:47:26 +0000 (11:47 +0100)]
Remove frozen atoms from VCM groups
Atoms are removed during preprocessing.
Also add release note missing for previous patch.
Fixes #2553
Change-Id: I4fd52d50a9ef3af4ed11f9b507902d4ac59ed487
Paul Bauer [Fri, 28 Feb 2020 09:56:27 +0000 (10:56 +0100)]
Merge branch release-2019 into release-2020
Resolved Conflicts:
cmake/gmxVersionInfo.cmake
src/gromacs/ewald/pme.cpp
src/gromacs/gmxana/gmx_disre.cpp
src/gromacs/gpu_utils/gpu_utils.cu
src/gromacs/hardware/gpu_hw_info.cpp
src/gromacs/hardware/gpu_hw_info.h
src/gromacs/mdrun/rerun.cpp
Change-Id: I2a89270a1321a51e0bc25e2b6890245f562945a2
Paul Bauer [Thu, 27 Feb 2020 14:00:12 +0000 (15:00 +0100)]
Define all CPU NB kernels
Access to kernels that where not defined could otherwise lead to
undefined behaviour.
Fixes #2728
Change-Id: Ib014cfd0dbc46961eb4e6a81acb3e06d57c3df73
Jonathan Vincent [Mon, 24 Feb 2020 14:26:20 +0000 (06:26 -0800)]
Moves call to choose best performaing kernels to pme_gpu_reinit_atoms
atoms.nAtoms is zero when pme_gpu_reinit is called, resulting in
the useOrderThreadsPerAtom and recalculateSplines always being set to false.
Refs #3189
Change-Id: I36d4be71565cfe8cd8e50fbe6cfe1035f3e15c8e
Paul Bauer [Mon, 24 Feb 2020 14:54:18 +0000 (15:54 +0100)]
Version 2019.6
Set DOI strings.
Updated regressiontest hash.
Change-Id: If7c04fbd26756275daea1c252ef977a367669b42
Pascal Merz [Tue, 25 Feb 2020 07:15:45 +0000 (00:15 -0700)]
Loosen gmxapi stopsignaler test
Gmxapi stopsignaler test was checking whether simulations were stopped
on the step after a stop signal was set. This is true for the legacy
implementation, but only due to the exact order of instructions. The
StopSignalHandler does not guarantee to stop simulations at the next
NS step after a signal has been set, it promises to stop a simulation
at the next NS step after a signal has been communicated. This change
loosens the criterion to reflect this.
Further, this change
* Changes the numberOfTimesCalled() function to timeElapsedSinceStart(),
also including a different treatment of the call before the restraint
is ever called, to avoid misunderstandings.
* Adds a comment to explain the expectations validated by this test.
Fixes #3397
Change-Id: I2a3805a14c03d0ee12ebd21b5863c5243b1c3671
Pascal Merz [Fri, 21 Feb 2020 01:11:13 +0000 (18:11 -0700)]
Use legacy code path for t_graph (modular simulator)
This change redirects simulations which will require a t_graph object
to the legacy code path. It also adds an assert to catch cases in which
the redirection would fail in a more graceful way.
Fixes #3389
Change-Id: I17a70e504c206b2798cd2439c0c0ff5d5cd112e3
Pascal Merz [Wed, 26 Feb 2020 23:19:29 +0000 (16:19 -0700)]
Extract and expose function to determine whether molecules are broken over PBC
This prevents code duplication in the child change I17a70e50. This
is pure refactoring with two exceptions:
* Checking for orientation restraints is changed from
fcd->orires.nr
to
gmx_mtop_ftype_count(mtop, F_ORIRES)
This allows to use this function before the force constant struct
is built. An assert is added to make sure this never get out of
sync (which would hint to something going very wrong somewhere else...)
* A `if(fplog){}` around a single GMX_LOG(mdlog.warning) was removed.
Change-Id: I6303c6b1cab86c57971a1486c892a1b122a446c6
Pascal Merz [Thu, 16 Jan 2020 08:13:05 +0000 (09:13 +0100)]
Fix constraint contribution to dhdl (modular simulator)
The contribution to dhdl from the constraints was not added under
modular simulator.
Refs #1255
Change-Id: I804f52eeb97a17ae0d233700203da1db33a54d54
Szilárd Páll [Fri, 25 Oct 2019 23:24:23 +0000 (01:24 +0200)]
Avoid mdrun terminate due to GPU sanity check errors
When a GPU is a exclusive or prohibited mode, early detection calls can
fail and as a result an mdrun run abort with an error, even if all GPU
offload is explicitly disabled by the user.
This change adds a status code to handle the case of devices being
unavailable.
Additionally, other errors may be encountered during the dummy kernel
sanity check (e.g. out of memory), but since the change that switches
to using launchGpuKernel() wrapper did not handle the exception in the
sanity checking, this can also abort a run even if the GPU in question
is not selected to be used.
This change adds code to catch the exception this and report the error
and avoid abort the run.
Fixes #3178 #3399
Change-Id: I0cdedbc02769084c172e4a42fe5c1af192007cec
Szilárd Páll [Wed, 26 Feb 2020 15:07:25 +0000 (16:07 +0100)]
Document NVIDIA OpenCL broken on Volta and Turing
Refs #3125
Change-Id: Id200c1092b279d45a97b98c6fe1d03c2ffb14fb0
Szilárd Páll [Thu, 20 Feb 2020 18:20:26 +0000 (19:20 +0100)]
Remove outdated PME-GPU limitation in user guide
PME GPU is supported on all compatible GPU platforms and vendors.
Change-Id: I8b054825d4c6a2d030b87fe4b6a9be759911c9f6
Pascal Merz [Tue, 25 Feb 2020 23:58:02 +0000 (16:58 -0700)]
Fix calculation of reciprocal terms in rerun
This at least temporarily fixes #3400.
Change-Id: I04d67d9bb3edbd66049573de71940e4bb7fa1ad4
Magnus Lundborg [Wed, 19 Feb 2020 12:17:14 +0000 (13:17 +0100)]
Fix out of sync checkpoint files in simulations sharing state
When multidir simulations share the state, the checkpoint files
of the different simulations should all be from the same step.
To ensure this, MPI barriers have been added before renaming
the checkpoint files from their temporary to their final names.
So now the contents can never be out of sync. In the worst, and
rather unlikely, case that something going wrong during renaming,
some checkpoint files could have temporary and some final names.
Refs #2440.
Change-Id: I88088abb726a36dbf9a9db2fa2eb4a46c3bf2cd7
Szilárd Páll [Fri, 24 Jan 2020 13:12:28 +0000 (14:12 +0100)]
Improve GPU update tasks assignment consistency
GPU update task assignment was not consistent with the assumptions and
supported features of the 2020 release and did not implement the correct
checks and fallback in cases where GPU update was decided to not be
supported. Specifically, this change makes sure that when separate PME
ranks are used, without direct GPU communication for PP-PME, GPU update
falls back to the CPU.
Fixes #3354
Change-Id: I7c9dd67cd8cf61f0201b626b8b7674917e3365a5
Paul Bauer [Fri, 21 Feb 2020 14:49:21 +0000 (15:49 +0100)]
Avoid integer overflow in dispersion correction
Index could become out of range and turn negative.
Fixes #3391
Change-Id: I91a8ea0ab01370fb972c02994e2b996284e1d06a
Christian Blau [Tue, 25 Feb 2020 09:25:02 +0000 (10:25 +0100)]
Document density-fit cross-correlation in .mdp options
Add missing documentation about cross-correlation as
similarity measure for density-guided simulations.
Though documented in the reference manual, it was until now
not mentioned in the .mdp options.
Change-Id: I2a5a13ca6fb0a15e8c2ff1cba6a6edbe0182053d
Paul Bauer [Mon, 24 Feb 2020 12:29:21 +0000 (13:29 +0100)]
Revert "Expose vsite counting"
This reverts commit
2078fd0619459bd533a94550d5754477dbbaabaa.
Not needed in fact.
Change-Id: I238d33e23e3b508ec0c77a5c43f67e5838950f34
Paul Bauer [Sat, 22 Feb 2020 12:31:41 +0000 (13:31 +0100)]
Fix clang-6 image template
Overlooked this when merging
1093dfa9ba24329162179a3fcbcbb8c491ab9543.
Change-Id: I85d5b852ab5d565289d64dd21ade09dabd4115c4
David van der Spoel [Mon, 17 Feb 2020 22:20:24 +0000 (23:20 +0100)]
Fixed bug in gmx disre due to inconsistency in input.
The gmx disre program used the labels in the distance restraint entries
(see manual) as an index in internal arrays. This might lead to either
memory errors or the program stopping due to uninitialized variables.
Fixes #3384
Change-Id: Ic2d77c3fd81547e030bf7ce21860a71e3adbb2b3
Pascal Merz [Fri, 21 Feb 2020 00:34:04 +0000 (17:34 -0700)]
Use legacy code path for NMR restraints (modular simulator)
Fixes #3388
Change-Id: I03db8af35d71c7405716e73516c4235fc089334c
Pascal Merz [Thu, 20 Feb 2020 21:15:56 +0000 (14:15 -0700)]
Correct for skewed box in non-DD modular simulator
In modular simulator, the correction for skewed boxes was only performed
when DD was active. This change makes sure it happens in all cases.
Also left a TODO to think about unifying the approach for the two cases
moving forward.
Fixes #3383
Refs #3392
Change-Id: I897dbc9e490bb1a1e465e711c66b47a29e214fd1
Berk Hess [Fri, 21 Feb 2020 10:36:04 +0000 (11:36 +0100)]
Add fatal error when multisim runs sharing state have different init_step
Refs #2440
Fixes #3990
Change-Id: I052cd53dc9517a3df53663e52720ee5a80ea65c0
M. Eric Irrgang [Wed, 25 Dec 2019 15:55:34 +0000 (18:55 +0300)]
Simplify GitLab CI Dockerfiles.
Consolidate some docker build instructions into distinct images for
the base dependencies, the various toolchains, and the docs build
environment. Combine Dockerfiles that only differ in toolchain version.
Total image size is prioritized over total build time by making all
apt-get layers include update, install, and cleaning in single RUN
commands, where intermediate layers are part of the tagged images.
Made images both for clang and gcc builds of the documentation.
Refs #3263
Change-Id: I55d6a128067f78214193223756db94a1964c491d
David van der Spoel [Wed, 12 Feb 2020 13:53:33 +0000 (14:53 +0100)]
Fixed bug in orires code that was checking too strict.
Fixes #3375
Change-Id: I0f64b386477b9a72f18c95fd977ac8cf5dbeeccd