VisionCpp
0.0.1
|
the definition is in VirtualMemory More...
#include <mem_virtual.hpp>
Public Types | |
using | Type = typename Node::Type |
using | Scalar = typename Type::Scalar |
using | ElementType = typename Type::ElementType |
template<cl::sycl::access::mode acMd> | |
using | Accessor = typename Type::template Accessor< acMd > |
using | syclBuffer = Node |
Public Member Functions | |
VirtualMemory (Node nd) | |
template<bool ForcedToExec, size_t LC1, size_t LR1, size_t LRT1, size_t LCT1, typename DeviceT > | |
internal::LeafNode< Type, Level > | sub_expression_evaluation (const DeviceT &dev) |
sub_expression_evaluation More... | |
Public Attributes | |
Node | subTree |
Static Public Attributes | |
static constexpr bool | policyType = PlcType |
static constexpr size_t | Rows = Type::Rows |
static constexpr size_t | Cols = Type::Cols |
static constexpr size_t | Channels = Type::Channels |
static constexpr size_t | LeafType = Type::LeafType |
static constexpr bool | SubExpressionEvaluationNeeded = true |
static constexpr size_t | Level = Node::Level |
the definition is in VirtualMemory
VirtualMemory struct is nothing but a future LeafNode representing the result of the subexpression passed to it to be executed.
It is used by the user to schedule any arbitrary subexpression to be executed in a separate kernel. This will allow a user to manually break the expression tree at compile time. template parameters
PlcType | represent the policyType for executing the subexpression |
Node | the subexpression tree needed to be executed template parameters: |
LC | is the column size of local memory |
LR | is the row size of local memory |
LCT | is the column size of workgroup |
LRT | is the row size of workgroup |
Definition at line 48 of file mem_virtual.hpp.
using visioncpp::internal::VirtualMemory< PlcType, Node, LC, LR, LCT, LRT >::Accessor = typename Type::template Accessor<acMd> |
Definition at line 54 of file mem_virtual.hpp.
using visioncpp::internal::VirtualMemory< PlcType, Node, LC, LR, LCT, LRT >::ElementType = typename Type::ElementType |
Definition at line 52 of file mem_virtual.hpp.
using visioncpp::internal::VirtualMemory< PlcType, Node, LC, LR, LCT, LRT >::Scalar = typename Type::Scalar |
Definition at line 51 of file mem_virtual.hpp.
using visioncpp::internal::VirtualMemory< PlcType, Node, LC, LR, LCT, LRT >::syclBuffer = Node |
Definition at line 62 of file mem_virtual.hpp.
using visioncpp::internal::VirtualMemory< PlcType, Node, LC, LR, LCT, LRT >::Type = typename Node::Type |
Definition at line 50 of file mem_virtual.hpp.
|
inline |
Definition at line 63 of file mem_virtual.hpp.
|
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:
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 function parameters: |
dev | : the selected device for executing the expression |
Definition at line 86 of file mem_virtual.hpp.
References visioncpp::internal::VirtualMemory< PlcType, Node, LC, LR, LCT, LRT >::Level, and visioncpp::internal::VirtualMemory< PlcType, Node, LC, LR, LCT, LRT >::subTree.
|
staticconstexpr |
Definition at line 57 of file mem_virtual.hpp.
|
staticconstexpr |
Definition at line 56 of file mem_virtual.hpp.
|
staticconstexpr |
Definition at line 58 of file mem_virtual.hpp.
|
staticconstexpr |
Definition at line 60 of file mem_virtual.hpp.
Referenced by visioncpp::internal::VirtualMemory< PlcType, Node, LC, LR, LCT, LRT >::sub_expression_evaluation().
|
staticconstexpr |
Definition at line 49 of file mem_virtual.hpp.
|
staticconstexpr |
Definition at line 55 of file mem_virtual.hpp.
|
staticconstexpr |
Definition at line 59 of file mem_virtual.hpp.
Node visioncpp::internal::VirtualMemory< PlcType, Node, LC, LR, LCT, LRT >::subTree |
Definition at line 61 of file mem_virtual.hpp.
Referenced by visioncpp::internal::VirtualMemory< PlcType, Node, LC, LR, LCT, LRT >::sub_expression_evaluation().