Handles a kernel which gathers data from halo region in all 8 neighboring directions.
|
template<int subGroupSize> |
static auto | kernel (sycl::handler &cgh, size_t myGridX, size_t myGridY, sycl::uint3 pmeSize, DeviceAccessor< float, mode::write > a_realGrid, DeviceAccessor< float, mode::read > a_transferGridUp, DeviceAccessor< float, mode::read > a_transferGridDown, DeviceAccessor< float, mode::read > a_transferGridLeft, DeviceAccessor< float, mode::read > a_transferGridRight, DeviceAccessor< float, mode::read > a_transferGridUpLeft, DeviceAccessor< float, mode::read > a_transferGridDownLeft, DeviceAccessor< float, mode::read > a_transferGridUpRight, DeviceAccessor< float, mode::read > a_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 |
( |
sycl::handler & |
cgh, |
|
|
size_t |
myGridX, |
|
|
size_t |
myGridY, |
|
|
sycl::uint3 |
pmeSize, |
|
|
DeviceAccessor< float, mode::write > |
a_realGrid, |
|
|
DeviceAccessor< float, mode::read > |
a_transferGridUp, |
|
|
DeviceAccessor< float, mode::read > |
a_transferGridDown, |
|
|
DeviceAccessor< float, mode::read > |
a_transferGridLeft, |
|
|
DeviceAccessor< float, mode::read > |
a_transferGridRight, |
|
|
DeviceAccessor< float, mode::read > |
a_transferGridUpLeft, |
|
|
DeviceAccessor< float, mode::read > |
a_transferGridDownLeft, |
|
|
DeviceAccessor< float, mode::read > |
a_transferGridUpRight, |
|
|
DeviceAccessor< float, mode::read > |
a_transferGridDownRight, |
|
|
size_t |
overlapSizeUp, |
|
|
size_t |
overlapSizeDown, |
|
|
size_t |
overlapSizeLeft, |
|
|
size_t |
overlapSizeRight |
|
) |
| |
|
inlinestatic |
Returns the unpack kernel.
- Parameters
-
[in] | cgh | SYCL's command group handler. |
[in] | myGridX,myGridY | Local domain size in X and Y dimension |
[in] | pmeSize | Local PME grid size |
[in] | a_realGrid | PME device grid |
[out] | a_transferGridUp | Device array used to pack data to go up |
[out] | a_transferGridDown | Device array used to pack data to go down |
[out] | a_transferGridLeft | Device array used to pack data to go left |
[out] | a_transferGridRight | Device array used to pack data to go right |
[out] | a_transferGridUpLeft | Device array used to pack data to go up+left |
[out] | a_transferGridDownLeft | Device array used to pack data to go down+left |
[out] | a_transferGridUpRight | Device array used to pack data to go up+right |
[out] | a_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: