![]() |
StencilStream v3.0.0
SYCL-based Stencil Simulation Framework Targeting FPGAs
|
A grid updater that repeatedly applies stencil updates to each cell. More...
#include <Concepts.hpp>
A grid updater that repeatedly applies stencil updates to each cell.
TF | The transition function type, which must satisfy the TransitionFunction concept. |
G | The grid type the updater operates on. It must satisfy the Grid concept. |
The constructor of a stencil update must accept a parameter struct instance. This struct must be (re-)defined inside the class as Params
, and must contain the following fields. Where a default value is given, this default value must be provided. Additional parameter fields may be added as needed.
TF transition_function
: The transition function instance to use.TF::Cell halo_value = TF::Cell()
: The default value for cells outside of the actual grid.uindex_t iteration_offset = 0
: The starting iteration index of the input grid.uindex_t n_iterations = 0
: The number of iterations to compute. The iteration index of the output grid will be iteration_offset + n_iterations
.sycl::device device = sycl::device()
: The SYCL device to use for computations.Each updater must define the following methods:
SU(SU::Params params)
: Create a new stencil update object using the given parameters.SU::Params &get_params()
: Get the reference to the current parameter configuration. Changed parameter fields must be used the next time operator()
is called.G operator()(Grid input_grid)
: Create a new, updated version of the input_grid
. The input_grid
must not be modified.