Revision History - 2022.1 English

AI Engine Kernel Coding Best Practices Guide (UG1079)

Document ID
UG1079
Release Date
2022-05-25
Version
2022.1 English

The following table shows the revision history for this document.

Section Revision Summary
05/25/2022 Version 2022.1
AI Engine Data Types Highlighted data type sizes supported natively by the AI Engine.
Vector Registers Added the grow_replicate function on aie::vector.
Loops Added Loop Flattening and Unrolling Rolling section.
Scheduling Separator Added information about scheduling separator pragma.
Parallel Streams Access Added information about accessing two input and/or output streams in parallel.
Profiling Kernel Code Added information about profiling kernel code using cycles() API.
Run-Time Parameter Specification Removed section about AI Engine-to-AI Engine runtime parameter support.
Data Communication via AXI4-Stream Interconnect Updated the section.
Window vs. Stream in Data Communication Updated section to reflect wIndow multicast support.
Example Designs Using the AI Engine API New chapter. Added new FIR Filter and Matrix Multiplication example designs.
Update, Extract, and Shift Added information about using the update API on accumulators.
11/10/2021 Version 2021.2
Scalar Processing Unit Updated for AI Engine API.
AI Engine Memory Added information about heap and stack size.
AI Engine API New section.
Introduction to Scalar and Vector Programming Updated for AI Engine API.
AI Engine API Overview New section.
Vector Arithmetic Operations
Vector Reduction
Bit-wise Operations
Data Comparison
Data Reshaping
Iterators
Operator Overloading
Multiple Lanes Multiplications - sliding_mul
Matrix Multiplications - mmul
API Operation Examples
Loops Updated information.
Floating-Point Operations Updated for AI Engine API.
Single Kernel Programming using Intrinsics Appendix describing programming using intrinsics.
Design Analysis and Programming using Intrinsics Appendix describing design analysis and programming using intrinsics.
07/19/2021 Version 2021.1
Accumulator Registers Added information about print acc value, as well as streaming data APIs.
Casting and Datatype Conversion Added a note about the AI Engine floating-point.
Initialization Added information about the static keyword.
Load and Store with Virtual Resource Annotations Added new section.
Window vs. Stream in Data Communication Added information.
DDR Memory Access through GMIO Removed information related to PL GMIO.
Mapping Algorithm onto the AI Engine Clarified description.
Coding with Intrinsics Added information about the (always_inline) attribute.
02/04/2021 Version 2020.2
Initial release. N/A