GrPPI  0.2
Generic and Reusable Parallel Pattern Interface
Functions
Native parallel stencil pattern

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

Collaboration diagram for Native parallel stencil pattern:

Functions

template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood >
void grppi::stencil (parallel_execution_native &ex, InputIt first, InputIt last, OutputIt first_out, StencilTransformer transform_op, Neighbourhood neighbour_op)
 Invoke Stencil pattern on a data sequence with native parallel execution. More...
 
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts>
void grppi::stencil (parallel_execution_native &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 native parallel execution. More...
 

Detailed Description

Native parallel implementation of the Stencil pattern.

Function Documentation

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

Invoke Stencil pattern on a data sequence with native 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
exNative 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.
template<typename InputIt , typename OutputIt , typename StencilTransformer , typename Neighbourhood , typename... OtherInputIts>
void grppi::stencil ( parallel_execution_native 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 native 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
exNative 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.