Gromacs  2024.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
gpuhaloexchange_impl_gpu_sycl.cpp File Reference
#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"
+ Include dependency graph for gpuhaloexchange_impl_gpu_sycl.cpp:

Description

Implements GPU halo exchange using SYCL.

Author
Alan Gray alang.nosp@m.@nvi.nosp@m.dia.c.nosp@m.om
Andrey Alekseenko al42a.nosp@m.nd@g.nosp@m.mail..nosp@m.com

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)