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
viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT > Class Template Reference

Sparse matrix class using a hybrid format composed of the ELL and CSR format for storing the nonzeros. More...

#include <forwards.h>

Public Types

typedef
viennacl::backend::mem_handle 
handle_type
 
typedef scalar< typename
viennacl::tools::CHECK_SCALAR_TEMPLATE_ARGUMENT
< NumericT >::ResultType > 
value_type
 

Public Member Functions

 hyb_matrix ()
 
 hyb_matrix (viennacl::context ctx)
 
void clear ()
 Resets all entries in the matrix back to zero without changing the matrix size. Resets the sparsity pattern. More...
 
NumericT csr_threshold () const
 
void csr_threshold (NumericT thr)
 
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_ellnnz () const
 
vcl_size_t ell_nnz () const
 
vcl_size_t csr_nnz () const
 
const handle_typehandle () const
 
const handle_typehandle2 () const
 
const handle_typehandle3 () const
 
const handle_typehandle4 () const
 
const handle_typehandle5 () const
 

Friends

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

Detailed Description

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
class viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >

Sparse matrix class using a hybrid format composed of the ELL and CSR format for storing the nonzeros.

Definition at line 406 of file forwards.h.

Member Typedef Documentation

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
typedef viennacl::backend::mem_handle viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::handle_type

Definition at line 41 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
typedef scalar<typename viennacl::tools::CHECK_SCALAR_TEMPLATE_ARGUMENT<NumericT>::ResultType> viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::value_type

Definition at line 42 of file hyb_matrix.hpp.

Constructor & Destructor Documentation

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::hyb_matrix ( )
inline

Definition at line 44 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::hyb_matrix ( viennacl::context  ctx)
inline

Definition at line 46 of file hyb_matrix.hpp.

Member Function Documentation

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
void viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::clear ( )
inline

Resets all entries in the matrix back to zero without changing the matrix size. Resets the sparsity pattern.

Definition at line 69 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
vcl_size_t viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::csr_nnz ( ) const
inline

Definition at line 103 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
NumericT viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::csr_threshold ( ) const
inline

Definition at line 92 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
void viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::csr_threshold ( NumericT  thr)
inline

Definition at line 93 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
vcl_size_t viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::ell_nnz ( ) const
inline

Definition at line 102 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
const handle_type& viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::handle ( ) const
inline

Definition at line 105 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
const handle_type& viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::handle2 ( ) const
inline

Definition at line 106 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
const handle_type& viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::handle3 ( ) const
inline

Definition at line 107 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
const handle_type& viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::handle4 ( ) const
inline

Definition at line 108 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
const handle_type& viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::handle5 ( ) const
inline

Definition at line 109 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
vcl_size_t viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::internal_ellnnz ( ) const
inline

Definition at line 101 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
vcl_size_t viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::internal_size1 ( ) const
inline

Definition at line 95 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
vcl_size_t viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::internal_size2 ( ) const
inline

Definition at line 96 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
vcl_size_t viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::size1 ( ) const
inline

Definition at line 98 of file hyb_matrix.hpp.

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
vcl_size_t viennacl::hyb_matrix< SCALARTYPE, ALIGNMENT >::size2 ( ) const
inline

Definition at line 99 of file hyb_matrix.hpp.

Friends And Related Function Documentation

template<class SCALARTYPE, unsigned int ALIGNMENT = 1>
template<typename CPUMatrixT , typename T , unsigned int ALIGN>
void copy ( const CPUMatrixT &  cpu_matrix,
hyb_matrix< T, ALIGN > &  gpu_matrix 
)
friend

The documentation for this class was generated from the following files: