| AI Engine-ML v2 Intrinsics User Guide v2025.2

Loading...
Searching...
No Matches
Topics
Accumulator Data Types

## Topics
| FP Complex Accumulator Types
| Floating-Point Accumulator Types
| Integer Accumulator Types
| Integer Complex Accumulator Types

## Detailed Description

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

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

        v{NumLanes}[c]acc{SizeofElement}
        v{NumLanes}accfloat

Disambiguation :

- 'acc' denotes accumulator registers (higher precision than 'int').
- 'accfloat' denotes single precision floating point values (1b sign, 8b exponent, 23b exponent). (Note : bfloat16 operations use the accfloat format as accumulator registers)
- 'c' denotes complex

For example, `v16acc32`, `v32accfloat`

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

Note
  Accumulator data-types are stored in different sets of registers within the processor core. Large accumulators (>256-bits) occupy more than one physical register. Register spills will reduce performance when more than one large register is 'live'.

Supported accumulator types and sizes
Scalar type | Supported accumulator lanes
--- | ---
acc32 | 8/16/32
acc64 | 4/8/16
cacc64 | 2/4/8
accfloat | 8/16/32