alexxy/gromacs.git
2 years agoSYCL: Avoid using no_init read accessor in rocFFT master
Andrey Alekseenko [Thu, 4 Nov 2021 17:37:42 +0000 (18:37 +0100)]
SYCL: Avoid using no_init read accessor in rocFFT

Currently, hipSYCL ends up ignoring no_init property in this case.

But the SYCL standard does not permit such combination.

2 years agoSplit simulationWork.useGpuBufferOps into separate x and f flags
Szilárd Páll [Fri, 5 Nov 2021 15:59:01 +0000 (15:59 +0000)]
Split simulationWork.useGpuBufferOps into separate x and f flags

The x two "buffer ops" tasks have entirely different roles and it has
been a potential source of confusion to refer to these with a single
workload flag.

Refs #3915

2 years agoPermit tests to specify the refdata filename
Mark Abraham [Tue, 2 Nov 2021 12:57:07 +0000 (13:57 +0100)]
Permit tests to specify the refdata filename

When the same test data is re-used for multiple test cases it is
wasteful to serialize that data many times. This functionality permits
test cases to choose their own refdata file name, perhaps derived from
the actual test name. This means the tests can run efficiently, don't
needlessly proliferate lots of data, and express directly in the code
that multiple test cases produce the same data.

Refs #4255

2 years agoMake stepWorkload.useGpuXBufferOps flag consistent
Szilárd Páll [Thu, 4 Nov 2021 18:14:01 +0000 (18:14 +0000)]
Make stepWorkload.useGpuXBufferOps flag consistent

On search steps we do not use x buffer ops, so the workload flag should
correctly reflect that.

Also slightly refactored a conditional block to clarify the scope of
workload flags.

Note that as a side-effect of this change, coordinate H2D copy will be
delayed from the beginning of do_force() to just before update on search
steps when there are no force tasks that require it (i.e. without PME).
While this is not ideal for performance, the code is easier to reason
about.

Refs #3915 #3913 #4268

2 years agoRemove unused environment variables from docs
Andrey Alekseenko [Thu, 4 Nov 2021 11:28:53 +0000 (11:28 +0000)]
Remove unused environment variables from docs

2 years agoFix typo.
M. Eric Irrgang [Fri, 29 Oct 2021 13:54:06 +0000 (16:54 +0300)]
Fix typo.

A typo in a hard-coded filename could prevent gmxapi.simulation.mdrun
from automatically recovering from checkpoint when the low-level API is
used to specify working directories.

2 years agoClean up index handing in make_bondeds_zone
Berk Hess [Thu, 4 Nov 2021 10:16:48 +0000 (10:16 +0000)]
Clean up index handing in make_bondeds_zone

2 years agoUnify handling of GMX_ENABLE_GPU_TIMING and GMX_DISABLE_GPU_TIMING
Andrey Alekseenko [Wed, 3 Nov 2021 20:08:15 +0000 (20:08 +0000)]
Unify handling of GMX_ENABLE_GPU_TIMING and GMX_DISABLE_GPU_TIMING

2 years agoUpdate mdrun message to reflect that Cuda CC>=3.5 is supported.
Magnus Lundborg [Wed, 3 Nov 2021 15:07:41 +0000 (16:07 +0100)]
Update mdrun message to reflect that Cuda CC>=3.5 is supported.

Fixes: #4132

2 years agoAdd TNG to trjconv doc and more details about TNG selections.
Magnus Lundborg [Thu, 28 Oct 2021 08:42:53 +0000 (10:42 +0200)]
Add TNG to trjconv doc and more details about TNG selections.

Refs #2785.

2 years agoDisable fastmath with OpenCL on Intel devices
Andrey Alekseenko [Wed, 3 Nov 2021 09:50:16 +0000 (09:50 +0000)]
Disable fastmath with OpenCL on Intel devices

Refs #3898

2 years agoUse CMake to propagate versions and hashes to gitlab jobs
Mark Abraham [Wed, 3 Nov 2021 09:04:16 +0000 (09:04 +0000)]
Use CMake to propagate versions and hashes to gitlab jobs

2 years agoFix CUDA clang-tidy complaints
Andrey Alekseenko [Tue, 2 Nov 2021 12:33:13 +0000 (13:33 +0100)]
Fix CUDA clang-tidy complaints

