imbalance_bounded_limit Class Reference

imbalance_bounded_limit Class Reference#

Reference API: gko::matrix::Hybrid< ValueType, IndexType >::imbalance_bounded_limit Class Reference
Reference API
gko::matrix::Hybrid< ValueType, IndexType >::imbalance_bounded_limit Class Reference

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

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

Public Member Functions

 imbalance_bounded_limit (double percent=0.8, double ratio=0.0001)
 
size_type compute_ell_num_stored_elements_per_row (array< size_type > *row_nnz) const override
 
auto get_percentage () const
 
auto get_ratio () const
 
- Public Member Functions inherited from gko::matrix::Hybrid< ValueType, IndexType >::strategy_type
 strategy_type ()
 
void compute_hybrid_config (const array< size_type > &row_nnz, size_type *ell_num_stored_elements_per_row, size_type *coo_nnz)
 
size_type get_ell_num_stored_elements_per_row () const noexcept
 
size_type get_coo_nnz () const noexcept
 

Additional Inherited Members

- Protected Member Functions inherited from gko::matrix::Hybrid< ValueType, IndexType >::strategy_type
size_type compute_coo_nnz (const array< size_type > &row_nnz) const
 

Detailed Description

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

imbalance_bounded_limit is a strategy_type which decides the number of stored elements per row of the ell part. It uses the imbalance_limit and adds the upper bound of the number of ell's cols by the number of rows.

Constructor & Destructor Documentation

◆ imbalance_bounded_limit()

template<typename ValueType = default_precision, typename IndexType = int32>
gko::matrix::Hybrid< ValueType, IndexType >::imbalance_bounded_limit::imbalance_bounded_limit ( double  percent = 0.8,
double  ratio = 0.0001 
)
inline

Creates a imbalance_bounded_limit strategy.

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 >::imbalance_bounded_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(), and gko::array< ValueType >::get_size().

Referenced by gko::matrix::Hybrid< ValueType, IndexType >::automatic::compute_ell_num_stored_elements_per_row().

◆ get_percentage()

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

Get the percent setting

Returns
percent

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

◆ get_ratio()

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

Get the ratio setting

Returns
ratio

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