|
Uni20
Asynchronous tensor and runtime library.
|
Sparse BlockTensor storage packing each generalized diagonal block into one leaf buffer. More...
#include <block_tensor_storage.hpp>
Public Types | |
| using | backend_selector_type = typename leaf_storage_policy::backend_selector_type |
| using | block_execution_policy = SerialBlockExecution |
| using | leaf_storage_policy = LeafStorage |
| template<typename T , std::size_t KeyCoordinateCount, std::size_t DenseBlockOrder> | |
| using | storage_t = detail::PackedDiagonalBlockStorageData< T, KeyCoordinateCount, DenseBlockOrder, leaf_storage_policy > |
Static Public Member Functions | |
| static constexpr auto | backend_selector () noexcept -> backend_selector_type |
Static Public Attributes | |
| static constexpr bool | is_distributed = false |
| static constexpr bool | stores_all_legal_blocks = false |
| static constexpr bool | stores_diagonal_blocks = true |
Sparse BlockTensor storage packing each generalized diagonal block into one leaf buffer.
Every explicitly stored logical block contains only the entries whose dense indices are all equal. Logical block presence remains controlled by the owning BlockTensor's stored-key set.
| LeafStorage | Immediate contiguous host storage for compressed values. |
| using uni20::PackedDiagonalBlockStorage< LeafStorage >::backend_selector_type = typename leaf_storage_policy::backend_selector_type |
| using uni20::PackedDiagonalBlockStorage< LeafStorage >::block_execution_policy = SerialBlockExecution |
| using uni20::PackedDiagonalBlockStorage< LeafStorage >::leaf_storage_policy = LeafStorage |
| using uni20::PackedDiagonalBlockStorage< LeafStorage >::storage_t = detail::PackedDiagonalBlockStorageData<T, KeyCoordinateCount, DenseBlockOrder, leaf_storage_policy> |
|
inlinestaticconstexprnoexcept |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |