Centralize management of coordinates ready on GPU event
authorArtem Zhmurov <zhmurov@gmail.com>
Wed, 9 Oct 2019 14:02:36 +0000 (16:02 +0200)
committerMark Abraham <mark.j.abraham@gmail.com>
Sat, 12 Oct 2019 11:18:07 +0000 (13:18 +0200)
commit679c2f07f9732370999fbc636e50ef97be8550d4
tree4bd6195fbc692e98a95f032b1139f1f556472aab
parent4761b51f17aad9291afc9c22eba70fba212a6fcc
Centralize management of coordinates ready on GPU event

This change shifts the ownership of the EventSynchronizer
indicating that coordinates are available on the device from
UpdateConstraints to StatePropagatorDataGpu.
The latter now provides a getter that, based on workload flags, decides
which synchronizer to return. If update is offloaded the returned event
records the completion of the update-constraints on the GPU.
When update is not offloaded and on search steps the returned event
records the completion of the host to device coordinate transfer.

Change-Id: Idec9f46e78a2708fa31e895bf7590cdad1872987
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
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