Vector Data Types - 2024.2 English - UG1583

AI Engine-ML Intrinsics User Guide (UG1583)

Document ID
UG1583
Release Date
2024-11-13
Version
2024.2 English
AI Engine-ML Intrinsics User Guide (v2024.2)
Loading...
Searching...
No Matches
Vector Data Types

Overview

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

The general naming convention for these data-types is shown below.

    v{NumLanes}[cu]int{SizeofElement}
    v{NumLanes}bfloat16

Disambiguation :

  • 'int' denotes integer fixed-point registers.
  • 'bfloat16' denotes brain-float (1b sign, 8b exponent, 7b mantissa).
  • 'accfloat' denotes single precision floating point values (1b sign, 8b exponent, 23b exponent). (Note : bfloat16 operations use the accfloat format as accumulator registers)
  • 'u' denotes unsigned
  • 'c' denotes complex

For example, v32uint4, v16int8, v8int16, v128int4, v32bfloat16

The total data-width of the vector data-types can be 64-bits, 128-bits, 256-bits, 512-bits, or 1024-bits.

Note
Vector data-types are stored in different sets of registers within the processor core. Large vectors (>256-bits) occupy more than one physical register. Register spills will reduce performance when more than one large register is 'live'.
Supported vector types and sizes
Scalar typeSupported vector lanes
int4/uint432/64/128/256
int8/uint816/32/64/128
int16/uint168/16/32/64
int32/uint324/8/16/32
cint162/4/8/16/32
cint322/4/8/16
bfloat168/16/32/64
cbfloat162/4/8/16
float4/8/16/32
cfloat2/4/8/16

Modules

 Complex Vector Types
 
 Compressed Complex Vector Types
 
 Compressed Floating-Point Vector Types
 
 Compressed Integer Vector Types
 
 Compressed Sparse Vector Types
 
 Floating-Point Vector Types
 
 Integer Vector Types
 
 Sparse Vector Types