2 years agoImprove MessageStringCollector
Mark Abraham [Tue, 2 Nov 2021 12:41:46 +0000 (13:41 +0100)]
Improve MessageStringCollector

Now we can e.g. return one from a function so that more complex use
cases can be handled.

2 years agoAvoid allocating SYCL buffer on each call to PME solve
Andrey Alekseenko [Tue, 2 Nov 2021 12:53:09 +0000 (13:53 +0100)]
Avoid allocating SYCL buffer on each call to PME solve

Refs #4153

2 years agoFix random typos
Andrey Alekseenko [Wed, 3 Nov 2021 06:47:25 +0000 (06:47 +0000)]
Fix random typos

2 years agoRemove unused thole polarization rfac parameter
Joe Jordan [Wed, 3 Nov 2021 06:24:23 +0000 (06:24 +0000)]
Remove unused thole polarization rfac parameter

2 years agoSYCL: Use acc.bind(cgh) instead of cgh.require(acc)
Andrey Alekseenko [Tue, 2 Nov 2021 12:20:21 +0000 (13:20 +0100)]
SYCL: Use acc.bind(cgh) instead of cgh.require(acc)

A few other minor changes to SYCL version of DeviceBuffer.

This is a prerequisite for adding support for USM.

Refs #3847, #3965.

2 years agoEcho the path to and version of CMake for CI builds
Mark Abraham [Tue, 2 Nov 2021 12:05:00 +0000 (13:05 +0100)]
Echo the path to and version of CMake for CI builds

This will help devs understand and reproduce problems, as well as
confirm that the intentions of the test configurations are honored.

Replaced one use of "cmake" with "$CMAKE" to standardize

2 years agoAdd second LINCS atom update task
Berk Hess [Tue, 2 Nov 2021 08:26:31 +0000 (08:26 +0000)]
Add second LINCS atom update task

2 years agoAdd missing MPI_Barrier to MpiTest
Mark Abraham [Mon, 1 Nov 2021 07:58:18 +0000 (08:58 +0100)]
Add missing MPI_Barrier to MpiTest

Fixes #4261

2 years agoAdd DSSP v4 support to do_dssp
Eliane Briand [Mon, 1 Nov 2021 13:42:21 +0000 (13:42 +0000)]
Add DSSP v4 support to do_dssp

2 years agoFix hipSYCL build with CUDA target
Szilárd Páll [Mon, 1 Nov 2021 13:23:44 +0000 (13:23 +0000)]
Fix hipSYCL build with CUDA target

2 years agoSilence clang-tidy warnings
Andrey Alekseenko [Fri, 29 Oct 2021 14:10:14 +0000 (16:10 +0200)]
Silence clang-tidy warnings

2 years agoSet up event consumption counter in DomDecMpiTests
Andrey Alekseenko [Wed, 27 Oct 2021 13:28:55 +0000 (15:28 +0200)]
Set up event consumption counter in DomDecMpiTests

Also:

- Add a comment about the barrier introduced in 5d43901b (MR !2109).
- Use DeviceStream::synchronize instead of marking an event and
  immediately waiting for it.

Refs #3988, #4156.

2 years agoAllow TNG to TNG file conversion without time per frame info
Magnus Lundborg [Fri, 29 Oct 2021 18:36:42 +0000 (18:36 +0000)]
Allow TNG to TNG file conversion without time per frame info

2 years agoSimplify GPU force reduction conditionals
Alan Gray [Fri, 29 Oct 2021 18:06:10 +0000 (18:06 +0000)]
Simplify GPU force reduction conditionals

2 years agoReimplement constant acceleration groups
Berk Hess [Fri, 29 Oct 2021 14:50:28 +0000 (14:50 +0000)]
Reimplement constant acceleration groups

2 years agoGeneralize constraints on MPI rank counts for tests
Mark Abraham [Fri, 29 Oct 2021 11:44:45 +0000 (11:44 +0000)]
Generalize constraints on MPI rank counts for tests

When the number of ranks is unsuitable the test is skipped.

In some cases minor changes are made so that useful tests run on wider ranges of rank counts.

Closes #3785

