AI Engine API User Guide (AIE-API) 2025.1
Loading...
Searching...
No Matches
API Reference
Here is a list of all topics with brief descriptions:
[detail level 123]
 Basic TypesThe two main types offered by the AIE API are vectors (aie::vector) and accumulators (aie::accum)
 Basic Type Initialization
 Vector and Accumulator ConversionsVectors and accumulators of any given element type and size can be reinterpreted as a different element type
 Concepts for Basic Types
 Accumulator Element TypesAccumulators in AIE API rely on the aie::accum class template
 Lazy OperationsAIE architectures offer multiplication instructions that can perform additional operations on on the input arguments
 ConfigurationCertain aspects of AI Engine behavior can be configured at runtime
 MemoryEach AIE core has access to up to 4 Data Memories (DM)
 InitializationOperations to initialize vectors and accumulators
 ArithmeticAIE API provides a set of functions that implement arithmetic operations on vector types
 BitsBitwise logical operations
 ComparisonVector comparison operations
 ReductionVector reduction operations
 ReshapingAIE API provides operations to change the location of the elements within a vector and to combine the elements from two or more vectors
 Floating-point Conversion
 Elementary Functions
 Floating-point Scalar Operations
 Matrix MultiplicationThe AIE API encapsulates the matrix multiplication functionality in the aie::mmul class template
 Fast Fourier Transform (FFT)
 Special MultiplicationsAIE provides hardware support to accelerate special multiplications that can be used to accelerate specific application use cases like (but not limited to) signal processing
 Lookup Tables
 Operator OverloadingThe AIE API provides overloading for most of the available operators
 Interoperability with Adaptive Data Flow (ADF) Graph AbstractionsADF graphs use data flow abstractions to read input data and write output data
 Uility functions and classes
 Architecture helpers
 Print functionsThese functions provide an abstraction on top of printf that allow users to display the contents of AIE types in the standard output
 Loop functions
 Loop unrollingThese functions allow users to explicitly unroll the body of a loop
 Loop pipeliningThese functions provide the ability to finely control the pipelining of a loop
 Non-portable optimizationsThese functions provide non-portable or semi-portable functionality that can be used to apply low level optimizations
 Register pinningThese functions provide a semi-portable interface to pin variables, such as vectors, accumulators, masks, and pointers, to a given register/set of registers