paddingSize_(paddingSize)
{
static_assert(GMX_GPU != GMX_GPU_NONE, "This object should only be constructed on the GPU code-paths.");
- GMX_RELEASE_ASSERT(getenv("GMX_USE_GPU_BUFFER_OPS") == nullptr, "GPU buffer ops are not supported in this build.");
// TODO: Refactor when the StreamManager is introduced.
if (GMX_GPU == GMX_GPU_OPENCL)
paddingSize_(paddingSize)
{
static_assert(GMX_GPU != GMX_GPU_NONE, "This object should only be constructed on the GPU code-paths.");
- GMX_RELEASE_ASSERT(getenv("GMX_USE_GPU_BUFFER_OPS") == nullptr, "GPU buffer ops are not supported in this build.");
if (GMX_GPU == GMX_GPU_OPENCL)
{
if (GMX_GPU == GMX_GPU_CUDA)
{
xReadyOnDevice_[atomLocality].markEvent(commandStream);
- // TODO: Remove When event-based synchronization is introduced
- gpuStreamSynchronize(commandStream);
}
}
//
// TODO: This should be reconsidered to support the halo exchange.
//
+ // In OpenCL no events are used as coordinate sync is not necessary
+ if (GMX_GPU == GMX_GPU_OPENCL)
+ {
+ return nullptr;
+ }
if (atomLocality == AtomLocality::Local && simulationWork.useGpuUpdate && !stepWork.doNeighborSearch)
{
return &xUpdatedOnDevice_;