Ginkgo Generated from branch based on main. Ginkgo version 1.10.0
A numerical linear algebra library targeting many-core architectures
Loading...
Searching...
No Matches
gko::multigrid::Pgm< ValueType, IndexType >::parameters_type Struct Reference
Inheritance diagram for gko::multigrid::Pgm< ValueType, IndexType >::parameters_type:
[legend]
Collaboration diagram for gko::multigrid::Pgm< ValueType, IndexType >::parameters_type:
[legend]

Public Member Functions

template<typename... Args>
auto with_max_iterations (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> &
template<typename... Args>
auto with_max_unassigned_ratio (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> &
template<typename... Args>
auto with_deterministic (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> &
template<typename... Args>
auto with_skip_sorting (Args &&... _value) -> std::decay_t< decltype(*(this->self()))> &
Public Member Functions inherited from gko::enable_parameters_type< parameters_type, Factory >
parameters_type & with_loggers (Args &&... _value)
 Provides the loggers to be added to the factory and its generated objects in a fluent interface.
std::unique_ptr< Factory > on (std::shared_ptr< const Executor > exec) const
 Creates a new factory on the specified executor.

Public Attributes

unsigned max_iterations {15u}
 The maximum number of iterations.
double max_unassigned_ratio {0.05}
 The maximum ratio of unassigned number, which is valid in the interval 0.0 ~ 1.0.
bool deterministic {false}
 Use the deterministic assign_to_exist_agg method or not.
bool skip_sorting {false}
 The system_matrix, which will be given to this factory, must be sorted (first by row, then by column) in order for the algorithm to work.

Additional Inherited Members

Public Types inherited from gko::enable_parameters_type< parameters_type, Factory >
using factory

Member Data Documentation

◆ deterministic

template<typename ValueType = default_precision, typename IndexType = int32>
bool gko::multigrid::Pgm< ValueType, IndexType >::parameters_type::deterministic {false}

Use the deterministic assign_to_exist_agg method or not.

If deterministic is set to true, always get the same aggregated group from the same matrix. Otherwise, the aggregated group might be different depending on the execution ordering.

◆ max_iterations

template<typename ValueType = default_precision, typename IndexType = int32>
unsigned gko::multigrid::Pgm< ValueType, IndexType >::parameters_type::max_iterations {15u}

The maximum number of iterations.

We use the same default value as NVIDIA AMGX Reference Manual (October 2017, API Version 2, https://github.com/NVIDIA/AMGX/blob/main/doc/AMGX_Reference.pdf).

◆ max_unassigned_ratio

template<typename ValueType = default_precision, typename IndexType = int32>
double gko::multigrid::Pgm< ValueType, IndexType >::parameters_type::max_unassigned_ratio {0.05}

The maximum ratio of unassigned number, which is valid in the interval 0.0 ~ 1.0.

We use the same default value as NVIDIA AMGX Reference Manual (October 2017, API Version 2, https://github.com/NVIDIA/AMGX/blob/main/doc/AMGX_Reference.pdf).

◆ skip_sorting

template<typename ValueType = default_precision, typename IndexType = int32>
bool gko::multigrid::Pgm< ValueType, IndexType >::parameters_type::skip_sorting {false}

The system_matrix, which will be given to this factory, must be sorted (first by row, then by column) in order for the algorithm to work.

If it is known that the matrix will be sorted, this parameter can be set to true to skip the sorting (therefore, shortening the runtime). However, if it is unknown or if the matrix is known to be not sorted, it must remain false, otherwise, this multigrid_level might be incorrect.


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