Contains the scheduling functionality which allows for dynamic kernel generation as well as the fusion of multiple statements into a single kernel. More...
Namespaces | |
detail | |
Implementation details for the scheduler. | |
preset | |
result_of | |
Helper metafunctions used for the scheduler. | |
Classes | |
struct | lhs_rhs_element |
A class representing the 'data' for the LHS or RHS operand of the respective node. More... | |
struct | op_element |
Struct for holding the type family as well as the type of an operation (could be addition, subtraction, norm, etc.) More... | |
class | statement |
The main class for representing a statement such as x = inner_prod(y,z); at runtime. More... | |
struct | statement_node |
Main datastructure for an node in the statement tree. More... | |
class | statement_not_supported_exception |
Exception for the case the scheduler is unable to deal with the operation. More... | |
Functions | |
void | execute (statement const &s) |
void | execute_element_composite (statement const &s, statement_node const &root_node) |
Deals with x = RHS where RHS is a vector expression. More... | |
void | execute_matrix_prod (statement const &s, statement_node const &root_node) |
void | execute_scalar_assign_composite (statement const &s, statement_node const &root_node) |
Deals with x = RHS where RHS is a vector expression. More... | |
std::ostream & | operator<< (std::ostream &os, viennacl::scheduler::statement_node const &s_node) |
Print a single statement_node. Non-recursive. More... | |
std::ostream & | operator<< (std::ostream &os, viennacl::scheduler::statement const &s) |
Writes a string identifying the scheduler statement to an output stream. More... | |
Contains the scheduling functionality which allows for dynamic kernel generation as well as the fusion of multiple statements into a single kernel.
Enumeration for identifying the possible operations.
Definition at line 68 of file forwards.h.
Optimization enum for grouping operations into unary or binary operations. Just for optimization of lookups.
Definition at line 53 of file forwards.h.
Encodes the type of a node in the statement tree.
Enumerator | |
---|---|
INVALID_NUMERIC_TYPE | |
CHAR_TYPE | |
UCHAR_TYPE | |
SHORT_TYPE | |
USHORT_TYPE | |
INT_TYPE | |
UINT_TYPE | |
LONG_TYPE | |
ULONG_TYPE | |
HALF_TYPE | |
FLOAT_TYPE | |
DOUBLE_TYPE |
Definition at line 286 of file forwards.h.
Encodes the type of a node in the statement tree.
Definition at line 264 of file forwards.h.
Groups the type of a node in the statement tree. Used for faster dispatching.
Enumerator | |
---|---|
INVALID_TYPE_FAMILY | |
COMPOSITE_OPERATION_FAMILY | |
SCALAR_TYPE_FAMILY | |
VECTOR_TYPE_FAMILY | |
MATRIX_TYPE_FAMILY |
Definition at line 246 of file forwards.h.
|
inline |
Definition at line 279 of file execute.hpp.
|
inline |
Deals with x = RHS where RHS is a vector expression.
Definition at line 334 of file execute_elementwise.hpp.
|
inline |
Definition at line 300 of file execute_matrix_prod.hpp.
|
inline |
Deals with x = RHS where RHS is a vector expression.
Definition at line 37 of file execute_scalar_assign.hpp.
|
inline |
Print a single statement_node. Non-recursive.
|
inline |