2 years agoDocument and clean up do_numbering()
Berk Hess [Thu, 28 Oct 2021 13:50:39 +0000 (13:50 +0000)]
Document and clean up do_numbering()

2 years agoUpdate copyright year for tests/grompp.cpp
Berk Hess [Wed, 27 Oct 2021 14:48:55 +0000 (16:48 +0200)]
Update copyright year for tests/grompp.cpp

2 years agoDisable GPU buffer ops when using MTS
Andrey Alekseenko [Wed, 27 Oct 2021 14:16:47 +0000 (16:16 +0200)]
Disable GPU buffer ops when using MTS

Workaround for #4254

2 years agoAdd Oliver Fleetwood as a contributor
Berk Hess [Wed, 27 Oct 2021 14:42:33 +0000 (16:42 +0200)]
Add Oliver Fleetwood as a contributor

2 years agoUnify coordinate copy handling across GPU platforms
Szilárd Páll [Tue, 26 Oct 2021 21:52:34 +0000 (23:52 +0200)]
Unify coordinate copy handling across GPU platforms

Instead of handling the OpenCL host to device copy as a special case
where this operation is issued in the PME stream, as the "Update" stream
is anyway created unconditionally it makes sense to simplify codepaths
at the negligible cost of an extra GPU-side synchronization.

This allows unifying the coordinate handling in stateGpu as well as in
PME spread (with combined PP+PME) which removes some complexity and makes
it easier to reason about event consumption, reducing the need for balancing
workarounds.

The change also introduces a data member in StatePropagatorDataGpu to
indicate whether it is use on a separate PME rank, case in which marking
of the coordinate H2D event can be skipped as no event dependency is
required.

Refs #3988

2 years agoAdd preprocessing and integration test for transformation coordinate
Oliver Fleetwood [Wed, 27 Oct 2021 14:37:29 +0000 (14:37 +0000)]
Add preprocessing and integration test for transformation coordinate

We have general checks for preprocessing in readir.cpp. This ensures that all relevant mdp options are validated properly.
The mathematical expression, however, is evaluated in the grompp integration test.
Then we have the mdrun integration test, which is based on the existing pull test for
a 3D umbrealla potential. Basically, we use the exact same setup and expect the same output, but apply the force on a transformation coordinate instead of a regular coordinate, only with a slightly lower numerical accuracy.

2 years agoUse CMake project versioning convention.
M. Eric Irrgang [Mon, 25 Oct 2021 15:39:58 +0000 (18:39 +0300)]
Use CMake project versioning convention.

* Set CMP0048 policy to NEW behavior.
* Set MAJOR and MINOR version in the main project() command. Update
  `cmake/gmxVersionInfo.cmake` to set from PROJECT_VERSION_MAJOR and
  PROJECT_VERSION_MINOR.

Fixes #3725

2 years agoMark gmxapi 0.3b1.
M. Eric Irrgang [Fri, 22 Oct 2021 10:35:40 +0000 (13:35 +0300)]
Mark gmxapi 0.3b1.

2 years agoFix norm calculation in gmx_spatial
Joe Jordan [Wed, 27 Oct 2021 10:15:13 +0000 (10:15 +0000)]
Fix norm calculation in gmx_spatial

Casting early to a double should avoid underflow in later multiplication.
An assert that the norm is non-negative is added.

Fixes #4184

2 years agoFix link for dssp download
Paul Bauer [Tue, 26 Oct 2021 18:45:42 +0000 (20:45 +0200)]
Fix link for dssp download

The old link was outdated (got a mail complaining about it).

2 years agoThrow on failure in gmx_file_rename
Joe Jordan [Wed, 27 Oct 2021 08:44:31 +0000 (08:44 +0000)]
Throw on failure in gmx_file_rename

2 years agoAdd -maxtau option to gmx msd
Kevin Boyd [Tue, 26 Oct 2021 18:13:12 +0000 (18:13 +0000)]
Add -maxtau option to gmx msd

2 years agoDocument clang11 in developer docs
ejjordan [Tue, 26 Oct 2021 14:38:47 +0000 (16:38 +0200)]
Document clang11 in developer docs

Instead of the no longer used clang7.

Fixes #4173

2 years agoRemove short-circuit logic for OpenMP setup
Mark Abraham [Tue, 26 Oct 2021 15:00:26 +0000 (15:00 +0000)]
Remove short-circuit logic for OpenMP setup

