ginkgo/core/matrix/hybrid.hpp Source File#
|
Reference API
|
hybrid.hpp
Definition polymorphic_object.hpp:479
Definition lin_op.hpp:742
Definition lin_op.hpp:793
Definition lin_op.hpp:878
Definition polymorphic_object.hpp:668
Definition lin_op.hpp:117
Definition lin_op.hpp:605
Definition lin_op.hpp:660
Definition array.hpp:166
std::shared_ptr< const Executor > get_executor() const noexcept
Definition array.hpp:689
const value_type * get_const_data() const noexcept
Definition array.hpp:682
Definition device_matrix_data.hpp:36
Definition coo.hpp:61
Definition csr.hpp:123
Definition dense.hpp:116
Definition ell.hpp:63
Definition hybrid.hpp:344
size_type compute_ell_num_stored_elements_per_row(array< size_type > *row_nnz) const override
Definition hybrid.hpp:351
Definition hybrid.hpp:185
size_type compute_ell_num_stored_elements_per_row(array< size_type > *row_nnz) const override
Definition hybrid.hpp:196
column_limit(size_type num_column=0)
Definition hybrid.hpp:192
auto get_num_columns() const
Definition hybrid.hpp:207
Definition hybrid.hpp:267
auto get_percentage() const
Definition hybrid.hpp:291
size_type compute_ell_num_stored_elements_per_row(array< size_type > *row_nnz) const override
Definition hybrid.hpp:276
imbalance_bounded_limit(double percent=0.8, double ratio=0.0001)
Definition hybrid.hpp:272
auto get_ratio() const
Definition hybrid.hpp:298
Definition hybrid.hpp:220
size_type compute_ell_num_stored_elements_per_row(array< size_type > *row_nnz) const override
Definition hybrid.hpp:234
auto get_percentage() const
Definition hybrid.hpp:256
imbalance_limit(double percent=0.8)
Definition hybrid.hpp:228
Definition hybrid.hpp:311
size_type compute_ell_num_stored_elements_per_row(array< size_type > *row_nnz) const override
Definition hybrid.hpp:322
auto get_percentage() const
Definition hybrid.hpp:333
minimal_storage_limit()
Definition hybrid.hpp:316
Definition hybrid.hpp:91
virtual size_type compute_ell_num_stored_elements_per_row(array< size_type > *row_nnz) const =0
size_type compute_coo_nnz(const array< size_type > &row_nnz) const
Definition hybrid.hpp:163
size_type get_ell_num_stored_elements_per_row() const noexcept
Definition hybrid.hpp:132
void compute_hybrid_config(const array< size_type > &row_nnz, size_type *ell_num_stored_elements_per_row, size_type *coo_nnz)
Definition hybrid.hpp:113
size_type get_coo_nnz() const noexcept
Definition hybrid.hpp:142
Definition hybrid.hpp:54
size_type get_num_stored_elements() const noexcept
Definition hybrid.hpp:603
static std::unique_ptr< Hybrid > create(std::shared_ptr< const Executor > exec, const dim< 2 > &size, size_type num_stored_elements_per_row, size_type stride, std::shared_ptr< strategy_type > strategy)
index_type * get_coo_row_idxs() noexcept
Definition hybrid.hpp:567
value_type & ell_val_at(size_type row, size_type idx) noexcept
Definition hybrid.hpp:481
static std::unique_ptr< Hybrid > create(std::shared_ptr< const Executor > exec, const dim< 2 > &size, size_type num_stored_elements_per_row, std::shared_ptr< strategy_type > strategy=std::make_shared< automatic >())
size_type get_ell_stride() const noexcept
Definition hybrid.hpp:458
void resize(dim< 2 > new_size, size_type ell_row_nnz, size_type coo_nnz)
size_type get_coo_num_stored_elements() const noexcept
Definition hybrid.hpp:586
std::unique_ptr< absolute_type > compute_absolute() const override
index_type ell_col_at(size_type row, size_type idx) const noexcept
Definition hybrid.hpp:512
index_type * get_coo_col_idxs() noexcept
Definition hybrid.hpp:548
value_type ell_val_at(size_type row, size_type idx) const noexcept
Definition hybrid.hpp:489
const index_type * get_const_coo_row_idxs() const noexcept
Definition hybrid.hpp:576
Hybrid(Hybrid &&)
void write(mat_data &data) const override
const value_type * get_const_ell_values() const noexcept
Definition hybrid.hpp:419
std::unique_ptr< Diagonal< ValueType > > extract_diagonal() const override
static std::unique_ptr< Hybrid > create(std::shared_ptr< const Executor > exec, std::shared_ptr< strategy_type > strategy=std::make_shared< automatic >())
void read(const mat_data &data) override
size_type get_ell_num_stored_elements() const noexcept
Definition hybrid.hpp:465
size_type get_ell_num_stored_elements_per_row() const noexcept
Definition hybrid.hpp:448
const index_type * get_const_coo_col_idxs() const noexcept
Definition hybrid.hpp:557
Hybrid(const Hybrid &)
void read(const device_mat_data &data) override
index_type * get_ell_col_idxs() noexcept
Definition hybrid.hpp:429
void compute_absolute_inplace() override
const index_type * get_const_ell_col_idxs() const noexcept
Definition hybrid.hpp:438
std::shared_ptr< strategy_type > get_strategy() const noexcept
Definition hybrid.hpp:614
static std::unique_ptr< Hybrid > create(std::shared_ptr< const Executor > exec, const dim< 2 > &size, size_type num_stored_elements_per_row, size_type stride, size_type num_nonzeros={}, std::shared_ptr< strategy_type > strategy=std::make_shared< automatic >())
static std::unique_ptr< Hybrid > create(std::shared_ptr< const Executor > exec, const dim< 2 > &size, std::shared_ptr< strategy_type > strategy=std::make_shared< automatic >())
Hybrid & operator=(const Hybrid &)
index_type & ell_col_at(size_type row, size_type idx) noexcept
Definition hybrid.hpp:504
const value_type * get_const_coo_values() const noexcept
Definition hybrid.hpp:538
void read(device_mat_data &&data) override
Hybrid & operator=(Hybrid &&)
typename detail::next_precision_impl< T >::type next_precision
Definition math.hpp:438
typename detail::remove_complex_s< T >::type remove_complex
Definition math.hpp:260
Definition dim.hpp:26
Definition matrix_data.hpp:126
Generated by