ViennaCL - The Vienna Computing Library  1.7.1
Free open-source GPU-accelerated linear algebra and solver library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
compressed_matrix.hpp File Reference

OpenCL kernel file for compressed_matrix operations. More...

Go to the source code of this file.

Classes

struct  viennacl::linalg::opencl::kernels::compressed_matrix< NumericT >
 Main kernel class for generating OpenCL kernels for compressed_matrix (except solvers). More...
 
struct  viennacl::linalg::opencl::kernels::compressed_matrix_solve< NumericT >
 Main kernel class for triangular solver OpenCL kernels for compressed_matrix. More...
 

Namespaces

 viennacl
 Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
 
 viennacl::linalg
 Provides all linear algebra operations which are not covered by operator overloads.
 
 viennacl::linalg::opencl
 Holds all routines providing OpenCL linear algebra operations.
 
 viennacl::linalg::opencl::kernels
 Contains the OpenCL kernel generation functions for a predefined set of functionality.
 
 viennacl::linalg::opencl::kernels::detail
 Implementation details for the predefined OpenCL kernels.
 

Functions

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_block_trans_lu_backward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_block_trans_unit_lu_forward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::detail::generate_compressed_matrix_dense_matrix_mult (StringT &source, std::string const &numeric_string, bool B_transposed, bool B_row_major, bool C_row_major)
 Generate kernel for C = A * B with A being a compressed_matrix, B and C dense. More...
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_dense_matrix_multiplication (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_jacobi (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_lu_backward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_lu_forward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_row_info_extractor (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_trans_lu_backward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_trans_lu_forward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_trans_unit_lu_backward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_trans_unit_lu_forward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_trans_unit_lu_forward_slow (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_unit_lu_backward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_unit_lu_forward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_vec_mul_nvidia (StringT &source, std::string const &numeric_string, unsigned int subwarp_size, bool with_alpha_beta)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_vec_mul (StringT &source, std::string const &numeric_string, bool with_alpha_beta)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_vec_mul4 (StringT &source, std::string const &numeric_string, bool with_alpha_beta)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_vec_mul8 (StringT &source, std::string const &numeric_string, bool with_alpha_beta)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_vec_mul_cpu (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_compressed_matrix_prod_1 (StringT &source)
 OpenCL kernel for the first stage of sparse matrix-matrix multiplication. More...
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_compressed_matrix_prod_decompose_1 (StringT &source)
 OpenCL kernel for decomposing A in C = A * B, such that A = A_2 * G_1 with G_1 containing at most 32 nonzeros per row. More...
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_compressed_matrix_prod_A2 (StringT &source, std::string const &numeric_string)
 OpenCL kernel for filling A_2 in the decomposition A = A_2 * G_1, with G_1 containing at most 32 nonzeros per row. More...
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_compressed_matrix_prod_G1 (StringT &source, std::string const &numeric_string)
 OpenCL kernel for filling G_1 in the decomposition A = A_2 * G_1, with G_1 containing at most 32 nonzeros per row. More...
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_compressed_matrix_prod_2 (StringT &source)
 OpenCL kernel for the second stage of sparse matrix-matrix multiplication. More...
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_compressed_matrix_prod_3 (StringT &source, std::string const &numeric_string)
 OpenCL kernel for the third stage of sparse matrix-matrix multiplication. More...
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_compressed_matrix_prod (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_assign_to_dense (StringT &source, std::string const &numeric_string)
 

Detailed Description

OpenCL kernel file for compressed_matrix operations.

Definition in file compressed_matrix.hpp.