This is only called once during mdrun setup, and it is not a problem
to call it multiple times. (Thread safety is assured separately.)
It's necessary to call it multiple times, e.g. from test binaries or
API-driven simulations.

Having removed the short-circuit logic, there was no use for the
member variable that recorded whether initialization had taken place,
so it is removed.

Closes #4152

2 years agoUse correct c0 parameter in Me2PO4 in OPLSAA
Joe Jordan [Tue, 26 Oct 2021 14:35:09 +0000 (14:35 +0000)]
Use correct c0 parameter in Me2PO4 in OPLSAA

Fixes #4075

2 years agoAdd parser tests dependency to tests
ejjordan [Tue, 26 Oct 2021 13:42:20 +0000 (15:42 +0200)]
Add parser tests dependency to tests

This is necessary for make check to work properly.

Fixes #4233

2 years agoInsert barrier after each GPU halo test
Alan Gray [Wed, 22 Sep 2021 14:51:07 +0000 (07:51 -0700)]
Insert barrier after each GPU halo test

2 years agoFix the cobined bending-torsion potential entry in reference manual
Artem Zhmurov [Tue, 26 Oct 2021 07:31:14 +0000 (10:31 +0300)]
Fix the cobined bending-torsion potential entry in reference manual

1. The k_phi was referenced with wrong key
2. Only k_phi has units, so they should not be at the end of the line

Introduced in b08db8bb4c46e76e067ce09a2e8d43390e445575

2 years agoMinor improvements to gmx wham output
Mark Abraham [Tue, 26 Oct 2021 03:01:07 +0000 (05:01 +0200)]
Minor improvements to gmx wham output

2 years agoRemove/replace many mentions of Jenkins
Mark Abraham [Tue, 26 Oct 2021 08:51:59 +0000 (08:51 +0000)]
Remove/replace many mentions of Jenkins

2 years agoAdd missing parameter to dihedral docs
Joe Jordan [Tue, 26 Oct 2021 07:08:57 +0000 (07:08 +0000)]
Add missing parameter to dihedral docs

2 years agoSilence Clang's constant-logical-operand warning
Andrey Alekseenko [Sat, 23 Oct 2021 11:20:34 +0000 (13:20 +0200)]
Silence Clang's constant-logical-operand warning

2 years agoFix #3300
Roland Schulz [Sun, 24 Oct 2021 23:40:00 +0000 (16:40 -0700)]
Fix #3300

2 years agoUpdate release notes for gmx msd and clear some TODOs
Kevin Boyd [Sun, 24 Oct 2021 23:40:40 +0000 (16:40 -0700)]
Update release notes for gmx msd and clear some TODOs

Fixes #3869

2 years agoGet rid of sycl::buffer::reinterpret
Andrey Alekseenko [Thu, 21 Oct 2021 14:20:38 +0000 (16:20 +0200)]
Get rid of sycl::buffer::reinterpret

It is not fully supported with hipSYCL, and, while it does work in
practice, we better avoid it.

Refs #4063

2 years agoAdd utility dependency to libmdrun_test_infrastructure
Mark Abraham [Fri, 22 Oct 2021 09:26:18 +0000 (11:26 +0200)]
Add utility dependency to libmdrun_test_infrastructure

This provides the correct MPI dependency, otherwise MPI_Barrier is not
necessarily found when linking targets that depend on this one.

Fixes #4232

2 years agoMake linker errors fail the CI builds
Mark Abraham [Fri, 22 Oct 2021 08:24:26 +0000 (10:24 +0200)]
Make linker errors fail the CI builds

2 years agoActivate GPU update support in SYCL build
Andrey Alekseenko [Thu, 7 Oct 2021 10:30:22 +0000 (12:30 +0200)]
Activate GPU update support in SYCL build

Set proper flags and conditionals when deciding GPU workload.

Refs #3929, #3930, #3932.

2 years agoFix cuda clang-tidy issues
Mark Abraham [Fri, 22 Oct 2021 05:37:14 +0000 (07:37 +0200)]
Fix cuda clang-tidy issues

2 years agoImprove doxygen in some nblib listed forces files
ejjordan [Thu, 21 Oct 2021 21:21:41 +0000 (23:21 +0200)]
Improve doxygen in some nblib listed forces files

