VisionCpp  0.0.1
visioncpp::internal::EvalExpr< Expr, Loc, Params > Struct Template Reference

eval_global_neighbour function: More...

#include <evaluator.hpp>

Collaboration diagram for visioncpp::internal::EvalExpr< Expr, Loc, Params >:

Detailed Description

template<typename Expr, typename Loc, typename... Params>
struct visioncpp::internal::EvalExpr< Expr, Loc, Params >

eval_global_neighbour function:

is used to convert the static expression tree to the runtime the expression tree when it is not a root of an expression tree.

global operation evaluation

Parameters
IsRootcheck whether or not this node should use the global memory as an output memory or a local memory. This is used to avoid the last local memory between assign and the immediate RHS expression in Assign.
Offsetdetermines the starting location of the local output memory in the input tuple.
Indexrepresent the distance of the local memory in the tuple for this node from the Offset.
LCdetermines the local memory column size.
LRdetermines the local memory row size.
Returns
the reference to the output memory block calculated the value.

It is used to calculate the runtime evaluation of the specified operators for each node. The runtime Executor expression tree can be specialised per device through template parameters. Each primary node in an expression tree will have an equivalent node in the evaluation expression tree. An expression tree can be evaluated in three ways, depending on the type of operation it represents. A point operation node is evaluated through eval_point function; a neighbour operation node is evaluated by eval_neighbour; and a global operation node is evaluated by eval_global_neighbour. The specialisation of EvalExpr located on eval_expression folder. Template parameters

Parameters
Exprthe expression node required to be executed.
LocCoordinate of accessing a particular location
paramsthe input/output memories eval_point function: point operation evaluation.
cOffsetcoordinate of accessing a particular location.
ttuple of the input/output memories
Returns
the calculated memory element (pixel)
eval_neighbour function: neighbour operation evaluation.
Parameters
IsRootcheck whether or not this node should use the global memory as an output memory or a local memory. This is used to avoid the last local memory between assign and the immediate RHS expression in Assign.
Halo_Toppass the top side value of halo for row of the local memory
Halo_Leftpass the left side value of halo for column of the local memory
Halo_Buttpass the bottom side value of halo for row of the local memory
Halo_Rightpass the right side value of halo for column of the local memory
Offsetdetermines the starting location of the local output memory in the input tuple.
Indexrepresent the distance of the local memory in the tuple for this node from the Offset.
LCdetermines the local memory column size.
LRdetermines the local memory row size.
Returns
the reference to the output memory block calculated the value.

Definition at line 197 of file evaluator.hpp.


The documentation for this struct was generated from the following file: