alexxy/gromacs.git
2 years agoSYCL: Shorten mangled kernel name types
Andrey Alekseenko [Fri, 11 Jun 2021 22:10:54 +0000 (01:10 +0300)]
SYCL: Shorten mangled kernel name types

Because they are used, for example, in the profiler output, and long
names make it hard to read.

Before:
- _ZTSZZL18isDeviceFunctionalRKN2cl4sycl6deviceEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENK3
- _ZTSN3gmx18LeapFrogKernelNameILNS_18NumTempScaleValuesE0ELNS_19VelocityScalingTypeE0EEE
- _ZTSN5Nbnxm15NbnxmKernelNameILb0ELb1ELNS_8ElecTypeE0ELNS_7VdwTypeE1EEE
- _ZTSN5Nbnxm24NbnxmKernelPruneOnlyNameILb1EEE

After:
- _ZTS11DummyKernel
- _ZTS14LeapFrogKernelILN3gmx18NumTempScaleValuesE2ELNS0_19VelocityScalingTypeE1EE
- _ZTS11NbnxmKernelILb0ELb1ELN5Nbnxm8ElecTypeE0ELNS0_7VdwTypeE1EE
- _ZTS20NbnxmKernelPruneOnlyILb1EE

Can be shortened further by casting enums to integers in template
arguments, but not sure it will improve readability much.

2 years agoAdd createNbnxmCPU, usage, and test
Joe Jordan [Fri, 11 Jun 2021 15:01:24 +0000 (15:01 +0000)]
Add createNbnxmCPU, usage, and test

2 years agoUpdate parts of the CPU CMAP kernel
Paul Bauer [Thu, 10 Jun 2021 15:36:02 +0000 (15:36 +0000)]
Update parts of the CPU CMAP kernel

2 years agoRefactor temperature annealing
Pascal Merz [Mon, 23 Nov 2020 03:30:00 +0000 (20:30 -0700)]
Refactor temperature annealing

This refactors temperature annealing by dividing it into two subfunctions,
one which returns a new temperature, keeping the inputrec constant and
being independent of the Update object, and one which updates the inputrec
and the Update object.

