![]() |
Ginkgo Generated from branch based on master. Ginkgo version 1.7.0
A numerical linear algebra library targeting many-core architectures
|
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. | |
![]() | |
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)} |
|
inline |
Creates an automatical strategy.
|
inline |
Creates an automatical strategy with CUDA executor.
exec | the CUDA executor |
|
inline |
Creates an automatical strategy with HIP executor.
exec | the HIP executor |
|
inline |
Creates an automatical strategy with Dpcpp executor.
exec | the Dpcpp executor |
|
inline |
Creates an automatical strategy with specified 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. |
|
inlineoverridevirtual |
Computes the srow size according to the number of nonzeros.
nnz | the number of nonzeros |
Implements gko::matrix::Csr< ValueType, IndexType >::strategy_type.
References gko::one().
|
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.
|
inlineoverridevirtual |
Computes srow according to row pointers.
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::one(), and gko::matrix::Csr< ValueType, IndexType >::classical::process().