All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
viennacl::sliced_ell_matrix< ScalarT, IndexT > Class Template Reference

Sparse matrix class using the sliced ELLPACK with parameters C, . More...

`#include <forwards.h>`

## Public Types

typedef viennacl::backend::mem_handle | handle_type
typedef scalar< typename viennacl::tools::CHECK_SCALAR_TEMPLATE_ARGUMENT < ScalarT >::ResultType > | value_type
typedef vcl_size_t | size_type

## Public Member Functions

| sliced_ell_matrix ()
| sliced_ell_matrix (size_type num_rows, size_type num_cols, size_type num_rows_per_block_=0)
| Standard constructor for setting the row and column sizes as well as the block size. More...
| sliced_ell_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...
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 | rows_per_block () const
handle_type & | handle1 ()
const handle_type & | handle1 () const
handle_type & | handle2 ()
const handle_type & | handle2 () const
handle_type & | handle3 ()
const handle_type & | handle3 () const
handle_type & | handle ()
const handle_type & | handle () const

## Friends

template<typename CPUMatrixT , typename ScalarT2 , typename IndexT2 >
void | copy (CPUMatrixT const &cpu_matrix, sliced_ell_matrix< ScalarT2, IndexT2 > &gpu_matrix)

## Detailed Description

### template<typename ScalarT, typename IndexT = unsigned int>
class viennacl::sliced_ell_matrix< ScalarT, IndexT >

Sparse matrix class using the sliced ELLPACK with parameters C, .

Based on the SELL-C-sigma format provided by Kreutzer et al., 2014 Can be seen as a block-wise ELLPACK format, where C rows are accumulated into the same block for which a column-wise storage is used. Enables fully-coalesced reads from global memory.

Note: Currently is fixed to 1, since the sorting of rows

Definition at line 403 of file forwards.h.

## Member Typedef Documentation

template<typename ScalarT, typename IndexT = unsigned int>

typedef viennacl::backend::mem_handle viennacl::sliced_ell_matrix< ScalarT, IndexT >::handle_type

Definition at line 49 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

typedef vcl_size_t viennacl::sliced_ell_matrix< ScalarT, IndexT >::size_type

Definition at line 51 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

typedef scalar<typename viennacl::tools::CHECK_SCALAR_TEMPLATE_ARGUMENT<ScalarT>::ResultType> viennacl::sliced_ell_matrix< ScalarT, IndexT >::value_type

Definition at line 50 of file sliced_ell_matrix.hpp.

## Constructor & Destructor Documentation

template<typename ScalarT, typename IndexT = unsigned int>

viennacl::sliced_ell_matrix< ScalarT, IndexT >::sliced_ell_matrix | ( |  | ) |

inline explicit

Definition at line 53 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

viennacl::sliced_ell_matrix< ScalarT, IndexT >::sliced_ell_matrix | ( | size_type | num_rows,
|  | size_type | num_cols,
|  | size_type | num_rows_per_block_ = `0`
| ) |  |

inline

Standard constructor for setting the row and column sizes as well as the block size.

Supported values for num_rows_per_block_ are 32, 64, 128, 256. Other values may work, but are unlikely to yield good performance.

Definition at line 59 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

viennacl::sliced_ell_matrix< ScalarT, IndexT >::sliced_ell_matrix | ( | viennacl::context | ctx | ) |

inline explicit

Definition at line 66 of file sliced_ell_matrix.hpp.

## Member Function Documentation

template<typename ScalarT, typename IndexT = unsigned int>

void viennacl::sliced_ell_matrix< ScalarT, IndexT >::clear | ( |  | ) |

inline

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

Definition at line 85 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

handle_type& viennacl::sliced_ell_matrix< ScalarT, IndexT >::handle | ( |  | ) |

inline

Definition at line 118 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

const handle_type& viennacl::sliced_ell_matrix< ScalarT, IndexT >::handle | ( |  | ) | const

inline

Definition at line 119 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

handle_type& viennacl::sliced_ell_matrix< ScalarT, IndexT >::handle1 | ( |  | ) |

inline

Definition at line 109 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

const handle_type& viennacl::sliced_ell_matrix< ScalarT, IndexT >::handle1 | ( |  | ) | const

inline

Definition at line 110 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

handle_type& viennacl::sliced_ell_matrix< ScalarT, IndexT >::handle2 | ( |  | ) |

inline

Definition at line 112 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

const handle_type& viennacl::sliced_ell_matrix< ScalarT, IndexT >::handle2 | ( |  | ) | const

inline

Definition at line 113 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

handle_type& viennacl::sliced_ell_matrix< ScalarT, IndexT >::handle3 | ( |  | ) |

inline

Definition at line 115 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

const handle_type& viennacl::sliced_ell_matrix< ScalarT, IndexT >::handle3 | ( |  | ) | const

inline

Definition at line 116 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

vcl_size_t viennacl::sliced_ell_matrix< ScalarT, IndexT >::internal_size1 | ( |  | ) | const

inline

Definition at line 98 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

vcl_size_t viennacl::sliced_ell_matrix< ScalarT, IndexT >::internal_size2 | ( |  | ) | const

inline

Definition at line 99 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

vcl_size_t viennacl::sliced_ell_matrix< ScalarT, IndexT >::rows_per_block | ( |  | ) | const

inline

Definition at line 104 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

vcl_size_t viennacl::sliced_ell_matrix< ScalarT, IndexT >::size1 | ( |  | ) | const

inline

Definition at line 101 of file sliced_ell_matrix.hpp.

template<typename ScalarT, typename IndexT = unsigned int>

vcl_size_t viennacl::sliced_ell_matrix< ScalarT, IndexT >::size2 | ( |  | ) | const

inline

Definition at line 102 of file sliced_ell_matrix.hpp.

## Friends And Related Function Documentation

template<typename ScalarT, typename IndexT = unsigned int>
template<typename CPUMatrixT , typename ScalarT2 , typename IndexT2 >

void copy | ( | CPUMatrixT const & | cpu_matrix,
|  | sliced_ell_matrix< ScalarT2, IndexT2 > & | gpu_matrix
| ) |  |

friend

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

- viennacl/forwards.h
- viennacl/sliced_ell_matrix.hpp