This separation allows most of the code to be reused by modular simulator,
and it is also a first step towards a design which does not need to modify
the input record (#3854)

Refs #3417, #3854

2 years agoAllow elements to schedule pre-step and post-step functions
Pascal Merz [Thu, 3 Dec 2020 07:05:54 +0000 (00:05 -0700)]
Allow elements to schedule pre-step and post-step functions

Pre-step and post-step functions allow elements to perform operations
which need to happen before any of the integration step functions run,
or after all integration step functions have run. Unlike the main
integration step scheduling, whose order is defined by the order of the
elements in the integration algorithm, the functions are not guaranteed
to run in a specific order, only before / after the integration step.

One example this is useful for is the pull code, which needs to print
some output once all external pull providers (currently only AWH) have
run. Having a post-step function allows for an easy way for the pull
element to run during the integration run, but defer printout until
after the step.

Refs #3417, #3435, #3436

2 years agoRemove some unused-but-set variables
Andrey Alekseenko [Wed, 9 Jun 2021 19:40:38 +0000 (22:40 +0300)]
Remove some unused-but-set variables

Detected by the -Wunused-but-set-variable option in the
open-source IntelLLVM (and, in theory, upstream Clang trunk).

There are also false-positive warnings there, so the
compilation log is noisy.
I'm not doing any silencing here, since it will, hopefully, change by
the time of Clang 13 release.
But the variables removed here appear to be genuinely unused.

2 years agoBump hipSYCL version in the CI container
Andrey Alekseenko [Wed, 9 Jun 2021 16:05:57 +0000 (16:05 +0000)]
Bump hipSYCL version in the CI container

2 years agoUse [..] instead of at(..) in LINCS GPU data management code
Artem Zhmurov [Wed, 9 Jun 2021 13:26:45 +0000 (16:26 +0300)]
Use [..] instead of at(..) in LINCS GPU data management code

The .at(..) was used to make sure that the indices are within bonds
while the code is not thoroughly tested. Now it can be replaced with
direct access [..] for performance reasons.

2 years agoMove nbnxm setup responsibility to its own files and add tests
Joe Jordan [Wed, 9 Jun 2021 14:04:20 +0000 (14:04 +0000)]
Move nbnxm setup responsibility to its own files and add tests

2 years agoCompute reference indices in GPU LINCS upon data preparation
Artem Zhmurov [Tue, 8 Jun 2021 11:48:22 +0000 (14:48 +0300)]
Compute reference indices in GPU LINCS upon data preparation

The reference indices are used to map into shared memory location.
The start of the block is then subtracted from the index in map
to get the location in shared memory that should be used. This can
be done when the structure is populated to reduce the amount of
computations in the GPU kernel.

Refs #3350

2 years agoExpose and test getVdwKernelType
Joe Jordan [Wed, 9 Jun 2021 11:19:25 +0000 (11:19 +0000)]
Expose and test getVdwKernelType

2 years agoAdd .clang-tidy file for nbnxn tests
Paul Bauer [Wed, 9 Jun 2021 08:22:49 +0000 (08:22 +0000)]
Add .clang-tidy file for nbnxn tests

2 years agoExtend nblib listed pbc holder and template kernels
Joe Jordan [Wed, 9 Jun 2021 07:56:18 +0000 (07:56 +0000)]
Extend nblib listed pbc holder and template kernels

2 years agoPrepare simulated annealing refactoring
Pascal Merz [Tue, 8 Jun 2021 16:59:02 +0000 (10:59 -0600)]
Prepare simulated annealing refactoring

Prepare simulated annealing refactoring by moving variable declarations
to where they are first used, rename a non-descriptive integer `i`, use
a const reference to the inputrec where possible, replace a gmx_fatal
by an assert, and replace a switch / case construct by an if / else.

This is pure refactoring, no change in functionality, but will make
follow-up changes significantly easier to review.

2 years agoCoulombKernelType enum, lookup function, and tests
Joe Jordan [Tue, 8 Jun 2021 17:36:18 +0000 (17:36 +0000)]
CoulombKernelType enum, lookup function, and tests

2 years agoUnify FEP period setting
Pascal Merz [Tue, 8 Jun 2021 15:31:59 +0000 (15:31 +0000)]
Unify FEP period setting

2 years agoWork around hipSYCL buffer reinterpret error
Szilárd Páll [Tue, 8 Jun 2021 14:40:14 +0000 (14:40 +0000)]
Work around hipSYCL buffer reinterpret error

2 years agoRemove gmxapi roadmap.rst and acceptance tests.
M. Eric Irrgang [Tue, 8 Jun 2021 11:29:02 +0000 (14:29 +0300)]
Remove gmxapi roadmap.rst and acceptance tests.

This document and the supporting tests are out-of-date and unused for
project planning, as far as I can tell.

Resolves #3706

2 years agoFix clang-tidy complaints
Andrey Alekseenko [Tue, 8 Jun 2021 12:19:05 +0000 (15:19 +0300)]
Fix clang-tidy complaints

Introduced in 6cd214d6 (MR !1591)

2 years agoAllow selection of rocm version to install
Paul Bauer [Tue, 8 Jun 2021 09:38:34 +0000 (09:38 +0000)]
Allow selection of rocm version to install

2 years agoUnite the post-DD-partition update of the local topology
Mark Abraham [Mon, 7 Jun 2021 13:35:19 +0000 (15:35 +0200)]
Unite the post-DD-partition update of the local topology

Also simplify and clarify the implementation of doSorting

Removed ilsortFE_UNSORTED now that it is unused

Refs #4004

2 years agoAdd hasPerturbedChargeIn14Interaction to atomInfo bits
Mark Abraham [Mon, 7 Jun 2021 23:37:24 +0000 (23:37 +0000)]
Add hasPerturbedChargeIn14Interaction to atomInfo bits

2 years agoIntroduce Trotter decomposition / MTTK for modular simulator
Pascal Merz [Mon, 7 Jun 2021 21:07:27 +0000 (21:07 +0000)]
Introduce Trotter decomposition / MTTK for modular simulator

2 years agoUse enum class for checkpoint version
Paul Bauer [Mon, 7 Jun 2021 19:06:42 +0000 (19:06 +0000)]
Use enum class for checkpoint version

2 years agoMake LocalTopologyChecker class and hide implementation details
Mark Abraham [Tue, 1 Jun 2021 09:51:58 +0000 (11:51 +0200)]
Make LocalTopologyChecker class and hide implementation details

This allows capturing useful state that is only used when writing the
error output, without leaking dependencies for implementation details
to high-level code.

Some minor improvements to const correctness of the error output. Also
moved it into gmx namespace.

Minor improvement to include order

Removed unused forward declaration in domdec.h

Refs #3887

2 years agoRename some paramters in nblib listed forces
ejjordan [Mon, 7 Jun 2021 10:39:41 +0000 (12:39 +0200)]
Rename some paramters in nblib listed forces

This is pure refactoring.
HarmonicAngleType -> HarmonicAngle
EquilDistance -> EquilConstant

2 years agoAdd unit tests for topology sorting
Mark Abraham [Mon, 7 Jun 2021 12:43:00 +0000 (12:43 +0000)]
Add unit tests for topology sorting

2 years agoRemove duplicating pointers to device buffers in GPU listed forces
Artem Zhmurov [Mon, 7 Jun 2021 10:53:30 +0000 (13:53 +0300)]
Remove duplicating pointers to device buffers in GPU listed forces

XYZQ, forces and shift forces are saved in both ListedForces class and
in BondedCudaKernelParameters class. This removes the later and
make it so the buffers are passed directly to the kernel.

2 years agoPush GPU PME-PP force from PME task instead of pull from PP task
Alan Gray [Mon, 7 Jun 2021 11:54:56 +0000 (11:54 +0000)]
Push GPU PME-PP force from PME task instead of pull from PP task

2 years agoAdd SYCL-related information to the mdrun version header
Andrey Alekseenko [Mon, 7 Jun 2021 11:22:11 +0000 (11:22 +0000)]
Add SYCL-related information to the mdrun version header

2 years agoAdded EnergyOutputRequestChecker notification for MDModules
Dmitry Morozov [Mon, 7 Jun 2021 11:00:13 +0000 (11:00 +0000)]
Added EnergyOutputRequestChecker notification for MDModules

2 years agoMiscellaneous updates from nblib
Joe Jordan [Mon, 7 Jun 2021 09:16:35 +0000 (09:16 +0000)]
Miscellaneous updates from nblib

2 years agoUpdate to Ubuntu 20.04 in CI
Mark Abraham [Mon, 7 Jun 2021 08:57:19 +0000 (08:57 +0000)]
Update to Ubuntu 20.04 in CI

2 years agoFix clang-format
Artem Zhmurov [Mon, 7 Jun 2021 06:51:12 +0000 (09:51 +0300)]
Fix clang-format

Introduced in 100125464e111f9925b8aa9e4e12098fc4510f24

2 years agoUpdates to nblib test infra and tests
Joe Jordan [Sun, 6 Jun 2021 20:50:28 +0000 (20:50 +0000)]
Updates to nblib test infra and tests

2 years agoAWH data structures modular checkpointing
Pascal Merz [Fri, 4 Jun 2021 16:57:54 +0000 (16:57 +0000)]
AWH data structures modular checkpointing

2 years agoPull and AWH exact continuation tests
Pascal Merz [Fri, 4 Jun 2021 15:47:20 +0000 (15:47 +0000)]
Pull and AWH exact continuation tests

2 years agoConvert atomInfo to int64_t
Mark Abraham [Thu, 3 Jun 2021 08:26:22 +0000 (10:26 +0200)]
Convert atomInfo to int64_t

This ensures we can use bits from a 64-bit range if we ever need
that. Or easily switch to 32-bit range if that's advantageous.

Refs #4004

2 years agoRequire CUDA 11.0
Szilárd Páll [Fri, 4 Jun 2021 10:15:32 +0000 (10:15 +0000)]
Require CUDA 11.0

Also remove some cmake code that aided support for version <11.0.

Refs #3708

2 years agoMove useMts flag from forcerec to simulationWorkload
Szilárd Páll [Fri, 4 Jun 2021 06:46:49 +0000 (06:46 +0000)]
Move useMts flag from forcerec to simulationWorkload

2 years agoMake constraints and SETTLE tests backend-agnostic
Artem Zhmurov [Thu, 3 Jun 2021 20:23:35 +0000 (20:23 +0000)]
Make constraints and SETTLE tests backend-agnostic

2 years agoRemove useless charge-group work during repartitioning
Mark Abraham [Thu, 3 Jun 2021 17:35:14 +0000 (17:35 +0000)]
Remove useless charge-group work during repartitioning

2 years agoUpdate tested CUDA versions
Mark Abraham [Thu, 3 Jun 2021 16:03:23 +0000 (16:03 +0000)]
Update tested CUDA versions

2 years agoRemove preprocessor usage for atomInfo
Mark Abraham [Thu, 3 Jun 2021 14:58:26 +0000 (14:58 +0000)]
Remove preprocessor usage for atomInfo

2 years agoAdded QM input file name as command-line parameter for grompp
Dmitry Morozov [Thu, 3 Jun 2021 14:33:14 +0000 (14:33 +0000)]
Added QM input file name as command-line parameter for grompp

Part of #3172

2 years agoFix getLocalAtomCount()
Szilárd Páll [Thu, 3 Jun 2021 13:26:20 +0000 (15:26 +0200)]
Fix getLocalAtomCount()

Pass dd as pointer to avoid nullptr dereferencing introduced in
ba71b7526c22715aceb36586e76f2ae58c4a2461.

Refs #3915

2 years agoMinor pull code cleanup
Berk Hess [Thu, 3 Jun 2021 09:54:55 +0000 (11:54 +0200)]
Minor pull code cleanup

Replaced some pointer by references, removed some unnecessary struct,
converted a loop to range and converted some documentation to doxygen.

2 years agoAdd domainWorkload flags for CPU local force contributions
Szilárd Páll [Thu, 3 Jun 2021 07:36:24 +0000 (09:36 +0200)]
Add domainWorkload flags for CPU local force contributions

Part of #3913

2 years agoFree energy history modular checkpointing
Pascal Merz [Tue, 17 Nov 2020 01:14:32 +0000 (18:14 -0700)]
Free energy history modular checkpointing

This introduces a function that allows df_history_t objects to save to
and reset from modular simulator checkpoints. This allows elements
owning such an object to easily checkpoint it.

This also introduces a helper function to create CheckpointDataOperation
dependent ArrayRefs from C arrays.

3 years agoAdd a getter function for the local atom count
Szilárd Páll [Thu, 3 Jun 2021 08:18:40 +0000 (10:18 +0200)]
Add a getter function for the local atom count

Refs #3915

3 years agoRemove unneeded template keyword which trips up MSVC
Pascal Merz [Thu, 3 Jun 2021 01:32:19 +0000 (19:32 -0600)]
Remove unneeded template keyword which trips up MSVC

Solves part 1 of #4065

3 years agoSYCL: Update env. vars to select GPUs
Andrey Alekseenko [Wed, 2 Jun 2021 09:06:18 +0000 (12:06 +0300)]
SYCL: Update env. vars to select GPUs

SYCL_DEVICE_FILTER is supported in OneAPI releases, so we can safely
recommend it. Also added the ROCm string when compiled with hipSYCL.

3 years agoAdd notifications for MDModules that will be used in QMMM
Dmitry Morozov [Wed, 2 Jun 2021 09:41:44 +0000 (09:41 +0000)]
Add notifications for MDModules that will be used in QMMM

3 years agoRemoved GMX_CLANG_CUDA build using old versions
Mark Abraham [Wed, 2 Jun 2021 06:44:51 +0000 (08:44 +0200)]
Removed GMX_CLANG_CUDA build using old versions

Clarified that a release job was targetting clang as host-only
compiler, ie. not GMX_CLANG_CUDA.

Refs #3708

3 years agoMark a variable as unused in non-MPI build
Andrey Alekseenko [Tue, 1 Jun 2021 14:13:32 +0000 (17:13 +0300)]
Mark a variable as unused in non-MPI build

3 years agoFix gmx nmr -viol option
Eliane Briand [Mon, 31 May 2021 14:46:31 +0000 (16:46 +0200)]
Fix gmx nmr -viol option

Ref #4060

3 years agoFinish breaking up domdec_topology.cpp
Mark Abraham [Mon, 31 May 2021 15:32:14 +0000 (15:32 +0000)]
Finish breaking up domdec_topology.cpp

3 years agoIncrease const correctness in gmx_pme_send_parameters
ejjordan [Mon, 31 May 2021 09:36:09 +0000 (11:36 +0200)]
Increase const correctness in gmx_pme_send_parameters

Also switched to ArrayRef<const RVec> from pointer in one function
and removed an unused header.

3 years agoMove total bonded count to LocalTopologyChecker
Mark Abraham [Mon, 31 May 2021 10:14:22 +0000 (10:14 +0000)]
Move total bonded count to LocalTopologyChecker

3 years agoSplit localtopology from domdec_topology
Mark Abraham [Mon, 31 May 2021 09:05:50 +0000 (11:05 +0200)]
Split localtopology from domdec_topology

This is a separable responsibility and can go in its own
translation unit.

Refs #3887

3 years agoPartial renaming of cginfo to atom info
Mark Abraham [Mon, 31 May 2021 08:14:35 +0000 (08:14 +0000)]
Partial renaming of cginfo to atom info

3 years agoFix one more missing template declaration
Andrey Alekseenko [Sun, 30 May 2021 15:54:10 +0000 (18:54 +0300)]
Fix one more missing template declaration

Continuation of the work started in bf9b81c4 (MR !1652)

3 years agoIntroduce Andersen temperature coupling for modular simulator
Pascal Merz [Mon, 31 May 2021 00:10:49 +0000 (18:10 -0600)]
Introduce Andersen temperature coupling for modular simulator

This introduces the `andersen` and `andersen-massive` temperature coupling
for modular simulator. Since reshuffeling the velocities does require a
constraining step, the Andersen temperature coupling uses the composite
element to combine the Andersen element with a constraining element.

Refs #3423, refs #3417

3 years agoAdd nightly CI test on OneAPI + Intel GPU
Andrey Alekseenko [Mon, 31 May 2021 06:26:32 +0000 (06:26 +0000)]
Add nightly CI test on OneAPI + Intel GPU

3 years agoDisable false-positive warnings for ICPX 2021.2.0
Andrey Alekseenko [Fri, 28 May 2021 22:51:33 +0000 (01:51 +0300)]
Disable false-positive warnings for ICPX 2021.2.0

Not happening in open-source intel/llvm compiler.

While originally it was enough to disable them at include stage, in
2021.2 the warning is issued in the kernel itself, so we had to expand
its usage beyond gmxsycl.h.

3 years agoFix missing template declaration
Paul Bauer [Fri, 28 May 2021 08:55:23 +0000 (08:55 +0000)]
Fix missing template declaration

3 years agoCompute global bonded interaction count from system topology
Mark Abraham [Fri, 28 May 2021 07:32:08 +0000 (07:32 +0000)]
Compute global bonded interaction count from system topology

3 years agoReworked convert-tpr runtime extension
Eliane Briand [Fri, 28 May 2021 07:11:10 +0000 (07:11 +0000)]
Reworked convert-tpr runtime extension

3 years agoRemove orphaned code
Mark Abraham [Thu, 27 May 2021 12:41:24 +0000 (14:41 +0200)]
Remove orphaned code

This should have been removed in c17939744a88e but somehow it
survived long enough to move location. This should have failed
testing because optional std header is not included here, but
it somehow passed.

Now it is removed

Refs #3887

3 years agoMove reverse topology code to its own translation unit
Mark Abraham [Thu, 27 May 2021 09:48:39 +0000 (09:48 +0000)]
Move reverse topology code to its own translation unit

3 years agoAdd release notes about REMD with GPU update
Artem Zhmurov [Wed, 26 May 2021 11:48:01 +0000 (14:48 +0300)]
Add release notes about REMD with GPU update

REMD is now possible with GPU update, which should be noted in
release notes.

Feature enabled in 29c336cd0a518507c86094b08a447ec388afaad2

Refs #3997

3 years agoClean up simulator algorithm
Pascal Merz [Thu, 27 May 2021 08:55:14 +0000 (08:55 +0000)]
Clean up simulator algorithm

3 years agoRename GpuBonded into ListedForcesGpu
Artem Zhmurov [Wed, 26 May 2021 09:05:03 +0000 (12:05 +0300)]
Rename GpuBonded into ListedForcesGpu

The listed forces name describes better what the class is
doing and also follows the naming for other modules.

3 years agoDisable CUDA clang-tidy test
Paul Bauer [Thu, 27 May 2021 07:41:49 +0000 (09:41 +0200)]
Disable CUDA clang-tidy test

This is failing for some reason and needs proper fixing later.

3 years agoMove the code of what will later implement LocalTopologyChecker
Mark Abraham [Wed, 5 May 2021 06:53:36 +0000 (08:53 +0200)]
Move the code of what will later implement LocalTopologyChecker

Some common implementation functionality used in making
the reverse topology also needs to be exposed. Otherwise,
this is pure code movement with no functionality changes.

Refs #3887

3 years agoMoved PME-only ranks check to domain decomposition setup
Dmitry Morozov [Wed, 26 May 2021 15:01:42 +0000 (15:01 +0000)]
Moved PME-only ranks check to domain decomposition setup

3 years agoEliminate redundant GPU force reduction event dependency
Szilárd Páll [Wed, 26 May 2021 14:06:24 +0000 (14:06 +0000)]
Eliminate redundant GPU force reduction event dependency

CPU force transfers happen on the same strem as GPU reduction, so no explicit dependency is needed.

Additionally, due to a StatePropagatorDataGpu bug, whenever the force readiness event queried is not AtomLocality::All, an incorrect event is returned leading to circular dependency on force reduction, as described in #4032.

This change however does not fix the StatePropagatorDataGpu bug, but it should help avoiding workarounds for the new SYCL backend (#3932).

Refs #4032 #3988

3 years agoFix clang-format
Mark Abraham [Wed, 26 May 2021 08:39:19 +0000 (10:39 +0200)]
Fix clang-format

3 years agoRemove foreign energy groups from gmx_enerdata_t
ejjordan [Mon, 24 May 2021 15:38:49 +0000 (17:38 +0200)]
Remove foreign energy groups from gmx_enerdata_t

These members are only used for local storage and can be eliminated.

Added function to zero the energy group pair terms.

This will aid in further refactoring of the nonboded FEP kernels.

3 years agoMove t_forcetable and table enums to forcetable header
Joe Jordan [Wed, 26 May 2021 09:14:47 +0000 (09:14 +0000)]
Move t_forcetable and table enums to forcetable header

3 years agoImplement generic j-reduction in the nbnxm SYCL kernels
Szilárd Páll [Tue, 30 Mar 2021 13:24:08 +0000 (15:24 +0200)]
Implement generic j-reduction in the nbnxm SYCL kernels

This commit implements the generic j-reduction identical to the OpenCL
version of the same.

Also added a subGroupBarrier() helper which is needed for
correctness on the CUDA backend when targetting NVIDIA
architectures.

Refs #3934

3 years agoFix clang tidy version for CUDA
Paul Bauer [Wed, 26 May 2021 07:39:06 +0000 (07:39 +0000)]
Fix clang tidy version for CUDA

3 years agoIntroduce domain decomposition notifications
Pascal Merz [Wed, 26 May 2021 07:05:54 +0000 (07:05 +0000)]
Introduce domain decomposition notifications

3 years agoSplit expanded ensemble function
Pascal Merz [Fri, 21 May 2021 21:33:37 +0000 (15:33 -0600)]
Split expanded ensemble function

The expanded ensemble function was split into a part chosing a new
lambda state, and a second part updating the reference temperature
in the case of simulated tempering. To leave legacy paths unchanged,
the original function name has been maintained, which calls the two
parts. The function chosing a new lambda state is declared in the
header to allow modular simulator to call it separately.

This is pure refactoring (with the exception of moving a few variable
declarations to their initialization sites). Expanded ensemble is
covered by the new FEP tests.

This prepares introducing the expanded ensemble in modular simulator,
and is a first step towards #3848.

Refs #3417

3 years agoOnly Pass needed data to nonbonded param setup in forcerec
Joe Jordan [Tue, 25 May 2021 09:41:58 +0000 (09:41 +0000)]
Only Pass needed data to nonbonded param setup in forcerec

3 years agoAdd CUDA clang tidy build to CI
Paul Bauer [Fri, 21 May 2021 09:07:07 +0000 (11:07 +0200)]
Add CUDA clang tidy build to CI

Runs test script for pre-submit and full build nightly.

3 years agoApply clang-tidy-11 fixes to CUDA files
Paul Bauer [Mon, 24 May 2021 12:58:44 +0000 (12:58 +0000)]
Apply clang-tidy-11 fixes to CUDA files

3 years agoRemove dead members from gmx_pme_t
Joe Jordan [Mon, 24 May 2021 12:34:55 +0000 (12:34 +0000)]
Remove dead members from gmx_pme_t

3 years agoRemove forcerec from dispatchFreeEnergyKernel signature
Joe Jordan [Mon, 24 May 2021 11:53:02 +0000 (11:53 +0000)]
Remove forcerec from dispatchFreeEnergyKernel signature

3 years agoLet installed library options default to BUILD_SHARED_LIBS.
M. Eric Irrgang [Fri, 21 May 2021 15:02:15 +0000 (10:02 -0500)]
Let installed library options default to BUILD_SHARED_LIBS.

Fixes #4053

3 years agoRemove GMX_CONSTRVIR
Mark Abraham [Mon, 24 May 2021 03:58:19 +0000 (05:58 +0200)]
Remove GMX_CONSTRVIR

Simplifies handling of energy output by removing a feature that was
likely useful only during debugging yet incurred function-call
overhead every MD step even when not used.

Resolves previous TODO

Updates tests to no longer check such output while not changing
the numerical output previously written.

3 years agoAdd a const getter for the enerd struct to EnergyData
Pascal Merz [Tue, 17 Nov 2020 01:19:08 +0000 (18:19 -0700)]
Add a const getter for the enerd struct to EnergyData

This is not currently used, but will allow for more const-correctness
in upcoming changes.

3 years agoImplement Berendsen and c-rescale pressure coupling for modular simulator
Pascal Merz [Mon, 24 May 2021 04:27:50 +0000 (04:27 +0000)]
Implement Berendsen and c-rescale pressure coupling for modular simulator

3 years agoExpose DD distribution of free energy history
Pascal Merz [Tue, 17 Nov 2020 01:13:37 +0000 (18:13 -0700)]
Expose DD distribution of free energy history

To implement expanded ensemble, modular simulator needs to be able
to distribute the free energy history without initiating a full
t_state object. This exposes the required function to make it
available to the expanded ensemble modular simulator element.

Refs #3417, #3419

3 years agoIntroduce frequency for CompositeSimulatorElement
Pascal Merz [Mon, 7 Sep 2020 16:28:37 +0000 (10:28 -0600)]
Introduce frequency for CompositeSimulatorElement

This adds functionality to run a composite simulator element at a
prescribed frequency. This prepares the introduction of Andersen
thermostatting.

3 years agoWorkaround for a hipSYCL assertion error
Szilárd Páll [Fri, 21 May 2021 10:16:51 +0000 (10:16 +0000)]
Workaround for a hipSYCL assertion error

3 years agoLocalize variables in gmx_pme_do
Joe Jordan [Thu, 20 May 2021 23:29:01 +0000 (23:29 +0000)]
Localize variables in gmx_pme_do

3 years agoRemove GPU update restriction for replica exchange
Alan Gray [Tue, 18 May 2021 14:33:42 +0000 (07:33 -0700)]
Remove GPU update restriction for replica exchange

Ensures that the end-of-step D2H coordinate copy is active for replica
exchange steps, to allow the GPU update restriction to be relaxed.

3 years agoUse MessageStringCollector class to construct error messages
Artem Zhmurov [Thu, 20 May 2021 14:01:15 +0000 (14:01 +0000)]
Use MessageStringCollector class to construct error messages

3 years agoDisable ArrayRefDeathTests when building without assertions
Paul Bauer [Thu, 20 May 2021 07:57:58 +0000 (09:57 +0200)]
Disable ArrayRefDeathTests when building without assertions

Would otherwise lead to spurious failures.