Options - 2023.2 English

AI Engine Kernel and Graph Programming Guide (UG1079)

Document ID
UG1079
Release Date
2023-12-04
Version
2023.2 English

There are rich sets of MAC intrinsic with additional operations like pre-adding, pre-subtraction, and conjugation. The naming convention for the vector MAC intrinsics is as follows. Optional characteristics are shown in [] and mandatory ones in {}.

[l]{mac|msc|mul|negmul}{2|4|8|16}[_abs|_max|_min|_maxdiff][_conj][{_sym|_antisym}[_ct|_uct]][_c|_cc|_cn|_nc]

Every operation will either be a multiplication, initializing an accumulator, or a MAC operation which accumulates to a running accumulator of 2, 4, 8, or 16 lanes.

l
Denotes that an accumulator with 80-bit lanes is used for the operation.
sym and antisym
Indicates the use of pre-adding and pre-subtraction respectively.
max, min, and maxdiff
Indicates the pre-selection of lanes in the xbuff based on the maximum, minimum, or maximum difference value.
abs
Indicates the pre-computation of the absolute value in the xbuff.
ct
Used for partial pre-adding and pre-subtraction (separate selection for the data input from X for the final column).
uct
Used for unit center optimization for certain types of FIR filters. Refer to the AI Engine Intrinsics User Guide (UG1078) for more information.
n and c
Used to indicate that the complex conjugate will be used for one of the input buffers with complex values:
c
The only complex input buffer will be conjugated.
cn
Complex conjugate of X (or XY if pre-adding is used) buffer.
nc
Complex conjugate of Z buffer.
cc
Complex conjugate of both X (or XY if pre-adding is used) and Z buffers.
conj
Indicates that the complex conjugate of Z will be used when multiplying the data input from Y.