ViennaCL - The Vienna Computing Library
1.5.0
|
Forwards declaration. More...
#include <map>
#include <set>
#include <list>
#include <stdexcept>
#include "viennacl/tools/shared_ptr.hpp"
#include "viennacl/scheduler/forwards.h"
Go to the source code of this file.
Data Structures | |
struct | expression_descriptor |
A class for holding meta information such as the type or the underlying scalar type of an expression (such as x = inner_prod(y, z)). More... | |
Namespaces | |
namespace | viennacl |
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them. | |
namespace | viennacl::generator |
Provides an OpenCL kernel generator. | |
namespace | viennacl::generator::utils |
Contains various helper routines for kernel generation. | |
namespace | viennacl::generator::detail |
Contains implementation details of the kernel generator. | |
Typedefs | |
typedef std::pair < expression_type, vcl_size_t > | expression_key_type |
typedef std::pair < viennacl::scheduler::statement_node const *, node_type > | key_type |
typedef tools::shared_ptr < detail::mapped_object > | container_ptr_type |
typedef std::map< key_type, container_ptr_type > | mapping_type |
Enumerations | |
enum | expression_type_family { SCALAR_SAXPY_FAMILY, VECTOR_SAXPY_FAMILY, MATRIX_SAXPY_FAMILY, SCALAR_REDUCE_FAMILY, VECTOR_REDUCE_FAMILY, MATRIX_PRODUCT_FAMILY, INVALID_EXPRESSION_FAMILY } |
enum | expression_type { SCALAR_SAXPY_TYPE, VECTOR_SAXPY_TYPE, MATRIX_SAXPY_TYPE, SCALAR_REDUCE_TYPE, VECTOR_REDUCE_Nx_TYPE, VECTOR_REDUCE_Tx_TYPE, MATRIX_PRODUCT_NN_TYPE, MATRIX_PRODUCT_TN_TYPE, MATRIX_PRODUCT_NT_TYPE, MATRIX_PRODUCT_TT_TYPE, INVALID_EXPRESSION_TYPE } |
enum | node_type { LHS_NODE_TYPE, PARENT_NODE_TYPE, RHS_NODE_TYPE } |
Functions | |
void | generate_enqueue_statement (viennacl::scheduler::statement const &s, scheduler::statement_node const &root_node) |
Generate and enqueue a statement plus root_node into the current queue. | |
void | generate_enqueue_statement (viennacl::scheduler::statement const &s) |
Generate and enqueue a statement into the current queue, assumes the root_node is the first node of the statement. | |
const char * | expression_type_to_string (expression_type type) |
template<typename KeyT , typename ValueT > | |
ValueT const & | at (std::map< KeyT, ValueT > const &map, KeyT const &key) |
Emulation of C++11's .at() member for std::map<> | |
std::string | generate (std::pair< std::string, std::string > const &index, int vector_element, mapped_object const &s) |
const char * | generate (viennacl::scheduler::operation_node_type type) |
generate a string from an operation_node_type |
Forwards declaration.