Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
uni20::AsyncSeparateSparseBlockStorage< LeafStorage > Struct Template Reference

Sparse storage with one independently scheduled dense Tensor per block. 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::AsyncSeparateSparseBlockStorageData< 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
 

Detailed Description

template<class LeafStorage = HostStorage>
struct uni20::AsyncSeparateSparseBlockStorage< LeafStorage >

Sparse storage with one independently scheduled dense Tensor per block.

block() returns a TensorView over borrowed mdspec metadata. async_block() exposes the retained async value used to create read and write capabilities.

Template Parameters
LeafStorageImmediate host Tensor storage policy used by each block.

Member Typedef Documentation

◆ backend_selector_type

template<class LeafStorage = HostStorage>
using uni20::AsyncSeparateSparseBlockStorage< LeafStorage >::backend_selector_type = typename leaf_storage_policy::backend_selector_type

◆ block_execution_policy

template<class LeafStorage = HostStorage>
using uni20::AsyncSeparateSparseBlockStorage< LeafStorage >::block_execution_policy = SerialBlockExecution

◆ leaf_storage_policy

template<class LeafStorage = HostStorage>
using uni20::AsyncSeparateSparseBlockStorage< LeafStorage >::leaf_storage_policy = LeafStorage

◆ storage_t

template<class LeafStorage = HostStorage>
template<typename T , std::size_t KeyCoordinateCount, std::size_t DenseBlockOrder>
using uni20::AsyncSeparateSparseBlockStorage< LeafStorage >::storage_t = detail::AsyncSeparateSparseBlockStorageData<T, KeyCoordinateCount, DenseBlockOrder, leaf_storage_policy>

Member Function Documentation

◆ backend_selector()

template<class LeafStorage = HostStorage>
static constexpr auto uni20::AsyncSeparateSparseBlockStorage< LeafStorage >::backend_selector ( ) -> backend_selector_type
inlinestaticconstexprnoexcept

Member Data Documentation

◆ is_distributed

template<class LeafStorage = HostStorage>
constexpr bool uni20::AsyncSeparateSparseBlockStorage< LeafStorage >::is_distributed = false
staticconstexpr

◆ stores_all_legal_blocks

template<class LeafStorage = HostStorage>
constexpr bool uni20::AsyncSeparateSparseBlockStorage< LeafStorage >::stores_all_legal_blocks = false
staticconstexpr

The documentation for this struct was generated from the following file: