SpMV employing different Matrix formats

SpMV employing different Matrix formats#

Reference API: SpMV employing different Matrix formats
Reference API
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::experimental::distributed::Matrix< ValueType, LocalIndexType, GlobalIndexType >
 
class  gko::experimental::distributed::Vector< ValueType >
 
class  gko::batch::matrix::Csr< ValueType, IndexType >
 
class  gko::batch::matrix::Dense< ValueType >
 
class  gko::batch::matrix::Ell< ValueType, IndexType >
 
class  gko::batch::matrix::Identity< ValueType >
 
class  gko::matrix::Coo< ValueType, IndexType >
 
class  gko::matrix::Csr< ValueType, IndexType >
 
class  gko::matrix::Dense< ValueType >
 
class  gko::matrix::Diagonal< ValueType >
 
class  gko::matrix::Ell< ValueType, IndexType >
 
class  gko::matrix::Fbcsr< ValueType, IndexType >
 Fixed-block compressed sparse row storage matrix format. More...
 
class  gko::matrix::Fft
 
class  gko::matrix::Fft2
 
class  gko::matrix::Fft3
 
class  gko::matrix::Hybrid< ValueType, IndexType >
 
class  gko::matrix::Identity< ValueType >
 
class  gko::matrix::IdentityFactory< ValueType >
 
class  gko::matrix::Permutation< IndexType >
 
class  gko::matrix::RowGatherer< IndexType >
 
class  gko::matrix::ScaledPermutation< ValueType, IndexType >
 
class  gko::matrix::Sellp< ValueType, IndexType >
 
class  gko::matrix::SparsityCsr< ValueType, IndexType >
 

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)
 
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)
 
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)
 
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)
 

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

◆ 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

◆ 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