AI Engine API User Guide (AIE) 2021.2
aie_types.hpp File Reference

Types exposed to users.More...

Detailed Description

Types exposed to users.

#include "types.hpp"
#include "detail/accum.hpp"
#include "detail/lock.hpp"
#include "detail/mask.hpp"
#include "detail/mdspan.hpp"
#include "detail/sync_buffer.hpp"
#include "detail/tiled_mdspan.hpp"
#include "detail/tile.hpp"
#include "detail/vector.hpp"

Namespaces

namespace aie
namespace aie::sync

Macros

#define __AIE_API_AIE_TYPES__HPP__

Typedefs

template<AccumElemBaseTypeMinAccumTag, unsigned Elems>
using aie::accum= detail::accum< detail::accum_class_for_tag_v< MinAccumTag >, detail::accum_bits_for_tag_v< MinAccumTag >, Elems >
More...
using aie::AccumClass= detail::AccumClass
using aie::sync::adopt_lock_t= detail::adopt_lock_t
template
using aie::sync::buffered_input= detail::sync::input< Span, NumBuffers >
template
using aie::sync::buffered_output= detail::sync::output< Span, NumBuffers >
template
using aie::cfp_accum= detail::accum< AccumClass::CFP, detail::to_native_accum_bits< AccumClass::CFP, MinAccumBits >(), Elems >
template
using aie::cint_accum= detail::accum< AccumClass::CInt, detail::to_native_accum_bits< AccumClass::CInt, MinAccumBits >(), Elems >
template
using aie::sync::consumer_lock= detail::consumer_lock< NumReaders, NumWriters >
template
using aie::sync::consumer_sem= detail::consumer_sem< NumReaders, NumWriters >
template
using aie::extents= detail::extents< Extents... >
template
using aie::fp_accum= detail::accum< AccumClass::FP, detail::to_native_accum_bits< AccumClass::FP, MinAccumBits >(), Elems >
template
using aie::int_accum= detail::accum< AccumClass::Int, detail::to_native_accum_bits< AccumClass::Int, MinAccumBits >(), Elems >
template
using aie::mask= detail::mask< Elems >
More...
template
using aie::mdspan= detail::basic_mdspan< T, extents< Extents... >, void, detail::accessor_basic< T > >
using aie::sync::mutex= detail::mutex
template
using aie::sync::producer_lock= detail::producer_lock< NumReaders, NumWriters >
template
using aie::sync::producer_sem= detail::producer_sem< NumReaders, NumWriters >
template
using aie::restrict_mdspan= detail::basic_mdspan< T, extents< Extents... >, void, detail::accessor_restrict< T > >
template
using aie::restrict_span= restrict_span_1d< T, Extents1 >
template
using aie::restrict_span_1d= restrict_mdspan< T, Extents1 >
template
using aie::restrict_span_2d= restrict_mdspan< T, Extents1, Extents2 >
template
using aie::restrict_span_3d= restrict_mdspan< T, Extents1, Extents2, Extents3 >
template
using aie::restrict_span_4d= restrict_mdspan< T, Extents1, Extents2, Extents3, Extents4 >
template
using aie::restrict_tiled_mdspan= detail::basic_tiled_mdspan< T, TileExtents, extents< Extents... >, void, detail::accessor_restrict< T > >
template
using aie::restrict_tiled_span= tiled_span_1d< T, TileExtents, Extents1 >
template
using aie::restrict_tiled_span_1d= tiled_mdspan< T, TileExtents, Extents1 >
template
using aie::restrict_tiled_span_2d= tiled_mdspan< T, TileExtents, Extents1, Extents2 >
template
using aie::restrict_tiled_span_3d= tiled_mdspan< T, TileExtents, Extents1, Extents2, Extents3 >
template
using aie::restrict_tiled_span_4d= tiled_mdspan< T, TileExtents, Extents1, Extents2, Extents3, Extents4 >
using aie::sync::scoped_lock= detail::scoped_lock
template
using aie::span= span_1d< T, Extents1 >
template
using aie::span_1d= mdspan< T, Extents1 >
template
using aie::span_2d= mdspan< T, Extents1, Extents2 >
template
using aie::span_3d= mdspan< T, Extents1, Extents2, Extents3 >
template
using aie::span_4d= mdspan< T, Extents1, Extents2, Extents3, Extents4 >
using aie::tile= detail::tile
using aie::tile_id= detail::tile_id
template
using aie::tiled_mdspan= detail::basic_tiled_mdspan< T, TileExtents, extents< Extents... >, void, detail::accessor_basic< T > >
template
using aie::tiled_span= tiled_span_1d< T, TileExtents, Extents1 >
template
using aie::tiled_span_1d= tiled_mdspan< T, TileExtents, Extents1 >
template
using aie::tiled_span_2d= tiled_mdspan< T, TileExtents, Extents1, Extents2 >
template
using aie::tiled_span_3d= tiled_mdspan< T, TileExtents, Extents1, Extents2, Extents3 >
template
using aie::tiled_span_4d= tiled_mdspan< T, TileExtents, Extents1, Extents2, Extents3, Extents4 >
template<ElemBaseTypeT, unsigned Elems = native_vector_length_v>
using aie::vector= detail::vector< T, Elems >
More...
template<ElemBaseTypeT, unsigned N>
using aie::vector_elem_const_ref= detail::vector_elem_const_ref< T, N >
More...
template<ElemBaseTypeT, unsigned N>
using aie::vector_elem_ref= detail::vector_elem_ref< T, N >
More...