|
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 |