Ginkgo
Generated from pipelines/1554403166 branch based on develop. Ginkgo version 1.9.0
A numerical linear algebra library targeting many-core architectures
|
Defines the parameters of the interleaved block storage scheme used by block-Jacobi blocks. More...
#include <ginkgo/core/preconditioner/jacobi.hpp>
Public Member Functions | |
block_interleaved_storage_scheme (IndexType block_offset, IndexType group_offset, uint32 group_power) | |
IndexType | get_group_size () const noexcept |
Returns the number of elements in the group. More... | |
size_type | compute_storage_space (size_type num_blocks) const noexcept |
Computes the storage space required for the requested number of blocks. More... | |
IndexType | get_group_offset (IndexType block_id) const noexcept |
Returns the offset of the group belonging to the block with the given ID. More... | |
IndexType | get_block_offset (IndexType block_id) const noexcept |
Returns the offset of the block with the given ID within its group. More... | |
IndexType | get_global_block_offset (IndexType block_id) const noexcept |
Returns the offset of the block with the given ID. More... | |
IndexType | get_stride () const noexcept |
Returns the stride between columns of the block. More... | |
Public Attributes | |
IndexType | block_offset |
The offset between consecutive blocks within the group. | |
IndexType | group_offset |
The offset between two block groups. | |
uint32 | group_power |
Then base 2 power of the group. More... | |
Defines the parameters of the interleaved block storage scheme used by block-Jacobi blocks.
IndexType | type used for storing indices of the matrix |
|
inlinenoexcept |
Computes the storage space required for the requested number of blocks.
num_blocks | the total number of blocks that needs to be stored |
size_type{} - 1
the method returns 0
to avoid overallocation of memory.
|
inlinenoexcept |
Returns the offset of the block with the given ID within its group.
block_id | the ID of the block |
block_id
within its group Referenced by gko::preconditioner::block_interleaved_storage_scheme< index_type >::get_global_block_offset().
|
inlinenoexcept |
Returns the offset of the block with the given ID.
block_id | the ID of the block |
block_id
|
inlinenoexcept |
Returns the offset of the group belonging to the block with the given ID.
block_id | the ID of the block |
block_id
Referenced by gko::preconditioner::block_interleaved_storage_scheme< index_type >::get_global_block_offset().
|
inlinenoexcept |
Returns the number of elements in the group.
Referenced by gko::preconditioner::block_interleaved_storage_scheme< index_type >::compute_storage_space(), and gko::preconditioner::block_interleaved_storage_scheme< index_type >::get_block_offset().
|
inlinenoexcept |
Returns the stride between columns of the block.
uint32 gko::preconditioner::block_interleaved_storage_scheme< IndexType >::group_power |
Then base 2 power of the group.
I.e. the group contains 1 << group_power
elements.
Referenced by gko::preconditioner::block_interleaved_storage_scheme< index_type >::get_group_offset(), gko::preconditioner::block_interleaved_storage_scheme< index_type >::get_group_size(), and gko::preconditioner::block_interleaved_storage_scheme< index_type >::get_stride().