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...

`#include "viennacl/tools/tools.hpp"`
`#include "viennacl/ocl/kernel.hpp"`
`#include "viennacl/ocl/platform.hpp"`
`#include "viennacl/ocl/utils.hpp"`
`#include "viennacl/linalg/opencl/common.hpp"`

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.