AI Engine API User Guide (AIE-API) 2025.2
Loading...
Searching...
No Matches
aie::tensor_descriptor< Rank, T, Elems, Repr, ByteSteps > Class Template Reference

#include <iterator.hpp>

Public Types

using type = T
 
using vector_type = detail::tensor_vector_type_t<T, Elems>
 

Public Member Functions

constexpr tensor_descriptor ()=default
 
constexpr tensor_descriptor (const std::array< tensor_dim, Rank > &dims)
 
constexpr tensor_descriptor (const tensor_descriptor &other)
 

Static Public Attributes

static constexpr unsigned elems = Elems
 
static constexpr bool has_innermost_sliding_dim
 
static constexpr unsigned num_levels = std::tuple_size_v<Repr>
 

Member Typedef Documentation

◆ type

template<unsigned Rank, typename T, unsigned Elems, typename Repr = detail::default_repr_t<Rank>, bool ByteSteps = false>
using aie::tensor_descriptor< Rank, T, Elems, Repr, ByteSteps >::type = T

◆ vector_type

template<unsigned Rank, typename T, unsigned Elems, typename Repr = detail::default_repr_t<Rank>, bool ByteSteps = false>
using aie::tensor_descriptor< Rank, T, Elems, Repr, ByteSteps >::vector_type = detail::tensor_vector_type_t<T, Elems>

Constructor & Destructor Documentation

◆ tensor_descriptor() [1/3]

template<unsigned Rank, typename T, unsigned Elems, typename Repr = detail::default_repr_t<Rank>, bool ByteSteps = false>
aie::tensor_descriptor< Rank, T, Elems, Repr, ByteSteps >::tensor_descriptor ( )
constexprdefault

◆ tensor_descriptor() [2/3]

template<unsigned Rank, typename T, unsigned Elems, typename Repr = detail::default_repr_t<Rank>, bool ByteSteps = false>
aie::tensor_descriptor< Rank, T, Elems, Repr, ByteSteps >::tensor_descriptor ( const std::array< tensor_dim, Rank > & dims)
inlineexplicitconstexpr

◆ tensor_descriptor() [3/3]

template<unsigned Rank, typename T, unsigned Elems, typename Repr = detail::default_repr_t<Rank>, bool ByteSteps = false>
aie::tensor_descriptor< Rank, T, Elems, Repr, ByteSteps >::tensor_descriptor ( const tensor_descriptor< Rank, T, Elems, Repr, ByteSteps > & other)
inlineconstexpr

Friends And Related Symbol Documentation

◆ detail::make_tensor_buffer_stream

template<unsigned Rank, typename T, unsigned Elems, typename Repr = detail::default_repr_t<Rank>, bool ByteSteps = false>
template<typename ResourceType, ResourceType Resource, tbs_mode Mode, bool Restrict, typename T2, typename Desc>
auto detail::make_tensor_buffer_stream ( T2 && src,
const Desc & desc )
friend

◆ make_restrict_tensor_buffer_stream

template<unsigned Rank, typename T, unsigned Elems, typename Repr = detail::default_repr_t<Rank>, bool ByteSteps = false>
template<aie_dm_resource Resource, tbs_mode Mode, DecoratedElemBaseOrBlockType T2, typename TensorDescriptor>
requires (arch::is(arch::Gen2))
auto make_restrict_tensor_buffer_stream ( T2 * base,
const TensorDescriptor & dims )
friend

◆ make_tensor_buffer_stream [1/2]

template<unsigned Rank, typename T, unsigned Elems, typename Repr = detail::default_repr_t<Rank>, bool ByteSteps = false>
template<aie_dm_resource Resource, tbs_mode Mode, DecoratedElemBaseOrBlockType T2, typename TensorDescriptor>
requires (arch::is(arch::Gen2))
auto make_tensor_buffer_stream ( const T2 * base,
const TensorDescriptor & dims )
friend

◆ make_tensor_buffer_stream [2/2]

template<unsigned Rank, typename T, unsigned Elems, typename Repr = detail::default_repr_t<Rank>, bool ByteSteps = false>
template<aie_dm_resource Resource, tbs_mode Mode, DecoratedElemBaseOrBlockType T2, typename TensorDescriptor>
requires (arch::is(arch::Gen2))
auto make_tensor_buffer_stream ( T2 * base,
const TensorDescriptor & dims )
friend

◆ make_tensor_descriptor_from_native

template<unsigned Rank, typename T, unsigned Elems, typename Repr = detail::default_repr_t<Rank>, bool ByteSteps = false>
template<typename T2, unsigned Elems2, NativeDim... Args>
requires (arch::is(arch::Gen2))
auto make_tensor_descriptor_from_native ( Args &&... args)
friend

◆ make_tensor_descriptor_from_native_bytes

template<unsigned Rank, typename T, unsigned Elems, typename Repr = detail::default_repr_t<Rank>, bool ByteSteps = false>
template<typename T2, unsigned Elems2, NativeOrSlidingDim... Args>
requires (arch::is(arch::Gen2))
auto make_tensor_descriptor_from_native_bytes ( Args &&... args)
friend

Member Data Documentation

◆ elems

template<unsigned Rank, typename T, unsigned Elems, typename Repr = detail::default_repr_t<Rank>, bool ByteSteps = false>
unsigned aie::tensor_descriptor< Rank, T, Elems, Repr, ByteSteps >::elems = Elems
staticconstexpr

◆ has_innermost_sliding_dim

template<unsigned Rank, typename T, unsigned Elems, typename Repr = detail::default_repr_t<Rank>, bool ByteSteps = false>
bool aie::tensor_descriptor< Rank, T, Elems, Repr, ByteSteps >::has_innermost_sliding_dim
staticconstexpr
Initial value:
= detail::utils::is_one_of_v<std::tuple_element_t<num_levels - 1, Repr>,
static constexpr unsigned num_levels
Definition iterator.hpp:1718
detail::sliding_window_dim_3d sliding_window_dim_3d
Definition iterator.hpp:1689
detail::sliding_window_dim_1d sliding_window_dim_1d
Definition iterator.hpp:1687
detail::sliding_window_dim_2d sliding_window_dim_2d
Definition iterator.hpp:1688

◆ num_levels

template<unsigned Rank, typename T, unsigned Elems, typename Repr = detail::default_repr_t<Rank>, bool ByteSteps = false>
unsigned aie::tensor_descriptor< Rank, T, Elems, Repr, ByteSteps >::num_levels = std::tuple_size_v<Repr>
staticconstexpr

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