24 #ifndef VISIONCPP_INCLUDE_FRAMEWORK_EXPR_CONVERTOR_EXTRACT_ACCESSORS_HPP_
25 #define VISIONCPP_INCLUDE_FRAMEWORK_EXPR_CONVERTOR_EXTRACT_ACCESSORS_HPP_
36 template <
size_t Category,
typename Expr>
41 template <
typename RHS,
size_t LVL>
46 typename RHS::template Accessor<cl::sycl::access::mode::read>>
49 .template get_device_accessor<cl::sycl::access::mode::read>(cgh);
54 typename RHS::template Accessor<cl::sycl::access::mode::write>>
57 .template get_device_accessor<cl::sycl::access::mode::write>(cgh);
62 typename RHS::template Accessor<cl::sycl::access::mode::discard_write>>
65 .template get_device_accessor<cl::sycl::access::mode::discard_write>(
72 template <
typename Expr>
74 static auto getTuple(cl::sycl::handler &cgh, Expr &expr)
76 typename Expr::RHSExpr>::getTuple(cgh,
80 typename Expr::RHSExpr>::getTuple(cgh, expr.rhs);
87 template <
typename Expr>
89 static auto getTuple(cl::sycl::handler &cgh, Expr &expr)
92 typename Expr::LHSExpr>::getTuple(cgh, expr.lhs),
94 typename Expr::RHSExpr>::getTuple(cgh, expr.rhs))) {
97 typename Expr::LHSExpr>::getTuple(cgh, expr.lhs);
100 typename Expr::RHSExpr>::getTuple(cgh, expr.rhs);
107 template <
typename LHSExpr,
typename RHSExpr,
size_t Cols,
size_t Rows,
108 size_t LeafType,
size_t LVL>
110 Assign<LHSExpr, RHSExpr, Cols, Rows, LeafType, LVL>> {
112 cl::sycl::handler &cgh,
130 template <
typename LHSExpr,
typename RHSExpr,
size_t Cols,
size_t Rows,
131 size_t OffsetColIn,
size_t OffsetRowIn,
size_t OffsetColOut,
132 size_t OffsetRowOut,
size_t LeafType,
size_t LVL>
135 ParallelCopy<LHSExpr, RHSExpr, Cols, Rows, OffsetColIn, OffsetRowIn,
136 OffsetColOut, OffsetRowOut, LeafType, LVL>> {
138 cl::sycl::handler &cgh,
139 ParallelCopy<LHSExpr, RHSExpr, Cols, Rows, OffsetColIn, OffsetRowIn,
140 OffsetColOut, OffsetRowOut, LeafType, LVL> &expr)
156 template <
typename Expr>
static constexpr size_t Unary
static constexpr size_t Binary
auto extract_accessors(cl::sycl::handler &cgh, Expr e) -> decltype(internal::ExtractAccessor< Expr::ND_Category, Expr >::getTuple(cgh, e))
The definition is in Assign file.
the definition is in LeafNode.
The definition is in ParallelCopy file.