Gromacs  2024.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Static Public Member Functions
PackHaloExternal 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, const size_t overlapSizeUp, const size_t overlapSizeDown, const size_t overlapSizeLeft, const size_t overlapSizeRight)
 Returns the pack kernel. More...
 

Member Function Documentation

template<int subGroupSize>
static auto PackHaloExternal::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,
const size_t  overlapSizeUp,
const size_t  overlapSizeDown,
const size_t  overlapSizeLeft,
const size_t  overlapSizeRight 
)
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]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: