Gromacs  2025-dev-20240913-b871546
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Static Public Member Functions
UnpackHaloExternal Class Reference

Description

Handles a kernel which gathers data from halo region in all 8 neighboring directions.

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 overlapSizeUp, size_t overlapSizeDown, size_t overlapSizeLeft, size_t overlapSizeRight)
 Returns the unpack kernel. More...
 

Member Function Documentation

template<int subGroupSize>
static auto UnpackHaloExternal::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  overlapSizeUp,
size_t  overlapSizeDown,
size_t  overlapSizeLeft,
size_t  overlapSizeRight 
)
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]overlapSizeUp,overlapSizeDown,overlapSizeLeft,overlapSizeRightHalo size in 4 directions
Template Parameters
subGroupSizeSize of the sub-group.

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