![]() |
AI Engine-ML v2 Intrinsics User Guide
v2025.1
|
| ▼Accumulator Data Types | |
| FP Complex Accumulator Types | |
| Floating-Point Accumulator Types | |
| ►Integer Accumulator Types | |
| Integer Complex Accumulator Types | |
| Basic Types: Summary | Summary of the vector and accumulator registers |
| ▼Compiler optimizations | Description of the optimizations automatically performed by the compiler |
| ►Code annotations | Description of the optimizations performed by the compiler based on the annotations provided by the user |
| ►Code optimizations | Description of the optimizations performed by the compiler to simplify the code |
| Conversion Functions | Set of functions for converting types |
| ▼Load/Store Operations | |
| Addressing intrinsics | |
| Load 4x Operations | |
| ►Streams | |
| Load/store to FIFO registers | |
| ▼Nonlinear functions | |
| Scalar nonlinear functions | |
| Vector nonlinear functions | |
| Scalar Data Types | All the standard C scalar data-types are supported |
| ▼Scalar Operations | |
| ►Configuration | |
| Core ID | |
| Cycle Counter | |
| Events | |
| Initialization | |
| Integer Operations | Scalar division step intrinsic |
| Locks | |
| Scalar updates and extracts | |
| Stream access | These functions setup stream accesses in native mode |
| ▼Vector Conversions | Various forms of conversions between vector data-types |
| Brain float (BF16) to integer conversions | Conversion from bfloat16 vector to integer vector |
| ►Broadcast | Broadcasts input value to all vector lanes |
| Casting | Casting intrinsics allow casting (bit-reinterpretation) between vector types of the same size |
| ►Concatenate vectors | Vector concat intrinsic functions allow concatenation of vector values to create a larger one |
| ►Extract vector | Extraction intrinsics enable lanes to be selected from vector and accumulator types |
| Extract/insert element | These intrinsics allow inserting or extracting of an individual element into/from a vector |
| ►Insert vector | Vector insert intrinsic functions allow substitution of the lanes within a vector value |
| Pack/Unpack | |
| ►Set vector | Vector set intrinsic functions allow setting the lanes within a vector value |
| ►Shift-Round-Saturate | Intrinsics for moving values from accumulator data-types to vector data-types |
| ►Upshift | Intrinsics for moving values from vector data-types to accumulator data-types |
| ▼Vector Data Types | |
| ►Brain Floating-Point Vector Types | |
| Complex Floating-Point Vector Types | |
| Complex Vector Types | |
| ►Floating-Point Vector Types | |
| ►Integer Vector Types | |
| MX Vector Types | Microscaling Formats (MX) vector data-types are stored in the vector registers within the AIE-ML v2 |
| ►Sparse Vector Types | |
| ▼Vector Operations | |
| Add/Subtract | Intrinsics and operators that allows you to perform addition and substraction operations on all types of vectors |
| Bitwise logical | Intrinsics and operators that allows you to perform bitwise logical operations on all types of vectors |
| Compare/Select | |
| Initialization | |
| ►Multiply Accumulate | Intrinsics allowing you to perform MUL/MAC operations and a few of their variants |
| Shift | These intrinsics allow shifting full vectors |
| Shift element | These intrinsics allow inserting of an element into a vector by pushing in a new value at one end of the vector |
| ►Shuffle | Intrinsics allowing you perform vector shuffles |