![]() |
AI Engine-ML v2 Intrinsics User Guide
v2025.1
|
Summary of the vector and accumulator registers.
Summary of the vector and accumulator registers.
The two main data types offered by the AIE cores are vector (Vector Data Types) and accumulator registers (Accumulator Data Types). There is also compiler support for some scalar data types (please refer to Scalar Data Types).
Vector data-types pack multiple scalar data elements into a wider vector. There are vector data-types with standard sized elements (4-bit, 8-bit, 16-bit, 32-bit). A summary of the scalar types and the number of lanes supported is described in the following table. Please refer to Vector Data Types for more details.
| Scalar type | Vector lanes |
|---|---|
| int4/uint4 | 32/64/128/256 |
| int8/uint8 | 16/32/64/128 |
| int16/uint16 | 8/16/32/64 |
| int32/uint32 | 4/8/16/32 |
| cint16 | 4/8/16/32 |
| cint32 | 2/4/8/16 |
| cfloat | 2/4/8/16/32 |
| bfloat8 | 8/16/32/64/128/256 |
| bfloat16 | 8/16/32/64/128 |
| float8 | 2/4/8/16/32/64/128/256 |
| float16 | 2/4/8/16/32/64/128 |
| float | 2/4/8/16/32/64 |
| mx4 | 16/64/128/256 |
| mx6 | 16/64/128/256 |
| mx9 | 16/32/64/128/256 |
| int4/uint4_sparse | 64/128 |
| int8/uint8_sparse | 128/256 |
| int16/uint16_sparse | 64/128 |
| float8_sparse | 128/256 |
| float16_sparse | 64/128 |
| bfloat8_sparse | 128/256 |
| bfloat16_sparse | 64/128 |
Accumulator data-types pack multiple scalar data elements into a wider vector. There are vector data-types with standard sized elements (32-bit, 64-bit). A summary of the scalar types and the number of lanes supported is described in the following table. Please refer to Accumulator Data Types for more details.
| Scalar type | Accumulator lanes |
|---|---|
| acc32 | 8/16/32/64 |
| acc64 | 4/8/16/32 |
| cacc64 | 2/4/8/16 |
| accfloat | 8/16/32/64 |
| caccfloat | 4/8/16/32 |