Ginkgo  Generated from pipelines/207021245 branch based on develop. Ginkgo version 1.3.0
A numerical linear algebra library targeting many-core architectures
Classes | Functions
SpMV employing different Matrix formats

A module dedicated to the implementation and usage of the various Matrix Formats in Ginkgo. More...

Collaboration diagram for SpMV employing different Matrix formats:

Classes

class  gko::matrix::Coo< ValueType, IndexType >
 COO stores a matrix in the coordinate matrix format. More...
 
class  gko::matrix::Csr< ValueType, IndexType >
 CSR is a matrix format which stores only the nonzero coefficients by compressing each row of the matrix (compressed sparse row format). More...
 
class  gko::matrix::Dense< ValueType >
 Dense is a matrix format which explicitly stores all values of the matrix. More...
 
class  gko::matrix::Diagonal< ValueType >
 This class is a utility which efficiently implements the diagonal matrix (a linear operator which scales a vector row wise). More...
 
class  gko::matrix::Ell< ValueType, IndexType >
 ELL is a matrix format where stride with explicit zeros is used such that all rows have the same number of stored elements. More...
 
class  gko::matrix::Hybrid< ValueType, IndexType >
 HYBRID is a matrix format which splits the matrix into ELLPACK and COO format. More...
 
class  gko::matrix::Identity< ValueType >
 This class is a utility which efficiently implements the identity matrix (a linear operator which maps each vector to itself). More...
 
class  gko::matrix::IdentityFactory< ValueType >
 This factory is a utility which can be used to generate Identity operators. More...
 
class  gko::matrix::Permutation< IndexType >
 Permutation is a matrix "format" which stores the row and column permutation arrays which can be used for re-ordering the rows and columns a matrix. More...
 
class  gko::matrix::Sellp< ValueType, IndexType >
 SELL-P is a matrix format similar to ELL format. More...
 
class  gko::matrix::SparsityCsr< ValueType, IndexType >
 SparsityCsr is a matrix format which stores only the sparsity pattern of a sparse matrix by compressing each row of the matrix (compressed sparse row format). More...
 

Functions

template<typename Matrix , typename... TArgs>
std::unique_ptr< Matrix > gko::initialize (size_type stride, std::initializer_list< typename Matrix::value_type > vals, std::shared_ptr< const Executor > exec, TArgs &&... create_args)
 Creates and initializes a column-vector. More...
 
template<typename Matrix , typename... TArgs>
std::unique_ptr< Matrix > gko::initialize (std::initializer_list< typename Matrix::value_type > vals, std::shared_ptr< const Executor > exec, TArgs &&... create_args)
 Creates and initializes a column-vector. More...
 
template<typename Matrix , typename... TArgs>
std::unique_ptr< Matrix > gko::initialize (size_type stride, std::initializer_list< std::initializer_list< typename Matrix::value_type >> vals, std::shared_ptr< const Executor > exec, TArgs &&... create_args)
 Creates and initializes a matrix. More...
 
template<typename Matrix , typename... TArgs>
std::unique_ptr< Matrix > gko::initialize (std::initializer_list< std::initializer_list< typename Matrix::value_type >> vals, std::shared_ptr< const Executor > exec, TArgs &&... create_args)
 Creates and initializes a matrix. More...
 

Detailed Description

A module dedicated to the implementation and usage of the various Matrix Formats in Ginkgo.

Function Documentation

◆ initialize() [1/4]

template<typename Matrix , typename... TArgs>
std::unique_ptr<Matrix> gko::initialize ( size_type  stride,
std::initializer_list< std::initializer_list< typename Matrix::value_type >>  vals,
std::shared_ptr< const Executor exec,
TArgs &&...  create_args 
)

Creates and initializes a matrix.

This function first creates a temporary Dense matrix, fills it with passed in values, and then converts the matrix to the requested type.

Template Parameters
Matrixmatrix type to initialize (Dense has to implement the ConvertibleTo<Matrix> interface)
TArgsargument types for Matrix::create method (not including the implied Executor as the first argument)
Parameters
striderow stride for the temporary Dense matrix
valsvalues used to initialize the matrix
execExecutor associated to the matrix
create_argsadditional arguments passed to Matrix::create, not including the Executor, which is passed as the first argument

References gko::matrix::Dense< ValueType >::at().

◆ initialize() [2/4]

template<typename Matrix , typename... TArgs>
std::unique_ptr<Matrix> gko::initialize ( size_type  stride,
std::initializer_list< typename Matrix::value_type >  vals,
std::shared_ptr< const Executor exec,
TArgs &&...  create_args 
)

Creates and initializes a column-vector.

This function first creates a temporary Dense matrix, fills it with passed in values, and then converts the matrix to the requested type.

Template Parameters
Matrixmatrix type to initialize (Dense has to implement the ConvertibleTo<Matrix> interface)
TArgsargument types for Matrix::create method (not including the implied Executor as the first argument)
Parameters
striderow stride for the temporary Dense matrix
valsvalues used to initialize the vector
execExecutor associated to the vector
create_argsadditional arguments passed to Matrix::create, not including the Executor, which is passed as the first argument

References gko::matrix::Dense< ValueType >::at().

◆ initialize() [3/4]

template<typename Matrix , typename... TArgs>
std::unique_ptr<Matrix> gko::initialize ( std::initializer_list< std::initializer_list< typename Matrix::value_type >>  vals,
std::shared_ptr< const Executor exec,
TArgs &&...  create_args 
)

Creates and initializes a matrix.

This function first creates a temporary Dense matrix, fills it with passed in values, and then converts the matrix to the requested type. The stride of the intermediate Dense matrix is set to the number of columns of the initializer list.

Template Parameters
Matrixmatrix type to initialize (Dense has to implement the ConvertibleTo<Matrix> interface)
TArgsargument types for Matrix::create method (not including the implied Executor as the first argument)
Parameters
valsvalues used to initialize the matrix
execExecutor associated to the matrix
create_argsadditional arguments passed to Matrix::create, not including the Executor, which is passed as the first argument

◆ initialize() [4/4]

template<typename Matrix , typename... TArgs>
std::unique_ptr<Matrix> gko::initialize ( std::initializer_list< typename Matrix::value_type >  vals,
std::shared_ptr< const Executor exec,
TArgs &&...  create_args 
)

Creates and initializes a column-vector.

This function first creates a temporary Dense matrix, fills it with passed in values, and then converts the matrix to the requested type. The stride of the intermediate Dense matrix is set to 1.

Template Parameters
Matrixmatrix type to initialize (Dense has to implement the ConvertibleTo<Matrix> interface)
TArgsargument types for Matrix::create method (not including the implied Executor as the first argument)
Parameters
valsvalues used to initialize the vector
execExecutor associated to the vector
create_argsadditional arguments passed to Matrix::create, not including the Executor, which is passed as the first argument