Link GPU force producer and consumer tasks
authorArtem Zhmurov <zhmurov@gmail.com>
Mon, 14 Oct 2019 20:58:08 +0000 (22:58 +0200)
committerArtem Zhmurov <zhmurov@gmail.com>
Wed, 16 Oct 2019 08:21:40 +0000 (10:21 +0200)
commit7bbfb57c90d90bfd40857f094bdc49802d5a60fb
treed41a98b381491f0ed800b80142f985f3ce1ce1d7
parent383c1e37443cc060bee3747787ff3ce6b11c56bf
Link GPU force producer and consumer tasks

The GPU event synchronizer that indicates that forces are ready
for a consumption is now passed to the GPU update-constraints.
The update-constraints enqueue a wait on the event in the update
stream before performing numerical integration and constraining.
Note that the event is conditionally returned by the
StatePropagatorDataGpu and indicates that either the reduction of
forces on the GPU or the H2D copy is done, depending on offload
scenario on a current timestep.

Refs. #2816, #2888, #3126.

Change-Id: Ic12b0c55b75ec5f0c31ce500a2760fb4d5cf3b91
src/gromacs/mdlib/update_constrain_cuda.h
src/gromacs/mdlib/update_constrain_cuda_impl.cpp
src/gromacs/mdlib/update_constrain_cuda_impl.cu
src/gromacs/mdlib/update_constrain_cuda_impl.h
src/gromacs/mdrun/md.cpp