- ewald/pme_gpu_types_host.h: Remove unused forward declaration.
- gpu_utils/devicebuffer_sycl.h: Allow casting our "blackhole" class to
nullptr.
- gpu_utils/sycl_kernel_utils.h: Make subGroupBarrier usable with any
group dimension.
In preparation for #3927.
#include "pme_gpu_settings.h"
#include "pme_gpu_staging.h"
-namespace gmx
-{
-class PmeDeviceBuffers;
-} // namespace gmx
-
#if GMX_GPU
struct PmeGpuSpecific;
#else
[[maybe_unused]] EmptyClassThatIgnoresConstructorArguments(Args&&... /*args*/)
{
}
+ //! Allow casting to nullptr
+ constexpr operator std::nullptr_t() const { return nullptr; }
};
} // namespace gmx::internal
* Equivalent with CUDA's \c syncwarp(c_cudaFullWarpMask).
*
*/
-static inline void subGroupBarrier(const cl::sycl::nd_item<1> itemIdx)
+template<int Dim>
+static inline void subGroupBarrier(const cl::sycl::nd_item<Dim> itemIdx)
{
#if GMX_SYCL_HIPSYCL
cl::sycl::group_barrier(itemIdx.get_sub_group(), cl::sycl::memory_scope::sub_group);