AI Engine Intrinsics User Guide
(AIE) r2p23
|
Vector data-types pack multiple scalar data elements into a wider vector. There are vector data-types with standard sized elements (8-bit, 16-bit, 32-bit, 64-bit), as well as accumulator types with wider element data-width (48-bit, 80-bit) for maintaining higher precision during arithmetic operations. A 48-bit accumulator element can be used to store the result of 16x16 (or 16x8) multiply-accumulate operations, while an 80-bit accumulator element can be used to store the result of 32x32 multiply-accumulate operations, without loss of precision. Furthermore, results from mixed precision computations higher than 16x8, namely, 16x32 and 32x16 can be stored either in a 48-bit or an 80-bit accumulator.
The general naming convention for these data-types is shown below.
v{NumLanes}[c]{[u]int|float|acc}{SizeofElement}
Optional specifications :
For example, v16int8
, v4cint16
, v2int128
, v4cacc48
, v8acc80
, v4float
The total data-width of the vector data-types can be 128-bits, 256-bits, 512-bits, or 1024-bits. The total data-width of the accumulator data-types can be 320/384-bits or 640/768-bits.
Modules | |
Accumulator Types | |
Floating Point Vector Types | |
Integer Vector Types | |