Balance event consumption for GPU update code path
authorAndrey Alekseenko <al42and@gmail.com>
Tue, 19 Oct 2021 16:34:43 +0000 (18:34 +0200)
committerSzilárd Páll <pall.szilard@gmail.com>
Thu, 21 Oct 2021 17:44:14 +0000 (17:44 +0000)
commit0504f4b552b9713671975a3ab0864755657bd8b3
tree097f96510c4584b3b2b42964317bd59b8b557f31
parentf6793f9b3baa31c5f48382c5fb5295a35608cc34
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.
src/gromacs/mdlib/gpuforcereduction_impl.cpp
src/gromacs/mdlib/sim_util.cpp
src/gromacs/mdrun/md.cpp
src/gromacs/mdtypes/state_propagator_data_gpu.h
src/gromacs/mdtypes/state_propagator_data_gpu_impl.cpp
src/gromacs/mdtypes/state_propagator_data_gpu_impl.h
src/gromacs/mdtypes/state_propagator_data_gpu_impl_gpu.cpp