ViennaCL - The Vienna Computing Library  1.5.2
Public Types | Public Member Functions | Friends
ell_matrix< SCALARTYPE, ALIGNMENT > Singleton Reference

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_typehandle ()
 
const handle_typehandle () const
 
handle_typehandle2 ()
 
const handle_typehandle2 () const
 

Friends

template<typename CPU_MATRIX , typename T , unsigned int ALIGN>
void copy (const CPU_MATRIX &cpu_matrix, ell_matrix< T, ALIGN > &gpu_matrix)
 

Detailed Description

template<typename SCALARTYPE, unsigned int ALIGNMENT>
singleton viennacl::ell_matrix< SCALARTYPE, ALIGNMENT >

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.

Member Typedef Documentation

typedef scalar<typename viennacl::tools::CHECK_SCALAR_TEMPLATE_ARGUMENT<SCALARTYPE>::ResultType> value_type

Constructor & Destructor Documentation

ell_matrix ( )
inline
ell_matrix ( viennacl::context  ctx)
inline

Member Function Documentation

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

Friends And Related Function Documentation

void copy ( const CPU_MATRIX &  cpu_matrix,
ell_matrix< T, ALIGN > &  gpu_matrix 
)
friend

The documentation for this singleton was generated from the following file: