ViennaCL - The Vienna Computing Library  1.5.1
Functions
viennacl::linalg::opencl::detail Namespace Reference

Helper functions for OpenCL-accelerated linear algebra operations. More...

Functions

cl_uint make_options (vcl_size_t length, bool reciprocal, bool flip_sign)
std::string sparse_dense_matmult_kernel_name (bool B_transposed, bool B_row_major, bool C_row_major)
 Returns the OpenCL kernel string for the operation C = A * B with A sparse, B, C dense matrices.
std::string op_to_string (op_abs)
std::string op_to_string (op_acos)
std::string op_to_string (op_asin)
std::string op_to_string (op_atan)
std::string op_to_string (op_ceil)
std::string op_to_string (op_cos)
std::string op_to_string (op_cosh)
std::string op_to_string (op_exp)
std::string op_to_string (op_fabs)
std::string op_to_string (op_floor)
std::string op_to_string (op_log)
std::string op_to_string (op_log10)
std::string op_to_string (op_sin)
std::string op_to_string (op_sinh)
std::string op_to_string (op_sqrt)
std::string op_to_string (op_tan)
std::string op_to_string (op_tanh)
cl_uint get_option_for_solver_tag (viennacl::linalg::upper_tag)
cl_uint get_option_for_solver_tag (viennacl::linalg::unit_upper_tag)
cl_uint get_option_for_solver_tag (viennacl::linalg::lower_tag)
cl_uint get_option_for_solver_tag (viennacl::linalg::unit_lower_tag)
template<typename M1 , typename M2 , typename KernelType >
void inplace_solve_impl (M1 const &A, M2 &B, KernelType &k)
template<typename T1 , typename T2 , typename T3 , typename ScalarType >
void prod_slow_kernel (const T1 &A, const T2 &B, T3 &C, ScalarType alpha, ScalarType beta, std::string kernel_name)
template<typename T1 , typename T2 , typename T3 , typename ScalarType >
void prod_fast_kernel (const T1 &A, const T2 &B, T3 &C, ScalarType alpha, ScalarType beta, std::string kernel_name)
template<typename T1 , typename T2 , typename T3 , typename ScalarType >
void prod (const T1 &A, const T2 &B, T3 &C, ScalarType alpha, ScalarType beta, std::string fast_kernel_name, std::string slow_kernel_name)
template<typename ScalarType >
void level_scheduling_substitute (vector< ScalarType > &vec, viennacl::backend::mem_handle const &row_index_array, viennacl::backend::mem_handle const &row_buffer, viennacl::backend::mem_handle const &col_buffer, viennacl::backend::mem_handle const &element_buffer, vcl_size_t num_rows)
template<typename SCALARTYPE , unsigned int MAT_ALIGNMENT>
void row_info (compressed_matrix< SCALARTYPE, MAT_ALIGNMENT > const &mat, vector_base< SCALARTYPE > &vec, viennacl::linalg::detail::row_info_types info_selector)
template<typename ScalarType , unsigned int MAT_ALIGNMENT>
void block_inplace_solve (const matrix_expression< const compressed_matrix< ScalarType, MAT_ALIGNMENT >, const compressed_matrix< ScalarType, MAT_ALIGNMENT >, op_trans > &L, viennacl::backend::mem_handle const &block_indices, vcl_size_t num_blocks, vector_base< ScalarType > const &, vector_base< ScalarType > &vec, viennacl::linalg::unit_lower_tag)
template<typename ScalarType , unsigned int MAT_ALIGNMENT>
void block_inplace_solve (const matrix_expression< const compressed_matrix< ScalarType, MAT_ALIGNMENT >, const compressed_matrix< ScalarType, MAT_ALIGNMENT >, op_trans > &U, viennacl::backend::mem_handle const &block_indices, vcl_size_t num_blocks, vector_base< ScalarType > const &U_diagonal, vector_base< ScalarType > &vec, viennacl::linalg::upper_tag)
template<typename SCALARTYPE , unsigned int MAT_ALIGNMENT>
void row_info (coordinate_matrix< SCALARTYPE, MAT_ALIGNMENT > const &mat, vector_base< SCALARTYPE > &vec, viennacl::linalg::detail::row_info_types info_selector)
template<typename ScalarT >
viennacl::ocl::packed_cl_uint make_layout (vector_base< ScalarT > const &vec)

