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

Description

Handles a kernel which packs non-contiguous overlap data in all 8 neighboring directions.

Static Public Member Functions

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

Member Function Documentation

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

Returns the pack 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: