Handles a kernel which gathers data from halo region in all 8 neighboring directions.
|
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...
|
|
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,myGridY | Local domain size in X and Y dimension |
[in] | pmeSize | Local PME grid size |
[in] | gm_realGrid | PME device grid |
[out] | gm_transferGridUp | Device array used to pack data to go up |
[out] | gm_transferGridDown | Device array used to pack data to go down |
[out] | gm_transferGridLeft | Device array used to pack data to go left |
[out] | gm_transferGridRight | Device array used to pack data to go right |
[out] | gm_transferGridUpLeft | Device array used to pack data to go up+left |
[out] | gm_transferGridDownLeft | Device array used to pack data to go down+left |
[out] | gm_transferGridUpRight | Device array used to pack data to go up+right |
[out] | gm_transferGridDownRight | Device array used to pack data to go down+right |
[in] | overlapSizeUp,overlapSizeDown,overlapSizeLeft,overlapSizeRight | Halo size in 4 directions |
- Template Parameters
-
subGroupSize | Size of the sub-group. |
The documentation for this class was generated from the following file: