GpuEventSynchronizer: extract backend-specific functionality
authorAndrey Alekseenko <al42and@gmail.com>
Wed, 18 Aug 2021 08:52:57 +0000 (08:52 +0000)
committerAndrey Alekseenko <al42and@gmail.com>
Wed, 18 Aug 2021 08:52:57 +0000 (08:52 +0000)
commit8f6ea9eb6cf1f862d1223e9929a0e6fb75e6053e
treed962cc955578625ea20e32054c1bdc5e4f0a299a
parentde0a07c2680e12c20da42bdc76709ffa3790b639
GpuEventSynchronizer: extract backend-specific functionality

No new functionality or added checks.

Preparatory work for adding advanced event accounting logic to GpuEventSynchronizer.

DeviceEvent class contains only backend-specific functions and minimal sanity checks.
The more advanced logic (the one we're trying to fix in #3988) is kept in
GpuEventSynchronizer, and currently left unchanged (1:1 for OpenCL and SYCL,
very relaxed rules for CUDA).

Refs #2527, #3988.
src/gromacs/gpu_utils/device_event.cuh [new file with mode: 0644]
src/gromacs/gpu_utils/device_event.h [new file with mode: 0644]
src/gromacs/gpu_utils/device_event_ocl.h [moved from src/gromacs/gpu_utils/gpueventsynchronizer_ocl.h with 55% similarity]
src/gromacs/gpu_utils/device_event_sycl.h [moved from src/gromacs/gpu_utils/gpueventsynchronizer_sycl.h with 60% similarity]
src/gromacs/gpu_utils/gpueventsynchronizer.cuh [deleted file]
src/gromacs/gpu_utils/gpueventsynchronizer.h
src/gromacs/gpu_utils/tests/gpueventsynchronizer.cpp