Helper functions for OpenCL-accelerated linear algebra operations. More...
Functions | |
template<typename NumericT > | |
ocl::kernel & | legacy_kernel_for_matrix (matrix_base< NumericT > const &M, std::string const &kernel_name) |
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. More... | |
template<typename SomeT > | |
ocl::device const & | current_device (SomeT const &obj) |
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 MatrixT1 , typename MatrixT2 , typename KernelT > | |
void | inplace_solve_impl (MatrixT1 const &A, MatrixT2 &B, KernelT &k) |
template<typename NumericT > | |
void | level_scheduling_substitute (vector< NumericT > &x, 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 NumericT , unsigned int AlignmentV> | |
void | row_info (compressed_matrix< NumericT, AlignmentV > const &A, vector_base< NumericT > &x, viennacl::linalg::detail::row_info_types info_selector) |
template<typename NumericT , unsigned int AlignmentV> | |
void | block_inplace_solve (const matrix_expression< const compressed_matrix< NumericT, AlignmentV >, const compressed_matrix< NumericT, AlignmentV >, op_trans > &L, viennacl::backend::mem_handle const &block_indices, vcl_size_t num_blocks, vector_base< NumericT > const &, vector_base< NumericT > &x, viennacl::linalg::unit_lower_tag) |
template<typename NumericT , unsigned int AlignmentV> | |
void | block_inplace_solve (matrix_expression< const compressed_matrix< NumericT, AlignmentV >, const compressed_matrix< NumericT, AlignmentV >, op_trans > const &U, viennacl::backend::mem_handle const &block_indices, vcl_size_t num_blocks, vector_base< NumericT > const &U_diagonal, vector_base< NumericT > &x, viennacl::linalg::upper_tag) |
template<typename NumericT , unsigned int AlignmentV> | |
void | row_info (coordinate_matrix< NumericT, AlignmentV > const &A, vector_base< NumericT > &x, viennacl::linalg::detail::row_info_types info_selector) |
template<typename NumericT > | |
viennacl::ocl::packed_cl_uint | make_layout (vector_base< NumericT > const &vec) |
Helper functions for OpenCL-accelerated linear algebra operations.
void viennacl::linalg::opencl::detail::block_inplace_solve | ( | const matrix_expression< const compressed_matrix< NumericT, AlignmentV >, const compressed_matrix< NumericT, AlignmentV >, op_trans > & | L, |
viennacl::backend::mem_handle const & | block_indices, | ||
vcl_size_t | num_blocks, | ||
vector_base< NumericT > const & | , | ||
vector_base< NumericT > & | x, | ||
viennacl::linalg::unit_lower_tag | |||
) |
Definition at line 291 of file sparse_matrix_operations.hpp.
void viennacl::linalg::opencl::detail::block_inplace_solve | ( | matrix_expression< const compressed_matrix< NumericT, AlignmentV >, const compressed_matrix< NumericT, AlignmentV >, op_trans > const & | U, |
viennacl::backend::mem_handle const & | block_indices, | ||
vcl_size_t | num_blocks, | ||
vector_base< NumericT > const & | U_diagonal, | ||
vector_base< NumericT > & | x, | ||
viennacl::linalg::upper_tag | |||
) |
Definition at line 314 of file sparse_matrix_operations.hpp.
ocl::device const& viennacl::linalg::opencl::detail::current_device | ( | SomeT const & | obj | ) |
Definition at line 97 of file common.hpp.
|
inline |
Definition at line 41 of file direct_solve.hpp.
|
inline |
Definition at line 42 of file direct_solve.hpp.
|
inline |
Definition at line 43 of file direct_solve.hpp.
|
inline |
Definition at line 44 of file direct_solve.hpp.
void viennacl::linalg::opencl::detail::inplace_solve_impl | ( | MatrixT1 const & | A, |
MatrixT2 & | B, | ||
KernelT & | k | ||
) |
Definition at line 47 of file direct_solve.hpp.
ocl::kernel& viennacl::linalg::opencl::detail::legacy_kernel_for_matrix | ( | matrix_base< NumericT > const & | M, |
std::string const & | kernel_name | ||
) |
Definition at line 43 of file common.hpp.
void viennacl::linalg::opencl::detail::level_scheduling_substitute | ( | vector< NumericT > & | x, |
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 | ||
) |
Definition at line 45 of file misc_operations.hpp.
viennacl::ocl::packed_cl_uint viennacl::linalg::opencl::detail::make_layout | ( | vector_base< NumericT > const & | vec | ) |
Definition at line 208 of file vector_operations.hpp.
|
inline |
Definition at line 63 of file common.hpp.
|
inline |
Definition at line 99 of file common.hpp.
|
inline |
Definition at line 100 of file common.hpp.
|
inline |
Definition at line 101 of file common.hpp.
|
inline |
Definition at line 102 of file common.hpp.
|
inline |
Definition at line 103 of file common.hpp.
|
inline |
Definition at line 104 of file common.hpp.
|
inline |
Definition at line 105 of file common.hpp.
|
inline |
Definition at line 106 of file common.hpp.
|
inline |
Definition at line 107 of file common.hpp.
|
inline |
Definition at line 108 of file common.hpp.
|
inline |
Definition at line 109 of file common.hpp.
|
inline |
Definition at line 110 of file common.hpp.
|
inline |
Definition at line 111 of file common.hpp.
|
inline |
Definition at line 112 of file common.hpp.
|
inline |
Definition at line 113 of file common.hpp.
|
inline |
Definition at line 114 of file common.hpp.
|
inline |
Definition at line 115 of file common.hpp.
void viennacl::linalg::opencl::detail::row_info | ( | compressed_matrix< NumericT, AlignmentV > const & | A, |
vector_base< NumericT > & | x, | ||
viennacl::linalg::detail::row_info_types | info_selector | ||
) |
Definition at line 54 of file sparse_matrix_operations.hpp.
void viennacl::linalg::opencl::detail::row_info | ( | coordinate_matrix< NumericT, AlignmentV > const & | A, |
vector_base< NumericT > & | x, | ||
viennacl::linalg::detail::row_info_types | info_selector | ||
) |
Definition at line 502 of file sparse_matrix_operations.hpp.
|
inline |
Returns the OpenCL kernel string for the operation C = A * B with A sparse, B, C dense matrices.
Definition at line 70 of file common.hpp.