Gromacs  2024.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Static Public Member Functions
UnpackAndAddHaloInternal Class Reference

Description

Handles a kernel which adds grid overlap data received from neighboring ranks.

Static Public Member Functions

template<int subGroupSize>
static auto kernel (size_t myGridX, size_t myGridY, sycl::uint3 pmeSize, float *__restrict__ gm_realGrid, const float *__restrict__ gm_transferGridUp, const float *__restrict__ gm_transferGridDown, const float *__restrict__ gm_transferGridLeft, const float *__restrict__ gm_transferGridRight, const float *__restrict__ gm_transferGridUpLeft, const float *__restrict__ gm_transferGridDownLeft, const float *__restrict__ gm_transferGridUpRight, const float *__restrict__ gm_transferGridDownRight, size_t overlapSizeX, size_t overlapSizeY, size_t overlapUp, size_t overlapLeft)
 Returns the unpack kernel. More...
 

Member Function Documentation

template<int subGroupSize>
static auto UnpackAndAddHaloInternal::kernel ( size_t  myGridX,
size_t  myGridY,
sycl::uint3  pmeSize,
float *__restrict__  gm_realGrid,
const float *__restrict__  gm_transferGridUp,
const float *__restrict__  gm_transferGridDown,
const float *__restrict__  gm_transferGridLeft,
const float *__restrict__  gm_transferGridRight,
const float *__restrict__  gm_transferGridUpLeft,
const float *__restrict__  gm_transferGridDownLeft,
const float *__restrict__  gm_transferGridUpRight,
const float *__restrict__  gm_transferGridDownRight,
size_t  overlapSizeX,
size_t  overlapSizeY,
size_t  overlapUp,
size_t  overlapLeft 
)
inlinestatic

Returns the unpack kernel.

Parameters
[in]myGridX,myGridYLocal domain size in X and Y dimension
[in]pmeSizeLocal PME grid size
[in]gm_realGridPME device grid
[out]gm_transferGridUpDevice array used to pack data to go up
[out]gm_transferGridDownDevice array used to pack data to go down
[out]gm_transferGridLeftDevice array used to pack data to go left
[out]gm_transferGridRightDevice array used to pack data to go right
[out]gm_transferGridUpLeftDevice array used to pack data to go up+left
[out]gm_transferGridDownLeftDevice array used to pack data to go down+left
[out]gm_transferGridUpRightDevice array used to pack data to go up+right
[out]gm_transferGridDownRightDevice array used to pack data to go down+right
[in]overlapSizeX,overlapSizeY,overlapUp,overlapLeftHalo size in 4 directions
Template Parameters
subGroupSizeSize of the sub-group.

The documentation for this class was generated from the following file: