Gromacs
2024.3
|
#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> | |
static auto | gmx::packSendBufKernel (Float3 *__restrict__ gm_dataPacked, const Float3 *__restrict__ gm_data, const int *__restrict__ gm_map, int mapSize, Float3 coordinateShift) |
template<bool accumulate> | |
static auto | gmx::unpackRecvBufKernel (Float3 *__restrict__ gm_data, const Float3 *__restrict__ gm_dataPacked, const int *__restrict__ gm_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) |