ViennaCL - The Vienna Computing Library
1.5.1
|
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) |
Helper functions for OpenCL-accelerated linear algebra operations.
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 | |||
) |
cl_uint viennacl::linalg::opencl::detail::get_option_for_solver_tag | ( | viennacl::linalg::upper_tag | ) | [inline] |
cl_uint viennacl::linalg::opencl::detail::get_option_for_solver_tag | ( | viennacl::linalg::unit_upper_tag | ) | [inline] |
cl_uint viennacl::linalg::opencl::detail::get_option_for_solver_tag | ( | viennacl::linalg::lower_tag | ) | [inline] |
cl_uint viennacl::linalg::opencl::detail::get_option_for_solver_tag | ( | viennacl::linalg::unit_lower_tag | ) | [inline] |
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 | ||
) |
viennacl::ocl::packed_cl_uint viennacl::linalg::opencl::detail::make_layout | ( | vector_base< ScalarT > const & | vec | ) |
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.