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

Sparse storage with one independently owning dense Tensor per stored 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::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
 

Detailed Description

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

Sparse storage with one independently owning dense Tensor per stored block.

Template Parameters
LeafStorageTensor storage policy used by each dense block.

Member Typedef Documentation

◆ backend_selector_type

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

◆ block_execution_policy

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

◆ leaf_storage_policy

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

◆ storage_t

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

Member Function Documentation

◆ backend_selector()

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

Member Data Documentation

◆ is_distributed

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

◆ stores_all_legal_blocks

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

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