Detailed Description

Helper functions for OpenCL-accelerated linear algebra operations.


Function Documentation

void viennacl::linalg::opencl::detail::block_inplace_solve ( const matrix_expression< const compressed_matrix< ScalarType, MAT_ALIGNMENT >, const compressed_matrix< ScalarType, MAT_ALIGNMENT >, op_trans > &  L,
viennacl::backend::mem_handle const &  block_indices,
vcl_size_t  num_blocks,
vector_base< ScalarType > const &  ,
vector_base< ScalarType > &  vec,
viennacl::linalg::unit_lower_tag   
)
void viennacl::linalg::opencl::detail::block_inplace_solve ( const matrix_expression< const compressed_matrix< ScalarType, MAT_ALIGNMENT >, const compressed_matrix< ScalarType, MAT_ALIGNMENT >, op_trans > &  U,
viennacl::backend::mem_handle const &  block_indices,
vcl_size_t  num_blocks,
vector_base< ScalarType > const &  U_diagonal,
vector_base< ScalarType > &  vec,
viennacl::linalg::upper_tag   
)
void viennacl::linalg::opencl::detail::inplace_solve_impl ( M1 const &  A,
M2 &  B,
KernelType &  k 
)
void viennacl::linalg::opencl::detail::level_scheduling_substitute ( vector< ScalarType > &  vec,
viennacl::backend::mem_handle const &  row_index_array,
viennacl::backend::mem_handle const &  row_buffer,
viennacl::backend::mem_handle const &  col_buffer,
viennacl::backend::mem_handle const &  element_buffer,
vcl_size_t  num_rows 
)
cl_uint viennacl::linalg::opencl::detail::make_options ( vcl_size_t  length,
bool  reciprocal,
bool  flip_sign 
) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_abs  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_acos  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_asin  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_atan  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_ceil  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_cos  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_cosh  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_exp  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_fabs  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_floor  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_log  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_log10  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_sin  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_sinh  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_sqrt  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_tan  ) [inline]
std::string viennacl::linalg::opencl::detail::op_to_string ( op_tanh  ) [inline]
void viennacl::linalg::opencl::detail::prod ( const T1 &  A,
const T2 &  B,
T3 &  C,
ScalarType  alpha,
ScalarType  beta,
std::string  fast_kernel_name,
std::string  slow_kernel_name 
)
void viennacl::linalg::opencl::detail::prod_fast_kernel ( const T1 &  A,
const T2 &  B,
T3 &  C,
ScalarType  alpha,
ScalarType  beta,
std::string  kernel_name 
)
void viennacl::linalg::opencl::detail::prod_slow_kernel ( const T1 &  A,
const T2 &  B,
T3 &  C,
ScalarType  alpha,
ScalarType  beta,
std::string  kernel_name 
)
void viennacl::linalg::opencl::detail::row_info ( compressed_matrix< SCALARTYPE, MAT_ALIGNMENT > const &  mat,
vector_base< SCALARTYPE > &  vec,
viennacl::linalg::detail::row_info_types  info_selector 
)
void viennacl::linalg::opencl::detail::row_info ( coordinate_matrix< SCALARTYPE, MAT_ALIGNMENT > const &  mat,
vector_base< SCALARTYPE > &  vec,
viennacl::linalg::detail::row_info_types  info_selector 
)
std::string viennacl::linalg::opencl::detail::sparse_dense_matmult_kernel_name ( bool  B_transposed,
bool  B_row_major,
bool  C_row_major 
) [inline]

Returns the OpenCL kernel string for the operation C = A * B with A sparse, B, C dense matrices.