|
Uni20
Asynchronous tensor and runtime library.
|
Sparse storage whose separate 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::SeparateSparseBlockStorageData< 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 |
Sparse storage whose separate dense blocks may be processed in a scheduler batch.
Algorithms must place all writes to one logical output block in the same batch item. The batch call is synchronous, so the BlockTensor remains an ordinary immediate value after the operation returns.
| LeafStorage | Tensor storage policy used by each dense block. |
| using uni20::ParallelSeparateSparseBlockStorage< LeafStorage >::backend_selector_type = typename leaf_storage_policy::backend_selector_type |
| using uni20::ParallelSeparateSparseBlockStorage< LeafStorage >::block_execution_policy = SchedulerBatchBlockExecution |
| using uni20::ParallelSeparateSparseBlockStorage< LeafStorage >::leaf_storage_policy = LeafStorage |
| using uni20::ParallelSeparateSparseBlockStorage< LeafStorage >::storage_t = detail::SeparateSparseBlockStorageData<T, KeyCoordinateCount, DenseBlockOrder, leaf_storage_policy> |
|
inlinestaticconstexprnoexcept |
|
staticconstexpr |
|
staticconstexpr |