Make the use of GpuEventSynchronizer in SYCL conformant with CUDA/OpenCL
authorAndrey Alekseenko <al42and@gmail.com>
Thu, 18 Feb 2021 13:01:43 +0000 (16:01 +0300)
committerArtem Zhmurov <zhmurov@gmail.com>
Thu, 18 Feb 2021 19:48:16 +0000 (19:48 +0000)
commit2ad1a074531a7bebe306c71d691a067303653ba6
treefa6dd0ff38aea0d36f643b6665afc63a02df888d
parent886828af86e66fa9226e20d44f3b5afd9447bdc8
Make the use of GpuEventSynchronizer in SYCL conformant with CUDA/OpenCL

MR !1035 refactored the use of GpuEventSynchronizer in CUDA and OpenCL
to make merging the code paths easier. Here, we update SYCL to the same
standard.

Note, that it introduces additional synchronization between local and
non-local queues. It is present in CUDA and OpenCL, but was implicit in
SYCL. To simplify code, it is added here. If it turns out to be
detrimental to performance, it can be (conditionally) NOPed.

Refs #2608, #3895.
src/gromacs/nbnxm/sycl/nbnxm_sycl.cpp
src/gromacs/nbnxm/sycl/nbnxm_sycl_data_mgmt.cpp
src/gromacs/nbnxm/sycl/nbnxm_sycl_types.h