Allow x D2H to overlap with GPU force compute
authorSzilárd Páll <pall.szilard@gmail.com>
Tue, 10 Dec 2019 11:24:32 +0000 (12:24 +0100)
committerPaul Bauer <paul.bauer.q@gmail.com>
Wed, 18 Dec 2019 13:30:27 +0000 (14:30 +0100)
commit9a3c2ce312c1e04634d636655388a8aaad53c8d1
tree819390c467d98dcb6879a7bef0f35bace27fbe96
parent6d22a38363b36cb79dddf54152ede16df461bb37
Allow x D2H to overlap with GPU force compute

With GPU update coordinates are transferred back to the CPU every step
if there are forces to compute on the CPU. Originally this was
implemented with a back-to-back transfer launch and wait at the
beginning of do_force().
This change moves the CPU wait for the completion of the coordinate
transfer closer to the consumer tasks in order to avoid blocking GPU
force tasks' launch and allowing compute and transfer to overlap.

Fixes #3221

Change-Id: Ia6641147bbec1186b54c1445d36dc31000eae9c4
src/gromacs/mdlib/sim_util.cpp