Ginkgo  Generated from pipelines/1330831941 branch based on master. Ginkgo version 1.8.0
A numerical linear algebra library targeting many-core architectures
Public Member Functions | List of all members
gko::matrix::Hybrid< ValueType, IndexType >::minimal_storage_limit Class Reference

minimal_storage_limit is a strategy_type which decides the number of stored elements per row of the ell part. More...

#include <ginkgo/core/matrix/hybrid.hpp>

Inheritance diagram for gko::matrix::Hybrid< ValueType, IndexType >::minimal_storage_limit:
[legend]
Collaboration diagram for gko::matrix::Hybrid< ValueType, IndexType >::minimal_storage_limit:
[legend]

Public Member Functions

 minimal_storage_limit ()
 Creates a minimal_storage_limit strategy.
 
size_type compute_ell_num_stored_elements_per_row (array< size_type > *row_nnz) const override
 Computes the number of stored elements per row of the ell part. More...
 
auto get_percentage () const
 Get the percent setting. More...
 
- Public Member Functions inherited from gko::matrix::Hybrid< ValueType, IndexType >::strategy_type
 strategy_type ()
 Creates a strategy_type.
 
void compute_hybrid_config (const array< size_type > &row_nnz, size_type *ell_num_stored_elements_per_row, size_type *coo_nnz)
 Computes the config of the Hybrid matrix (ell_num_stored_elements_per_row and coo_nnz). More...
 
size_type get_ell_num_stored_elements_per_row () const noexcept
 Returns the number of stored elements per row of the ell part. More...
 
size_type get_coo_nnz () const noexcept
 Returns the number of nonzeros of the coo part. More...
 

Detailed Description

template<typename ValueType = default_precision, typename IndexType = int32>
class gko::matrix::Hybrid< ValueType, IndexType >::minimal_storage_limit

minimal_storage_limit is a strategy_type which decides the number of stored elements per row of the ell part.

It is determined by the size of ValueType and IndexType, the storage is the minimum among all partition.

Member Function Documentation

◆ compute_ell_num_stored_elements_per_row()

template<typename ValueType = default_precision, typename IndexType = int32>
size_type gko::matrix::Hybrid< ValueType, IndexType >::minimal_storage_limit::compute_ell_num_stored_elements_per_row ( array< size_type > *  row_nnz) const
inlineoverridevirtual

Computes the number of stored elements per row of the ell part.

Parameters
row_nnzthe number of nonzeros of each row
Returns
the number of stored elements per row of the ell part

Implements gko::matrix::Hybrid< ValueType, IndexType >::strategy_type.

References gko::matrix::Hybrid< ValueType, IndexType >::imbalance_limit::compute_ell_num_stored_elements_per_row().

◆ get_percentage()

template<typename ValueType = default_precision, typename IndexType = int32>
auto gko::matrix::Hybrid< ValueType, IndexType >::minimal_storage_limit::get_percentage ( ) const
inline

Get the percent setting.

Returns
percent

References gko::matrix::Hybrid< ValueType, IndexType >::imbalance_limit::get_percentage().


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