This adds doxygen to some functions and makes the
documentation more consistent in some cases.

Also some functions are changed from being marked
[[maybe_unused]] to not having parameter values in
cases where that is possible.

2 years agoAvoid comparing Simd types to real 0 when making masks in NB FEP kernel.
Magnus Lundborg [Thu, 21 Oct 2021 20:14:50 +0000 (22:14 +0200)]
Avoid comparing Simd types to real 0 when making masks in NB FEP kernel.

Refs #4230

2 years agoFix nblib pairlist update function
ejjordan [Fri, 22 Oct 2021 04:13:06 +0000 (06:13 +0200)]
Fix nblib pairlist update function

Previously the function put_atoms_in_box was called only by the
nblib integrator, or when constructing a system via a SimulationState
object. In the case of the integrator, this is a needless performance
degradation. When using an nb force calculator without
first putting atoms in the box, this could lead to a cryptic
error from nbnxm grid search failure. Both of these issues are
rectified with this change, which also adds a member to the
non-bonded force calculator to hold the requested number of OMP
threads to use in a call to put_atoms_in_box_omp, which is faster
than the non OMP version.

2 years agoFix use of simd-masks in gapsys softcore.
Sebastian Kehl [Thu, 21 Oct 2021 15:24:49 +0000 (17:24 +0200)]
Fix use of simd-masks in gapsys softcore.

Don't rely on bools to be implicitly cast to the correct BoolType
mask but enforce this more explicitly.

2 years agoAdded pkg-config detection of libcp2k #3172
Dmitry Morozov [Thu, 21 Oct 2021 18:55:47 +0000 (18:55 +0000)]
Added pkg-config detection of libcp2k #3172

2 years agoBalance event consumption for GPU update code path
Andrey Alekseenko [Tue, 19 Oct 2021 16:34:43 +0000 (18:34 +0200)]
Balance event consumption for GPU update code path

- Explicit consumption of events when needed.
- In some cases, reset the event in case the conditionals
  for the consumption are too complex.
- Added helper functions to StatePropagatorDataGpu.
- A special handling for force reduction when it has no atoms.

Refs #3988, #4106, #4227.

2 years agoSupport clang 13 in CI
Mark Abraham [Thu, 21 Oct 2021 17:09:33 +0000 (17:09 +0000)]
Support clang 13 in CI

2 years agoMinor code clean-up in the NB FEP kernel.
Magnus Lundborg [Thu, 21 Oct 2021 09:02:41 +0000 (11:02 +0200)]
Minor code clean-up in the NB FEP kernel.

2 years agoExpand signatures for nblib listed forces calculator
Joe Jordan [Thu, 21 Oct 2021 14:19:32 +0000 (14:19 +0000)]
Expand signatures for nblib listed forces calculator

2 years agoImprove variable naming in NB FEP kernel for loop.
Magnus Lundborg [Thu, 21 Oct 2021 08:49:50 +0000 (10:49 +0200)]
Improve variable naming in NB FEP kernel for loop.

Fixes one task in #2875.

2 years agoAdd lambda state to dhdl.xvg with AWH fep
Berk Hess [Thu, 21 Oct 2021 11:50:37 +0000 (11:50 +0000)]
Add lambda state to dhdl.xvg with AWH fep

2 years agoUnify a bit decideWhetherToUseGpusForPme* functions
Andrey Alekseenko [Thu, 21 Oct 2021 10:46:05 +0000 (10:46 +0000)]
Unify a bit decideWhetherToUseGpusForPme* functions

2 years agoRearrange docker build script.
M. Eric Irrgang [Mon, 18 Oct 2021 12:33:06 +0000 (15:33 +0300)]
Rearrange docker build script.

Disambiguate build layer dependencies, now that Docker build
automatically parallelizes multi-stage builds when possible. This change
clarifies which layers are reused and which are unique. This minimizes
overall CPU time for fresh builds, but more importantly ensures that
components from separates stages are not subject to race conditions in
the resolution of dependencies that are satisfied through package
managers. It should also improve maintainability by reducing duplicated
logic.

