Gromacs
2023-beta
|
#include "gmxpre.h"
#include "gromacs/gpu_utils/devicebuffer_sycl.h"
#include "gromacs/gpu_utils/gmxsycl.h"
#include "gromacs/gpu_utils/gputraits_sycl.h"
#include "domdec_struct.h"
#include "gpuhaloexchange_impl_gpu.h"
Implements GPU halo exchange using SYCL.
Functions | |
template<bool usePbc> | |
auto | gmx::packSendBufKernel (sycl::handler &cgh, DeviceAccessor< Float3, sycl::access_mode::read_write > a_dataPacked, DeviceAccessor< Float3, sycl::access_mode::read > a_data, DeviceAccessor< int, sycl::access_mode::read > a_map, int mapSize, Float3 coordinateShift) |
template<bool accumulate> | |
auto | gmx::unpackRecvBufKernel (sycl::handler &cgh, DeviceAccessor< Float3, sycl::access_mode::read_write > a_data, DeviceAccessor< Float3, sycl::access_mode::read > a_dataPacked, DeviceAccessor< int, sycl::access_mode::read > a_map, int mapSize) |
unpack non-local force data buffer on the GPU using pre-populated "map" containing index information. More... | |
template<bool usePbc, class... Args> | |
static void | gmx::launchPackSendBufKernel (const DeviceStream &deviceStream, int xSendSize, Args &&...args) |
template<bool accumulateForces, class... Args> | |
static void | gmx::launchUnpackRecvBufKernel (const DeviceStream &deviceStream, int fRecvSize, Args &&...args) |