Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
uni20::AsyncLocalBlockStorageFor Concept Reference

Local BlockTensor storage with one independently scheduled async value per block. More...

#include <block_tensor_storage.hpp>

Concept definition

template<class Storage, typename T, std::size_t KeyCoordinateCount, std::size_t DenseBlockOrder>
requires(typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>& storage,
typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder> const& const_storage) {
typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>::block_value_type;
typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>::async_block_type;
{
storage.async_block(std::size_t{})
}
-> std::same_as<typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>::async_block_type&>;
{
const_storage.async_block(std::size_t{})
} -> std::same_as<
typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>::async_block_type const&>;
} &&
std::same_as<
typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>::async_block_type,
MutableRankedTensorView<
typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>::block_value_type,
DenseBlockOrder>
Async<T> is a container for coroutine-safe asynchronous read/write.
Definition async/async.hpp:93
Local BlockTensor storage with one independently scheduled async value per block.
Definition block_tensor_storage.hpp:142
BlockTensor storage whose blocks reside within one local process.
Definition block_tensor_storage.hpp:118

Detailed Description

Local BlockTensor storage with one independently scheduled async value per block.

Template Parameters
StorageCandidate block storage policy.
TNumerical block element type.
KeyCoordinateCountNumber of stored block-selection coordinates.
DenseBlockOrderNumber of numerical axes in each dense block.