Namespaces |
| namespace | math |
| | Namespace holding unary math functions for use within the kernel generator.
|
| namespace | result_of |
| | Contains all the meta-functions used within the OpenCL kernel generator.
|
| namespace | tree_utils |
| | Contains helper routines for manipulating expression trees.
|
| namespace | typelist_utils |
| | Contains helper routines for manipulating typelists.
|
Data Structures |
| class | custom_operation |
| | A class for making a custom operation. More...
|
| struct | elementwise_modifier_impl |
| | Implementation of the elementwise_modifier. More...
|
| struct | elementwise_modifier |
| struct | get_head |
| struct | get_head< typelist< Head, Tail > > |
| struct | transform_inner_prod |
| | Helper for register_kernels. Transform inner_product into phase 1 of inner_product implementation. More...
|
| struct | transform_inner_prod< compound_node< LHS, inner_prod_type, RHS > > |
| struct | register_kernels< typelist< Head, Tail >, Res, CurrentIndex > |
| struct | register_kernels< NullType, Res, CurrentIndex > |
| struct | program_infos |
| | functor to get the information necessary to create a program More...
|
| struct | inner_prod_impl_t |
| struct | make_expression_code |
| | Inline code for an expression from scalars. More...
|
| struct | make_expression_code< symbolic_constant< VAL > > |
| struct | make_expression_code< inner_prod_impl_t< T > > |
| struct | make_expression_code< cpu_symbolic_scalar< ID, SCALARTYPE > > |
| struct | make_expression_code< gpu_symbolic_scalar< ID, SCALARTYPE > > |
| struct | make_expression_code< compound_node< LHS, inner_prod_type, RHS > > |
| struct | make_expression_code< NullType > |
| struct | make_expression_code< elementwise_modifier< T > > |
| struct | make_expression_code< compound_node< LHS, OP, RHS > > |
| struct | dot_product_impl |
| struct | dot_product_impl< LHS, RHS, 8 > |
| struct | dot_product_impl< LHS, RHS, 16 > |
| struct | dot_product |
| struct | dot_product< LHS, symbolic_constant< 1 > > |
| struct | make_expression_code< compound_node< LHS, prod_type, RHS > > |
| struct | make_code< NullType > |
| struct | make_code< ArithmeticToken< EXPR > > |
| struct | make_code< InProdToken< T, 1 > > |
| struct | make_code< InProdToken< T, 0 > > |
| struct | make_code< MatVecToken< T, OP, Assigned > > |
| struct | make_code< MatMatToken< T, OP, Assigned > > |
| struct | typelist |
| struct | is_typelist |
| struct | is_typelist< typelist< Head, Tail > > |
| struct | NullType |
| struct | Int2Type |
| struct | get_type_if |
| struct | get_type_if< TypeTrue, TypeFalse, false > |
| struct | are_same_type |
| struct | are_same_type< T, T > |
| struct | enable_if_c |
| struct | enable_if_c< false, T > |
| struct | enable_if |
| struct | disable_if_c |
| struct | disable_if_c< true, T > |
| struct | disable_if |
| struct | print_align1_type< int > |
| struct | print_align1_type< unsigned int > |
| struct | print_align1_type< long > |
| struct | print_align1_type< unsigned long > |
| struct | print_align1_type< float > |
| struct | print_align1_type< double > |
| struct | print_aligned_type |
| struct | print_aligned_type< T, 1 > |
| struct | print_type |
| struct | print_type< T *, ALIGNMENT > |
| struct | assign_type |
| struct | add_type |
| struct | inplace_add_type |
| struct | sub_type |
| struct | inplace_sub_type |
| struct | scal_mul_type |
| struct | inplace_scal_mul_type |
| struct | scal_div_type |
| struct | inplace_scal_div_type |
| struct | inner_prod_type |
| struct | prod_type |
| struct | elementwise_prod_type |
| struct | elementwise_div_type |
| struct | make_inplace |
| struct | make_inplace< add_type > |
| struct | make_inplace< sub_type > |
| struct | make_inplace< scal_mul_type > |
| struct | make_inplace< scal_div_type > |
| struct | CHECK_ALIGNMENT_COMPATIBILITY |
| struct | CHECK_ALIGNMENT_COMPATIBILITY< LHS, symbolic_constant< val > > |
| struct | CHECK_ALIGNMENT_COMPATIBILITY< symbolic_constant< val >, RHS > |
| class | symbolic_constant |
| | Symbolic constant. Used for elementwise operations. More...
|
| class | cpu_symbolic_scalar |
| | Symbolic scalar type. Will be passed by value. More...
|
| class | gpu_symbolic_scalar |
| | Symbolic scalar type. Will be passed by pointer. More...
|
| class | symbolic_vector |
| | Symbolic vector type. More...
|
| class | symbolic_matrix |
| | Symbolic matrix type. More...
|
| class | compound_node |
| | Binary node class for storing expression trees. More...
|
| class | compound_node< LHS_, inner_prod_type, RHS_ > |
| class | compound_node< LHS_, prod_type, RHS_ > |
| | Specialization for the matrix-vector product. More...
|
| struct | Token |
| | Base structure for representing Token. More...
|
| struct | MatMatToken |
| | Base structure for representing Matrix-Matrix Product token. More...
|
| struct | MatVecToken |
| | Base structure for representing Matrix-Vector Product token. More...
|
| struct | InProdToken |
| | Base structure for representing Inner Product token. More...
|
| struct | ArithmeticToken |
| struct | get_operations_lhs |
| struct | get_operations_lhs< T, typename viennacl::enable_if< result_of::is_assignment_compound< T >::value >::type > |
| struct | get_operations_lhs< typelist< Head, Tail > > |
| struct | body_code |
| | Functor to generates the body code of a kernel from a typelist of expressions. More...
|
| struct | repeater_impl |
| struct | get_operations_from_expressions< typelist< Head, Tail > > |
| struct | get_operations_from_expressions< typelist< repeater_impl< Bound, Operations >, Tail > > |
| struct | get_operations_from_expressions< NullType > |
Typedefs |
typedef std::multimap
< std::string, std::pair
< unsigned int,
viennacl::tools::shared_ptr
< result_of::runtime_wrapper > > > | runtime_wrappers_t |
Functions |
| void | enqueue_custom_op (viennacl::generator::custom_operation &op, viennacl::ocl::command_queue const &) |
| template<class T > |
| std::string | to_string (T const t) |
| std::string | to_string (viennacl::row_major const) |
| std::string | to_string (viennacl::column_major const) |
| template<class T > |
enable_if_c
< result_of::is_symbolic_expression
< T >::value, compound_node
< NullType, sub_type, T >
>::type | operator- (T const &) |
| | Unary minus operator.
|
| template<class LHS_TYPE , class RHS_TYPE > |
enable_if_c
< result_of::is_scalar_expression
< LHS_TYPE >::value||result_of::is_scalar_expression
< RHS_TYPE >::value,
compound_node< LHS_TYPE,
scal_mul_type, RHS_TYPE >
>::type | operator* (LHS_TYPE const &, RHS_TYPE const &) |
| | Scalar multiplication operator.
|
| template<long VAL, class RHS_TYPE > |
compound_node
< symbolic_constant< VAL >
, elementwise_prod_type,
RHS_TYPE > | operator* (symbolic_constant< VAL > const &, RHS_TYPE const &) |
| | Elementwise Scalar multiplication operators with a constant.
|
| template<class LHS_TYPE , long VAL> |
compound_node< LHS_TYPE,elementwise_prod_type,
symbolic_constant< VAL > > | operator* (LHS_TYPE const &, symbolic_constant< VAL > const &) |
| template<class LHS_TYPE , class RHS_TYPE > |
enable_if_c
< result_of::is_scalar_expression
< RHS_TYPE >::value,
compound_node< LHS_TYPE,
scal_div_type, RHS_TYPE >
>::type | operator/ (LHS_TYPE const &, RHS_TYPE const &) |
| | Scalar division operator.
|
| template<long VAL, class RHS_TYPE > |
compound_node
< symbolic_constant< VAL >
, elementwise_div_type,
RHS_TYPE > | operator/ (symbolic_constant< VAL > const &, RHS_TYPE const &) |
| | Elementwise Scalar division operators with a constant.
|
| template<class LHS_TYPE , long VAL> |
compound_node< LHS_TYPE,elementwise_div_type,
symbolic_constant< VAL > > | operator/ (LHS_TYPE const &, symbolic_constant< VAL > const &) |
| template<class LHS_TYPE , class RHS_TYPE > |
enable_if
< result_of::is_same_expression_type
< LHS_TYPE, RHS_TYPE >
, compound_node< LHS_TYPE,
add_type, RHS_TYPE > >::type | operator+ (LHS_TYPE const &, RHS_TYPE const &) |
| | Addition operator on 2 elements of the same type.
|
| template<class LHS_TYPE , class RHS_TYPE > |
enable_if
< result_of::is_same_expression_type
< LHS_TYPE, RHS_TYPE >
, compound_node< LHS_TYPE,
sub_type, RHS_TYPE > >::type | operator- (LHS_TYPE const &, RHS_TYPE const &) |
| | Substraction operator on 2 elements of the same type.
|
| template<class T > |
viennacl::enable_if
< result_of::is_matrix_expression
< T >::value, compound_node< T,
prod_type, symbolic_constant
< 1 > > >::type | sum (T t, symbolic_constant< 1 >) |
| template<class T > |
viennacl::enable_if
< result_of::is_vector_expression
< T >::value, compound_node< T,
inner_prod_type,
symbolic_constant
< 1 > > >::type | sum (T t) |
| template<class Bound , class T , class T2 > |
repeater_impl< Bound,
VIENNACL_TYPELIST2(T, T2) > | repeat (Bound, T, T2) |
| template<class Bound , class T , class T2 , class T3 > |
repeater_impl< Bound,
VIENNACL_TYPELIST3(T, T2, T3) > | repeat (Bound, T, T2, T3) |
| template<class Bound , class T , class T2 , class T3 , class T4 > |
repeater_impl< Bound,
VIENNACL_TYPELIST4(T, T2, T3,
T4) > | repeat (Bound, T, T2, T3, T4) |
| template<class Bound , class T , class T2 , class T3 , class T4 , class T5 > |
repeater_impl< Bound,
VIENNACL_TYPELIST5(T, T2, T3,
T4, T5) > | repeat (Bound, T, T2, T3, T4, T5) |
Variables |
| symbolic_vector< 0, float, 1 > | symv_0_f |
| symbolic_vector< 1, float, 1 > | symv_1_f |
| symbolic_vector< 2, float, 1 > | symv_2_f |
| symbolic_vector< 3, float, 1 > | symv_3_f |
| symbolic_vector< 4, float, 1 > | symv_4_f |
| symbolic_vector< 5, float, 1 > | symv_5_f |
| symbolic_vector< 6, float, 1 > | symv_6_f |
| symbolic_vector< 0, float, 4 > | symv_0_f_4 |
| symbolic_vector< 1, float, 4 > | symv_1_f_4 |
| symbolic_vector< 2, float, 4 > | symv_2_f_4 |
| symbolic_vector< 3, float, 4 > | symv_3_f_4 |
| symbolic_vector< 4, float, 4 > | symv_4_f_4 |
| symbolic_vector< 5, float, 4 > | symv_5_f_4 |
| symbolic_vector< 6, float, 4 > | symv_6_f_4 |
| symbolic_vector< 0, float, 16 > | symv_0_f_16 |
| symbolic_vector< 1, float, 16 > | symv_1_f_16 |
| symbolic_vector< 2, float, 16 > | symv_2_f_16 |
| symbolic_vector< 3, float, 16 > | symv_3_f_16 |
| symbolic_vector< 4, float, 16 > | symv_4_f_16 |
| symbolic_vector< 5, float, 16 > | symv_5_f_16 |
| symbolic_vector< 6, float, 16 > | symv_6_f_16 |
| symbolic_vector< 0, double, 1 > | symv_0_d |
| symbolic_vector< 1, double, 1 > | symv_1_d |
| symbolic_vector< 2, double, 1 > | symv_2_d |
| symbolic_vector< 3, double, 1 > | symv_3_d |
| symbolic_vector< 4, double, 1 > | symv_4_d |
| symbolic_vector< 5, double, 1 > | symv_5_d |
| symbolic_vector< 6, double, 1 > | symv_6_d |
| symbolic_vector< 0, double, 4 > | symv_0_d_4 |
| symbolic_vector< 1, double, 4 > | symv_1_d_4 |
| symbolic_vector< 2, double, 4 > | symv_2_d_4 |
| symbolic_vector< 3, double, 4 > | symv_3_d_4 |
| symbolic_vector< 4, double, 4 > | symv_4_d_4 |
| symbolic_vector< 5, double, 4 > | symv_5_d_4 |
| symbolic_vector< 6, double, 4 > | symv_6_d_4 |
| symbolic_vector< 0, double, 16 > | symv_0_d_16 |
| symbolic_vector< 1, double, 16 > | symv_1_d_16 |
| symbolic_vector< 2, double, 16 > | symv_2_d_16 |
| symbolic_vector< 3, double, 16 > | symv_3_d_16 |
| symbolic_vector< 4, double, 16 > | symv_4_d_16 |
| symbolic_vector< 5, double, 16 > | symv_5_d_16 |
| symbolic_vector< 6, double, 16 > | symv_6_d_16 |
symbolic_matrix< 0, float,
viennacl::row_major, 1 > | symm_0_f |
symbolic_matrix< 1, float,
viennacl::row_major, 1 > | symm_1_f |
symbolic_matrix< 2, float,
viennacl::row_major, 1 > | symm_2_f |
symbolic_matrix< 3, float,
viennacl::row_major, 1 > | symm_3_f |
symbolic_matrix< 4, float,
viennacl::row_major, 1 > | symm_4_f |
symbolic_matrix< 5, float,
viennacl::row_major, 1 > | symm_5_f |
symbolic_matrix< 6, float,
viennacl::row_major, 1 > | symm_6_f |
symbolic_matrix< 0, float,
viennacl::row_major, 16 > | symm_0_f_r_16 |
symbolic_matrix< 1, float,
viennacl::row_major, 16 > | symm_1_f_r_16 |
symbolic_matrix< 2, float,
viennacl::row_major, 16 > | symm_2_f_r_16 |
symbolic_matrix< 3, float,
viennacl::row_major, 16 > | symm_3_f_r_16 |
symbolic_matrix< 4, float,
viennacl::row_major, 16 > | symm_4_f_r_16 |
symbolic_matrix< 5, float,
viennacl::row_major, 16 > | symm_5_f_r_16 |
symbolic_matrix< 6, float,
viennacl::row_major, 16 > | symm_6_f_r_16 |
symbolic_matrix< 0, double,
viennacl::row_major, 1 > | symm_0_d |
symbolic_matrix< 1, double,
viennacl::row_major, 1 > | symm_1_d |
symbolic_matrix< 2, double,
viennacl::row_major, 1 > | symm_2_d |
symbolic_matrix< 3, double,
viennacl::row_major, 1 > | symm_3_d |
symbolic_matrix< 4, double,
viennacl::row_major, 1 > | symm_4_d |
symbolic_matrix< 5, double,
viennacl::row_major, 1 > | symm_5_d |
symbolic_matrix< 6, double,
viennacl::row_major, 1 > | symm_6_d |
symbolic_matrix< 0, double,
viennacl::row_major, 16 > | symm_0_d_r_16 |
symbolic_matrix< 1, double,
viennacl::row_major, 16 > | symm_1_d_r_16 |
symbolic_matrix< 2, double,
viennacl::row_major, 16 > | symm_2_d_r_16 |
symbolic_matrix< 3, double,
viennacl::row_major, 16 > | symm_3_d_r_16 |
symbolic_matrix< 4, double,
viennacl::row_major, 16 > | symm_4_d_r_16 |
symbolic_matrix< 5, double,
viennacl::row_major, 16 > | symm_5_d_r_16 |
symbolic_matrix< 6, double,
viennacl::row_major, 16 > | symm_6_d_r_16 |
symbolic_matrix< 0, float,
viennacl::column_major, 1 > | symm_0_f_c |
symbolic_matrix< 1, float,
viennacl::column_major, 1 > | symm_1_f_c |
symbolic_matrix< 2, float,
viennacl::column_major, 1 > | symm_2_f_c |
symbolic_matrix< 3, float,
viennacl::column_major, 1 > | symm_3_f_c |
symbolic_matrix< 4, float,
viennacl::column_major, 1 > | symm_4_f_c |
symbolic_matrix< 5, float,
viennacl::column_major, 1 > | symm_5_f_c |
symbolic_matrix< 6, float,
viennacl::column_major, 1 > | symm_6_f_c |
symbolic_matrix< 0, float,
viennacl::column_major, 16 > | symm_0_f_c_16 |
symbolic_matrix< 1, float,
viennacl::column_major, 16 > | symm_1_f_c_16 |
symbolic_matrix< 2, float,
viennacl::column_major, 16 > | symm_2_f_c_16 |
symbolic_matrix< 3, float,
viennacl::column_major, 16 > | symm_3_f_c_16 |
symbolic_matrix< 4, float,
viennacl::column_major, 16 > | symm_4_f_c_16 |
symbolic_matrix< 5, float,
viennacl::column_major, 16 > | symm_5_f_c_16 |
symbolic_matrix< 6, float,
viennacl::column_major, 16 > | symm_6_f_c_16 |
symbolic_matrix< 0, double,
viennacl::column_major, 1 > | symm_0_d_c |
symbolic_matrix< 1, double,
viennacl::column_major, 1 > | symm_1_d_c |
symbolic_matrix< 2, double,
viennacl::column_major, 1 > | symm_2_d_c |
symbolic_matrix< 3, double,
viennacl::column_major, 1 > | symm_3_d_c |
symbolic_matrix< 4, double,
viennacl::column_major, 1 > | symm_4_d_c |
symbolic_matrix< 5, double,
viennacl::column_major, 1 > | symm_5_d_c |
symbolic_matrix< 6, double,
viennacl::column_major, 1 > | symm_6_d_c |
symbolic_matrix< 0, double,
viennacl::column_major, 16 > | symm_0_d_c_16 |
symbolic_matrix< 1, double,
viennacl::column_major, 16 > | symm_1_d_c_16 |
symbolic_matrix< 2, double,
viennacl::column_major, 16 > | symm_2_d_c_16 |
symbolic_matrix< 3, double,
viennacl::column_major, 16 > | symm_3_d_c_16 |
symbolic_matrix< 4, double,
viennacl::column_major, 16 > | symm_4_d_c_16 |
symbolic_matrix< 5, double,
viennacl::column_major, 16 > | symm_5_d_c_16 |
symbolic_matrix< 6, double,
viennacl::column_major, 16 > | symm_6_d_c_16 |
| cpu_symbolic_scalar< 0, float > | c_syms_0_f |
| cpu_symbolic_scalar< 1, float > | c_syms_1_f |
| cpu_symbolic_scalar< 2, float > | c_syms_2_f |
| cpu_symbolic_scalar< 3, float > | c_syms_3_f |
| cpu_symbolic_scalar< 4, float > | c_syms_4_f |
| cpu_symbolic_scalar< 5, float > | c_syms_5_f |
| cpu_symbolic_scalar< 6, float > | c_syms_6_f |
| cpu_symbolic_scalar< 0, double > | c_syms_0_d |
| cpu_symbolic_scalar< 1, double > | c_syms_1_d |
| cpu_symbolic_scalar< 2, double > | c_syms_2_d |
| cpu_symbolic_scalar< 3, double > | c_syms_3_d |
| cpu_symbolic_scalar< 4, double > | c_syms_4_d |
| cpu_symbolic_scalar< 5, double > | c_syms_5_d |
| cpu_symbolic_scalar< 6, double > | c_syms_6_d |
| gpu_symbolic_scalar< 0, float > | syms_0_f |
| gpu_symbolic_scalar< 1, float > | syms_1_f |
| gpu_symbolic_scalar< 2, float > | syms_2_f |
| gpu_symbolic_scalar< 3, float > | syms_3_f |
| gpu_symbolic_scalar< 4, float > | syms_4_f |
| gpu_symbolic_scalar< 5, float > | syms_5_f |
| gpu_symbolic_scalar< 6, float > | syms_6_f |
| gpu_symbolic_scalar< 0, double > | syms_0_d |
| gpu_symbolic_scalar< 1, double > | syms_1_d |
| gpu_symbolic_scalar< 2, double > | syms_2_d |
| gpu_symbolic_scalar< 3, double > | syms_3_d |
| gpu_symbolic_scalar< 4, double > | syms_4_d |
| gpu_symbolic_scalar< 5, double > | syms_5_d |
| gpu_symbolic_scalar< 6, double > | syms_6_d |
enable_if
< result_of::is_same_expression_type
< LHS, RHS >, compound_node
< LHS, inner_prod_type, RHS >
>::type | inner_prod (LHS, RHS) |
| | Inner product operator.
|
compound_node< LHS, prod_type,
RHS > | prod (LHS, RHS) |
| | Product operator.
|
compound_node< LHS,
elementwise_prod_type, RHS > | element_prod (LHS, RHS) |
compound_node< LHS,
elementwise_div_type, RHS > | element_div (LHS, RHS) |
repeater_impl< Bound,
VIENNACL_TYPELIST1(T) > | repeat (Bound, T) |