2 years agoAdd helper functions for setting up Nbnxm gpu object in nblib
Joe Jordan [Thu, 21 Oct 2021 10:06:09 +0000 (10:06 +0000)]
Add helper functions for setting up Nbnxm gpu object in nblib

2 years agoImprove detection of sphinx-build.
M. Eric Irrgang [Thu, 21 Oct 2021 09:32:44 +0000 (09:32 +0000)]
Improve detection of sphinx-build.

Prioritize the sphinx-build associated with the current Python
interpreter, or as indicated by the user through the SPHINX_DIR
environment variable.

Mitigates problems with multiple Python installations and `autodoc`, or
where the Python installation is hinted to CMake but is not on the PATH.

Fixes #4224

2 years agoRefactor PME tests for better usability
Mark Abraham [Thu, 21 Oct 2021 09:11:40 +0000 (09:11 +0000)]
Refactor PME tests for better usability

Now there is a human-understandable name for the tests, and (where
possible) the input for each test is declarative rather than
procedural.

2 years agoImprove AWH bias sharing documentation
Berk Hess [Thu, 21 Oct 2021 08:51:00 +0000 (08:51 +0000)]
Improve AWH bias sharing documentation

2 years agoClean up some gmxapi sources and tests.
M. Eric Irrgang [Thu, 21 Oct 2021 08:19:21 +0000 (08:19 +0000)]
Clean up some gmxapi sources and tests.

2 years agoUpdate CI containers to oneAPI 2021.4.0
Andrey Alekseenko [Wed, 20 Oct 2021 20:27:11 +0000 (20:27 +0000)]
Update CI containers to oneAPI 2021.4.0

2 years agoFix compiler warnings with OpenCL + oneAPI 2021.4
Andrey Alekseenko [Wed, 20 Oct 2021 13:06:53 +0000 (15:06 +0200)]
Fix compiler warnings with OpenCL + oneAPI 2021.4

2 years agoMinor clean-up to docker build script.
M. Eric Irrgang [Wed, 20 Oct 2021 09:28:18 +0000 (09:28 +0000)]
Minor clean-up to docker build script.

* Apply PEP-8 formatting.
* Update some docstrings and type hints.
* Improve robustness w.r.t. `_distro`.
* Note that every call to `baseimage` updates the global
  config (hpccm 21.9.0 at the time of this change).

2 years agoFix warnings with Intel 2021.4
Roland Schulz [Tue, 19 Oct 2021 22:38:22 +0000 (22:38 +0000)]
Fix warnings with Intel 2021.4

2 years agoPre-install Python dependencies in CI Docker images.
M. Eric Irrgang [Tue, 19 Oct 2021 15:25:43 +0000 (15:25 +0000)]
Pre-install Python dependencies in CI Docker images.

Add `pybind11` and `wheel` to the (scripted) Docker image builds so that
the admin/ci-scripts/build-and-test-py-gmxapi-0.3.sh script can use
`--no-deps --no-index` with pip.

Remove `pip install pybind11` where it is no longer needed in CI jobs.

Follow-up to #4092.

2 years agoFix SYCL PME Solve kernel
Andrey Alekseenko [Mon, 18 Oct 2021 16:06:49 +0000 (18:06 +0200)]
Fix SYCL PME Solve kernel

- Avoid infinite recursion in sycl_2020::isfinite.
- Make one of the accessors optional.

2 years agoResolve UBSAN error in NBLIB test
Unknown [Tue, 19 Oct 2021 11:26:03 +0000 (13:26 +0200)]
Resolve UBSAN error in NBLIB test

2 years agoAnother clang-tidy fix for new GPU code
Mark Abraham [Tue, 19 Oct 2021 06:25:24 +0000 (08:25 +0200)]
Another clang-tidy fix for new GPU code

2 years agoFix harmless Sphinx warning
Andrey Alekseenko [Tue, 19 Oct 2021 09:40:50 +0000 (11:40 +0200)]
Fix harmless Sphinx warning

2 years agoMerge release-2021 into master
Andrey Alekseenko [Mon, 18 Oct 2021 14:31:36 +0000 (16:31 +0200)]
Merge release-2021 into master

Brings the following fixes from the release branch into master:

- #4148 (!1941)
- #4167 (!1966)
- #4190 (!2050)
- !2039

