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 >::imbalance_bounded_limit Class Reference

imbalance_bounded_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 >::imbalance_bounded_limit:
[legend]
Collaboration 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)
 Creates a imbalance_bounded_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...
 
auto get_ratio () const
 Get the ratio 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 >::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.

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: