Gromacs
2025.1
|
#include <algorithm>
#include <vector>
#include "gromacs/gpu_utils/device_stream.h"
#include "gromacs/gpu_utils/gmxsycl.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/gmxassert.h"
Implements a GpuEventSynchronizer class for SYCL.
There is no way to do this efficiently within the SYCL standard. With DPC++, this implementation relies on SYCL_EXT_ONEAPI_ENQUEUE_BARRIER extension, which directly enqueues a CUDA-like barrier event. With AdaptiveCpp, it relies on ACPP_EXT_ENQUEUE_CUSTOM_OPERATION extension to submit an empty operation (that can have dependencies and returns an event).