template<typename FilterOP, size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS, size_t Cols, size_t Rows, size_t LfType, size_t LVL>
struct visioncpp::internal::StnNoFilt< FilterOP, Halo_T, Halo_L, Halo_B, Halo_R, RHS, Cols, Rows, LfType, LVL >
The definition is in StnNoFilt file.
stencil without filter is used to construct a convolutional operation when the value of the filter is fixed and there is no need to pass it as a parameter.
It can be used for NeighbourOP
- Template Parameters
-
FilterOP | convolution functor with no filter parameter |
Halo_T | The top side size of Halo |
Halo_L | The left side size of Halo |
Halo_B | The bottom side size of Halo |
Halo_R | The right side size of Halo |
RHS | is the input |
Cols | determines the column size of the output |
Rows | determines the row size of the output |
LfType | determines the type of the leafNode {Buffer2D, Buffer1D, Host, Image} |
LVL | the level of the node in the expression tree |
Definition at line 50 of file stencil_no_filter.hpp.
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<typename TmpRHS >
using visioncpp::internal::StnNoFilt< FilterOP, Halo_T, Halo_L, Halo_B, Halo_R, RHS, Cols, Rows, LfType, LVL >::ExprExchange = internal::StnNoFilt<FilterOP, Halo_T, Halo_L, Halo_B, Halo_R, TmpRHS, Cols, Rows, LfType, LVL> |
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
Definition at line 80 of file stencil_no_filter.hpp.
References visioncpp::internal::StnNoFilt< FilterOP, Halo_T, Halo_L, Halo_B, Halo_R, RHS, Cols, Rows, LfType, LVL >::rhs, and visioncpp::internal::StnNoFilt< FilterOP, Halo_T, Halo_L, Halo_B, Halo_R, RHS, Cols, Rows, LfType, LVL >::subexpr_execution_reseter.
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<bool ForcedToExec, size_t LC, size_t LR, size_t LCT, size_t LRT, typename DeviceT >
auto visioncpp::internal::StnNoFilt< FilterOP, Halo_T, Halo_L, Halo_B, Halo_R, RHS, Cols, Rows, LfType, LVL >::sub_expression_evaluation |
( |
const DeviceT & |
dev | ) |
-> decltype(execute_expr<Stencil_Conds, ForcedToExec, ExprExchange<RHS>,
LC, LR, LCT, LRT>(
rhs.template sub_expression_evaluation<Stencil_Conds, LC, LR, LRT,
LCT>(dev),
dev)) |
|
inline |
sub_expression_evaluation
This function is used to break the expression tree whenever necessary. The decision for breaking the tree will be determined based on the static parameter called SubExpressionEvaluationNeeded. When this is set to true, the sub_expression_evaluation is called recursively from the root of the tree. Each node based on their parent decision will decide to launch a kernel for itself. Also, they decide for each of their children whether or not to launch a kernel separately. template parameters:
- Template Parameters
-
ForcedToExec | : a boolean value representing the decision made by the parent of this node for launching a kernel. |
LC | is the column size of local memory required by Filter2D and DownSmplOP |
LR | is the row size of local memory required by Filter2D and DownSmplOP |
LCT | is the column size of workgroup |
LRT | is the row size of workgroup |
DeviceT | type representing the device function parameters: |
- Parameters
-
dev | : the selected device for executing the expression |
- Returns
- LeafNode
Definition at line 107 of file stencil_no_filter.hpp.
References visioncpp::internal::StnNoFilt< FilterOP, Halo_T, Halo_L, Halo_B, Halo_R, RHS, Cols, Rows, LfType, LVL >::rhs.
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
constexpr size_t visioncpp::internal::StnNoFilt< FilterOP, Halo_T, Halo_L, Halo_B, Halo_R, RHS, Cols, Rows, LfType, LVL >::Operation_type = FilterOP::Operation_type |
|
staticconstexpr |
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
Definition at line 76 of file stencil_no_filter.hpp.
Referenced by visioncpp::internal::StnNoFilt< FilterOP, Halo_T, Halo_L, Halo_B, Halo_R, RHS, Cols, Rows, LfType, LVL >::reset(), and visioncpp::internal::StnNoFilt< FilterOP, Halo_T, Halo_L, Halo_B, Halo_R, RHS, Cols, Rows, LfType, LVL >::sub_expression_evaluation().
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>
template<typename FilterOP , size_t Halo_T, size_t Halo_L, size_t Halo_B, size_t Halo_R, typename RHS , size_t Cols, size_t Rows, size_t LfType, size_t LVL>