Ginkgo: gko::matrix::Csr< ValueType, IndexType >::automatical Class Reference

| Ginkgo Generated from branch based on main. Ginkgo version 1.11.0 A numerical linear algebra library targeting many-core architectures

Loading...
Searching...
No Matches
gko::matrix::Csr< ValueType, IndexType >::automatical Class Reference
Inheritance diagram for gko::matrix::Csr< ValueType, IndexType >::automatical:
[legend]
Collaboration diagram for gko::matrix::Csr< ValueType, IndexType >::automatical:
[legend]

## Public Member Functions
| automatical ()
| Creates an automatical strategy.
| automatical (std::shared_ptr< const CudaExecutor > exec)
| Creates an automatical strategy with CUDA executor.
| automatical (std::shared_ptr< const HipExecutor > exec)
| Creates an automatical strategy with HIP executor.
| automatical (std::shared_ptr< const DpcppExecutor > exec)
| Creates an automatical strategy with Dpcpp executor.
| automatical (int64_t nwarps, int warp_size=32, bool cuda_strategy=true, std::string strategy_name="none")
| Creates an automatical strategy with specified parameters.
void | process (const array< index_type > &mtx_row_ptrs, array< index_type > *mtx_srow) override
| Computes srow according to row pointers.
int64_t | clac_size (const int64_t nnz) override
| Computes the srow size according to the number of nonzeros.
index_type | get_max_length_per_row () const noexcept
std::shared_ptr< strategy_type > | copy () override
| Copy a strategy.
Public Member Functions inherited from gko::matrix::Csr< ValueType, IndexType >::strategy_type
| strategy_type (std::string name)
| Creates a strategy_type.
std::string | get_name ()
| Returns the name of strategy.

## Public Attributes
const index_type | nvidia_row_len_limit = 1024
const index_type | nvidia_nnz_limit {static_cast<index_type>(1e6)}
const index_type | amd_row_len_limit = 768
const index_type | amd_nnz_limit {static_cast<index_type>(1e8)}
const index_type | intel_row_len_limit = 25600
const index_type | intel_nnz_limit {static_cast<index_type>(3e8)}

## Constructor & Destructor Documentation

## ◆ automatical() [1/5]

template<typename ValueType = default_precision, typename IndexType = int32>

gko::matrix::Csr< ValueType, IndexType >::automatical::automatical | ( |  | ) |
| inline

Creates an automatical strategy.

Warning
  this is deprecated! Please rely on the new automatic strategy instantiation or use one of the other constructors.

References automatical(), and gko::matrix::Csr< ValueType, IndexType >::create().

Referenced by automatical(), automatical(), automatical(), and automatical().

## ◆ automatical() [2/5]

template<typename ValueType = default_precision, typename IndexType = int32>

gko::matrix::Csr< ValueType, IndexType >::automatical::automatical | ( | std::shared_ptr< const CudaExecutor > | exec | ) |
| inline

Creates an automatical strategy with CUDA executor.

Parameters

  exec | the CUDA executor

References automatical().

## ◆ automatical() [3/5]

template<typename ValueType = default_precision, typename IndexType = int32>

gko::matrix::Csr< ValueType, IndexType >::automatical::automatical | ( | std::shared_ptr< const HipExecutor > | exec | ) |
| inline

Creates an automatical strategy with HIP executor.

Parameters

  exec | the HIP executor

References automatical().

## ◆ automatical() [4/5]

template<typename ValueType = default_precision, typename IndexType = int32>

gko::matrix::Csr< ValueType, IndexType >::automatical::automatical | ( | std::shared_ptr< const DpcppExecutor > | exec | ) |
| inline

Creates an automatical strategy with Dpcpp executor.

Parameters

  exec | the Dpcpp executor

Note
  TODO: porting - we hardcode the subgroup size is 32

References automatical().

## ◆ automatical() [5/5]

template<typename ValueType = default_precision, typename IndexType = int32>

gko::matrix::Csr< ValueType, IndexType >::automatical::automatical | ( | int64_t | nwarps,
|  | int | warp_size = 32,
|  | bool | cuda_strategy = true,
|  | std::string | strategy_name = "none" )
| inline

Creates an automatical strategy with specified parameters.

Parameters

  nwarps | the number of warps in the executor
  warp_size | the warp size of the executor
  cuda_strategy | whether the cuda_strategy needs to be used.

Note
  The warp_size must be the size of full warp. When using this constructor, set_strategy needs to be called with correct parameters which is replaced during the conversion.

References gko::matrix::Csr< ValueType, IndexType >::strategy_type::strategy_type().

## Member Function Documentation

## ◆ clac_size()

template<typename ValueType = default_precision, typename IndexType = int32>

int64_t gko::matrix::Csr< ValueType, IndexType >::automatical::clac_size | ( | const int64_t | nnz | ) |
| inlineoverridevirtual

Computes the srow size according to the number of nonzeros.

Parameters

  nnz | the number of nonzeros

Returns
  the size of srow

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

## ◆ copy()

template<typename ValueType = default_precision, typename IndexType = int32>

std::shared_ptr< strategy_type > gko::matrix::Csr< ValueType, IndexType >::automatical::copy | ( |  | ) |
| inlineoverridevirtual

Copy a strategy.

This is a workaround until strategies are revamped, since strategies like automatical do not work when actually shared.

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

## ◆ process()

template<typename ValueType = default_precision, typename IndexType = int32>

void gko::matrix::Csr< ValueType, IndexType >::automatical::process | ( | const array< index_type > & | mtx_row_ptrs,
|  | array< index_type > * | mtx_srow )
| inlineoverridevirtual

Computes srow according to row pointers.

Parameters

  mtx_row_ptrs | the row pointers of the matrix
  mtx_srow | the srow of the matrix

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

References gko::array< ValueType >::get_const_data(), gko::array< ValueType >::get_executor(), gko::matrix::Csr< ValueType, IndexType >::strategy_type::get_name(), gko::array< ValueType >::get_size(), gko::matrix::Csr< ValueType, IndexType >::classical::process(), and gko::matrix::Csr< ValueType, IndexType >::load_balance::process().

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

- ginkgo/core/matrix/csr.hpp