AI Engine API User Guide (AIE) 2023.2
|
▼Basic Types | The two main types offered by the AIE API are vectors (aie::vector) and accumulators (aie::accum) |
Basic Type Initialization | |
Vector and Accumulator Conversions | Vectors can be reinterpreted as vectors with a different element type, as long as they have the same total size |
Concepts for Basic Types | |
Accumulator Element Types | Accumulators in AIE API rely on the aie::accum class template |
Lazy Operations | AIE architectures offer multiplication instructions that can perform additional operations on on the input arguments |
Memory | Each AIE core has access to up to 4 Data Memories (DM) |
Initialization | Operations to initialize vectors and accumulators |
Arithmetic | AIE API provides a set of functions that implement arithmetic operations on vector types |
Bits | Bitwise logical operations |
Comparison | Vector comparison operations |
Reduction | Vector reduction operations |
Reshaping | AIE 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 Multiplication | The AIE API encapsulates the matrix multiplication functionality in the aie::mmul class template |
Fast Fourier Transform (FFT) | The AIE API offers a stage-based interface for carrying out decimation-in-time FFTs |
Special Multiplications | AIE 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 Overloading | The AIE API provides overloading for most of the available operators |
Interoperability with Adaptive Data Flow (ADF) Graph Abstractions | ADF graphs use data flow abstractions to read input data and write output data |