2 years agoEnable kernel compiler cache for SYCL DPC++
Andrey Alekseenko [Mon, 18 Oct 2021 10:27:43 +0000 (12:27 +0200)]
Enable kernel compiler cache for SYCL DPC++

Refs #4218

2 years agoFix UB when generating local indices for constraints
Andrey Alekseenko [Mon, 18 Oct 2021 13:16:49 +0000 (13:16 +0000)]
Fix UB when generating local indices for constraints

2 years agoFix clang-tidy error in new GPU code
Mark Abraham [Fri, 15 Oct 2021 07:48:56 +0000 (09:48 +0200)]
Fix clang-tidy error in new GPU code

2 years agoDisable PME Mixed mode with FEP
Andrey Alekseenko [Fri, 15 Oct 2021 14:26:04 +0000 (16:26 +0200)]
Disable PME Mixed mode with FEP

Refs #4190

2 years agoRequire pybind 2.6 from environment for gmxapi Python package extension module.
M. Eric Irrgang [Fri, 15 Oct 2021 14:26:35 +0000 (14:26 +0000)]
Require pybind 2.6 from environment for gmxapi Python package extension module.

2 years agoResolve "SYCL + DPCPP cmake config fails in gmxManageFFTLibraries.cmake"
Andrey Alekseenko [Fri, 15 Oct 2021 09:49:07 +0000 (09:49 +0000)]
Resolve "SYCL + DPCPP cmake config fails in gmxManageFFTLibraries.cmake"

2 years agoMake failure to find CUDA-aware MPI work correctly.
Mark Abraham [Fri, 15 Oct 2021 07:40:10 +0000 (09:40 +0200)]
Make failure to find CUDA-aware MPI work correctly.

Previously, a wrong error about non-matching quote was issued, even
though the overall behavior was correct

2 years agoPipeline GPU PME Spline/Spread with PP Comms
Alan Gray [Thu, 14 Oct 2021 13:29:40 +0000 (13:29 +0000)]
Pipeline GPU PME Spline/Spread with PP Comms

2 years agoImprove stability of ContinuationIsExact tests
Andrey Alekseenko [Wed, 13 Oct 2021 17:30:13 +0000 (19:30 +0200)]
Improve stability of ContinuationIsExact tests

The default nstlist value in tests is set to 8. This is appropriate for
NormalIntegrators/MdrunNoAppendContinuationIsExact tests, which do the
restart after 8 steps, so the "full" trajectory and the "restarted"
trajectory update their lists at the same time. However, pairlist tuning
often increases the nstlist value, which might affect the "full" run.

Here, we force the nstlist to be half the nsteps for the "full" run by
setting it via CLI option.

2 years agoMade gromacs work again without MPI
Berk Hess [Wed, 13 Oct 2021 19:43:53 +0000 (19:43 +0000)]
Made gromacs work again without MPI

Made the communication functions in network.h that do nothing with a
single rank also work without MPI and thread-MPI. One conditional
in mdrunner() needed to be fixed.

2 years agoFix fft/CMakeLists when compiling with hipSYCL
Andrey Alekseenko [Mon, 11 Oct 2021 15:32:54 +0000 (17:32 +0200)]
Fix fft/CMakeLists when compiling with hipSYCL

GMX_GPU_HIPSYCL is never defined, and thus evaluates to false.

The code was compiling just fine, but the tests were failing in
runtime with "symbol lookup error".

2 years agoImplement PME solve in SYCL
Mark Abraham [Wed, 13 Oct 2021 16:06:54 +0000 (16:06 +0000)]
Implement PME solve in SYCL

Refs #3965

2 years agoFix typos regarding FindPython3 CMake module hint.
M. Eric Irrgang [Wed, 13 Oct 2021 14:42:03 +0000 (17:42 +0300)]
Fix typos regarding FindPython3 CMake module hint.

`_ROOT` is a standard suffix for hints to `find_package()`,
but the `FindPython3` cmake module specifically uses `_ROOT_DIR` for
an analogous hint.

2 years agoFix clang-tidy complaints
Andrey Alekseenko [Mon, 11 Oct 2021 14:41:28 +0000 (16:41 +0200)]
Fix clang-tidy complaints

- False-positives after "if constexpr".
- "empty()" instead of "size() > 0".
- "auto *" instead of "auto".