ViennaCL - The Vienna Computing Library  1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
preset.hpp File Reference

Go to the source code of this file.

Namespaces

 viennacl
 Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
 
 viennacl::scheduler
 Contains the scheduling functionality which allows for dynamic kernel generation as well as the fusion of multiple statements into a single kernel.
 
 viennacl::scheduler::preset
 

Functions

template<typename NumericT , typename ScalarT1 , typename ScalarT2 >
scheduler::statement viennacl::scheduler::preset::avbv (scheduler::operation_node_type ASSIGN_OP, NumericT const *x, NumericT const *y, ScalarT1 const *a, bool flip_a, bool reciprocal_a, NumericT const *z, ScalarT2 const *b, bool flip_b, bool reciprocal_b)
 
template<typename NumericT , typename ScalarT1 >
scheduler::statement viennacl::scheduler::preset::av (scheduler::operation_node_type ASSIGN_OP, NumericT const *x, NumericT const *y, ScalarT1 const *a, bool flip_a, bool reciprocal_a)
 
template<typename NumericT >
device_specific::statements_container viennacl::scheduler::preset::plane_rotation (vector_base< NumericT > const *x, vector_base< NumericT > const *y, NumericT const *a, NumericT const *b)
 
template<typename NumericT >
device_specific::statements_container viennacl::scheduler::preset::swap (NumericT const *x, NumericT const *y)
 
template<typename NumericT >
scheduler::statement viennacl::scheduler::preset::assign_cpu (vector_base< NumericT > const *x, implicit_vector_base< NumericT > const *y)
 
template<typename NumericT >
scheduler::statement viennacl::scheduler::preset::assign_cpu (matrix_base< NumericT > const *x, implicit_matrix_base< NumericT > const *y)
 
template<typename NumericT >
scheduler::statement viennacl::scheduler::preset::diagonal_assign_cpu (matrix_base< NumericT > const *x, implicit_vector_base< NumericT > const *y)
 
template<typename ScalarT , typename NumericT >
scheduler::statement viennacl::scheduler::preset::reduction_inner_prod (ScalarT const *s, vector_base< NumericT > const *x, vector_base< NumericT > const *y, scheduler::operation_node_type ROP, bool use_sqrt, bool x_abs)
 
template<class ScalarT , typename NumericT >
statement viennacl::scheduler::preset::inner_prod (ScalarT const *s, vector_base< NumericT > const *x, vector_base< NumericT > const *y)
 
template<typename NumericT >
statement viennacl::scheduler::preset::norm_1 (scalar< NumericT > const *s, vector_base< NumericT > const *x)
 
template<typename NumericT >
statement viennacl::scheduler::preset::norm_2 (scalar< NumericT > const *s, vector_base< NumericT > const *x)
 
template<typename NumericT >
statement viennacl::scheduler::preset::norm_inf (scalar< NumericT > const *s, vector_base< NumericT > const *x)
 
template<typename NumericT >
statement viennacl::scheduler::preset::index_norm_inf (scalar< NumericT > const *s, vector_base< NumericT > const *x)
 
template<typename NumericT >
statement viennacl::scheduler::preset::sum (scalar< NumericT > const *s, vector_base< NumericT > const *x)
 
template<typename NumericT >
statement viennacl::scheduler::preset::max (scalar< NumericT > const *s, vector_base< NumericT > const *x)
 
template<typename NumericT >
statement viennacl::scheduler::preset::min (scalar< NumericT > const *s, vector_base< NumericT > const *x)
 
template<typename NumericT >
statement viennacl::scheduler::preset::binary_element_op (NumericT const *x, NumericT const *y, NumericT const *z, scheduler::operation_node_type TYPE)
 
template<typename NumericT >
statement viennacl::scheduler::preset::unary_element_op (NumericT const *x, NumericT const *y, scheduler::operation_node_type TYPE)
 
template<typename NumericT , typename IDT >
statement viennacl::scheduler::preset::matrix_row_column_diag (viennacl::vector_base< NumericT > const *x, viennacl::matrix_base< NumericT > const *A, IDT id, unsigned int op)
 
template<typename NumericT >
statement viennacl::scheduler::preset::matrix_row (viennacl::vector_base< NumericT > const *x, viennacl::matrix_base< NumericT > const *A, unsigned int id)
 
template<typename NumericT >
statement viennacl::scheduler::preset::matrix_column (viennacl::vector_base< NumericT > const *x, viennacl::matrix_base< NumericT > const *A, unsigned int id)
 
template<typename NumericT >
statement viennacl::scheduler::preset::matrix_diag_to_vector (viennacl::vector_base< NumericT > const *x, viennacl::matrix_base< NumericT > const *A, int id)
 
template<typename NumericT >
statement viennacl::scheduler::preset::matrix_diag_from_vector (viennacl::vector_base< NumericT > const *x, viennacl::matrix_base< NumericT > const *A, int id)
 
template<typename NumericT >
statement viennacl::scheduler::preset::row_reduction_mat_vec_prod (viennacl::matrix_base< NumericT > const *A, bool A_trans, viennacl::vector_base< NumericT > const *x, viennacl::vector_base< NumericT > const *y, scheduler::operation_node_type ROP)
 
template<typename NumericT >
statement viennacl::scheduler::preset::mat_vec_prod (viennacl::matrix_base< NumericT > const *A, bool A_trans, viennacl::vector_base< NumericT > const *x, viennacl::vector_base< NumericT > const *y)
 
template<typename NumericT >
statement viennacl::scheduler::preset::mat_mat_prod (NumericT alpha, viennacl::matrix_base< NumericT > const *A, bool A_trans, viennacl::matrix_base< NumericT > const *B, bool B_trans, NumericT beta, viennacl::matrix_base< NumericT > const *C)