ViennaCL - The Vienna Computing Library
1.5.2
|
Sparse matrix class using the ELLPACK format for storing the nonzeros. More...
#include <ell_matrix.hpp>
Public Types | |
typedef viennacl::backend::mem_handle | handle_type |
typedef scalar< typename viennacl::tools::CHECK_SCALAR_TEMPLATE_ARGUMENT < SCALARTYPE >::ResultType > | value_type |
typedef vcl_size_t | size_type |
Public Member Functions | |
ell_matrix () | |
ell_matrix (viennacl::context ctx) | |
vcl_size_t | internal_size1 () const |
vcl_size_t | internal_size2 () const |
vcl_size_t | size1 () const |
vcl_size_t | size2 () const |
vcl_size_t | internal_maxnnz () const |
vcl_size_t | maxnnz () const |
vcl_size_t | nnz () const |
vcl_size_t | internal_nnz () const |
handle_type & | handle () |
const handle_type & | handle () const |
handle_type & | handle2 () |
const handle_type & | handle2 () const |
Friends | |
template<typename CPU_MATRIX , typename T , unsigned int ALIGN> | |
void | copy (const CPU_MATRIX &cpu_matrix, ell_matrix< T, ALIGN > &gpu_matrix) |
Sparse matrix class using the ELLPACK format for storing the nonzeros.
This format works best for matrices where the number of nonzeros per row is mostly the same. Finite element and finite difference methods on nicely shaped domains often result in such a nonzero pattern. For a matrix
(1 2 0 0 0) (2 3 4 0 0) (0 5 6 0 7) (0 0 8 9 0)
the entries are layed out in chunks of size 3 as (1 2 5 8; 2 3 6 9; 0 4 7 0) Note that this is a 'transposed' representation in order to maximize coalesced memory access.
typedef vcl_size_t size_type |
typedef scalar<typename viennacl::tools::CHECK_SCALAR_TEMPLATE_ARGUMENT<SCALARTYPE>::ResultType> value_type |
ell_matrix | ( | ) | [inline] |
ell_matrix | ( | viennacl::context | ctx | ) | [inline] |
handle_type& handle | ( | ) | [inline] |
const handle_type& handle | ( | ) | const [inline] |
handle_type& handle2 | ( | ) | [inline] |
const handle_type& handle2 | ( | ) | const [inline] |
vcl_size_t internal_maxnnz | ( | ) | const [inline] |
vcl_size_t internal_nnz | ( | ) | const [inline] |
vcl_size_t internal_size1 | ( | ) | const [inline] |
vcl_size_t internal_size2 | ( | ) | const [inline] |
vcl_size_t maxnnz | ( | ) | const [inline] |
vcl_size_t nnz | ( | ) | const [inline] |
vcl_size_t size1 | ( | ) | const [inline] |
vcl_size_t size2 | ( | ) | const [inline] |
void copy | ( | const CPU_MATRIX & | cpu_matrix, |
ell_matrix< T, ALIGN > & | gpu_matrix | ||
) | [friend] |