AI Engine API User Guide (AIE-API) 2025.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
Initialization

Overview

Operations to initialize vectors and accumulators.

Functions

template<Elem E, unsigned Elems = native_vector_length_v<E>>
vector< operand_base_type_t< E >, Elems > aie::broadcast (E a)
 Returns a vector whose elements are initialized to the given value.
 
template<Accum Acc, Accum... Accums>
requires ((is_same_accum_v<Acc, Accums> && ...))
auto aie::concat (const Acc &acc, const Accums &...accums) -> accum< typename Acc::value_type, Acc::size() *(1+sizeof...(Accums))>
 Concatenate the contents of all input accumulators into a larger accumulator.
 
template<Vector Vec, Vector... Vectors>
requires ((is_same_vector_v<Vec, Vectors> && ...))
auto aie::concat (const Vec &v, const Vectors &...vectors) -> vector< typename Vec::value_type, Vec::size() *(1+sizeof...(Vectors))>
 Concatenate the contents of all input vectors into a larger vector.
 
template<ElemBaseType T, unsigned Elems = native_vector_length_v<T>>
vector< T, Elems > aie::zeros ()
 Returns a vector whose elements are initialized to zero.
 

Function Documentation

◆ broadcast()

template<Elem E, unsigned Elems = native_vector_length_v<E>>
vector< operand_base_type_t< E >, Elems > aie::broadcast ( E a)

Returns a vector whose elements are initialized to the given value.

for (unsigned i = 0; i < Elems; ++i)
out[i] = a;
Template Parameters
EElement type of the returned vector.
ElemsSize of the vector.
Parameters
aValue. The type must meet aie::Elem.

◆ concat() [1/2]

template<Accum Acc, Accum... Accums>
requires ((is_same_accum_v<Acc, Accums> && ...))
auto aie::concat ( const Acc & acc,
const Accums &... accums ) -> accum<typename Acc::value_type, Acc::size() * (1 + sizeof...(Accums))>

Concatenate the contents of all input accumulators into a larger accumulator.

All input accumulators must have the same type and size.

Parameters
accFirst input accumulator.
accumsRest of input accumulators.

◆ concat() [2/2]

template<Vector Vec, Vector... Vectors>
requires ((is_same_vector_v<Vec, Vectors> && ...))
auto aie::concat ( const Vec & v,
const Vectors &... vectors ) -> vector<typename Vec::value_type, Vec::size() * (1 + sizeof...(Vectors))>

Concatenate the contents of all input vectors into a larger vector.

All input vectors must have the same type and size.

Parameters
vFirst input vector.
vectorsRest of input vectors.

◆ zeros()

template<ElemBaseType T, unsigned Elems = native_vector_length_v<T>>
vector< T, Elems > aie::zeros ( )

Returns a vector whose elements are initialized to zero.

for (unsigned i = 0; i < Elems; ++i)
out[i] = 0;
Template Parameters
E.Element type of the returned vector.
Elems.Size of the vector.