![]() |
StencilStream v3.0.0
SYCL-based Stencil Simulation Framework Targeting FPGAs
|
A kernel that executes a stencil transition function on a tile. More...
#include <StencilUpdate.hpp>
Public Member Functions | |
StencilUpdateKernel (TransFunc trans_func, uindex_t i_iteration, uindex_t target_i_iteration, uindex_t grid_c_offset, uindex_t grid_r_offset, uindex_t grid_width, uindex_t grid_height, Cell halo_value, TDVKernelArgument tdv_kernel_argument) | |
Create and configure the execution kernel. | |
void | operator() () const |
Execute the configured operations. | |
A kernel that executes a stencil transition function on a tile.
It receives the contents of a tile and it's halo from the in_pipe
, applies the transition function when applicable and writes the result to the out_pipe
.
TransFunc | The type of transition function to use. |
TDVKernelArgument | The type of parameter for the TDV system that is passed from the host to the kernel. |
n_processing_elements | The number of processing elements to use. Similar to an unroll factor for a loop. |
output_tile_width | The number of columns in a grid tile. |
output_tile_height | The number of rows in a grid tile. |
in_pipe | The pipe to read from. |
out_pipe | The pipe to write to. |
|
inline |
Create and configure the execution kernel.
trans_func | The instance of the transition function to use. |
i_iteration | The iteration index of the input cells. |
target_i_iteration | The number of iterations to compute. If this number is bigger than n_processing_elements , only n_processing_elements iterations will be computed. |
grid_c_offset | The column offset of the processed tile relative to the grid's origin, not including the halo. For example, for the most north-western tile the offset will always be (0,0), not (-halo_radius,-halo_radius) |
grid_r_offset | The row offset of the processed tile relative to the grid's origin. See grid_c_offset for details. |
grid_width | The number of cell columns in the grid. |
grid_height | The number of cell rows in the grid. |
halo_value | The value of cells in the grid halo. |
tdv_kernel_argument | The argument for the TDV system that is passed from the host to the device. This may for example contain global memory accessors. |
|
inline |
Execute the configured operations.