|
Uni20
Asynchronous tensor and runtime library.
|
Packed sparse storage whose disjoint dense blocks may be processed in a scheduler batch. More...
#include <block_tensor_storage.hpp>
Public Types | |
| using | backend_selector_type = typename leaf_storage_policy::backend_selector_type |
| using | block_execution_policy = SchedulerBatchBlockExecution |
| using | leaf_storage_policy = LeafStorage |
| template<typename T , std::size_t KeyCoordinateCount, std::size_t DenseBlockOrder> | |
| using | storage_t = detail::PackedBlockStorageData< T, KeyCoordinateCount, DenseBlockOrder, leaf_storage_policy, BlockAlignment > |
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 |
Packed sparse storage whose disjoint dense blocks may be processed in a scheduler batch.
The packed buffer remains fixed while numerical operations execute. Algorithms must place all writes to one logical output block in the same batch item, so concurrently written block ranges are disjoint. The batch call is synchronous. A BlockAlignment greater than one pads block starts to that byte alignment.
| LeafStorage | Tensor storage policy used by the packed buffer. |
| BlockAlignment | Required byte alignment of every block start. |
| using uni20::ParallelPackedSparseBlockStorage< LeafStorage, BlockAlignment >::backend_selector_type = typename leaf_storage_policy::backend_selector_type |
| using uni20::ParallelPackedSparseBlockStorage< LeafStorage, BlockAlignment >::block_execution_policy = SchedulerBatchBlockExecution |
| using uni20::ParallelPackedSparseBlockStorage< LeafStorage, BlockAlignment >::leaf_storage_policy = LeafStorage |
| using uni20::ParallelPackedSparseBlockStorage< LeafStorage, BlockAlignment >::storage_t = detail::PackedBlockStorageData<T, KeyCoordinateCount, DenseBlockOrder, leaf_storage_policy, BlockAlignment> |
|
inlinestaticconstexprnoexcept |
|
staticconstexpr |
|
staticconstexpr |