GrPPI  0.2
Generic and Reusable Parallel Pattern Interface
Functions
TBB Parallel stencil pattern

TBB parallel implementation of the Stencil pattern. More...

Collaboration diagram for TBB Parallel stencil pattern:

Functions

template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood >
void grppi::stencil (parallel_execution_tbb &ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op)
 Invoke Stencil pattern on a data sequence with TBB parallel execution. More...
 
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts>
void grppi::stencil (parallel_execution_tbb &ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op, OtherInputIts...other_firsts)
 Invoke Stencil pattern on multiple data sequences with TBB parallel execution. More...
 

Detailed Description

TBB parallel implementation of the Stencil pattern.

Function Documentation

template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood >
void grppi::stencil ( parallel_execution_tbb ex,
InputIt  first,
InputIt  last,
OutputIt  first_out,
StencilTransformer  transform_op,
Neighbourhood  neighbour_op 
)

Invoke Stencil pattern on a data sequence with TBB parallel execution.

Template Parameters
InputItIterator type used for the input sequence.
OutputItIterator type used for the output sequence
NeighbourhoodCallable type for obtaining the neighbourhood.
StencilTransformerCallable type for performing the stencil transformation.
Parameters
exTBB parallel execution policy object.
firstIterator to the first element in the input sequence.
lastIterator to one past the end of the input sequence.
outIterator to the first element in the output sequence.
transform_opStencil transformation transform_operation.
neighbour_opNeighbourhood transform_operation.
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts>
void grppi::stencil ( parallel_execution_tbb ex,
InputIt  first,
InputIt  last,
OutputIt  first_out,
StencilTransformer  transform_op,
Neighbourhood  neighbour_op,
OtherInputIts...  other_firsts 
)

Invoke Stencil pattern on multiple data sequences with TBB parallel execution.

Template Parameters
InputItIterator type used for the input sequence.
OutputItIterator type used for the output sequence
NeighbourhoodCallable type for obtaining the neighbourhood.
StencilTransformerCallable type for performing the stencil transformation.
OtherInputItsIterator types for additional input sequences.
Parameters
exTBB parallel execution policy object.
firstIterator to the first element in the input sequence.
lastIterator to one past the end of the input sequence.
outIterator to the first element in the output sequence.
transform_opStencil transformation operation.
neighbour_opNeighbourhood operation.
other_firstsIterators to the first element of additional input sequences.