| AI Engine API User Guide (AIE-API) 2025.2

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
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 | ( |  | ) |
| constexpr default

## ◆ 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 | ) |
| inline explicit constexpr

## ◆ 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 | ) |
| inline constexpr

## 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
| static constexpr

## ◆ 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
| static constexpr

Initial value:
= detail::utils::is_one_of_v<std::tuple_element_t<num_levels - 1, Repr>,
sliding_window_dim_1d, sliding_window_dim_2d, sliding_window_dim_3d>
aie::tensor_descriptor::num_levels
static constexpr unsigned num_levels
Definition iterator.hpp:1718
aie::sliding_window_dim_3d
detail::sliding_window_dim_3d sliding_window_dim_3d
Definition iterator.hpp:1689
aie::sliding_window_dim_1d
detail::sliding_window_dim_1d sliding_window_dim_1d
Definition iterator.hpp:1687
aie::sliding_window_dim_2d
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>
| static constexpr

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

- iterator.hpp