Kernel Data Interface - 2025.1 English - XD100

Vitis Tutorials: AI Engine Development (XD100)

Document ID
XD100
Release Date
2025-08-25
Version
2025.1 English

While this kernel is designed for bfloat16 processing, the function signature indicates that data type at the interface is int16 for both input and output.

void softmax_kernel::softmax(input_stream<int16>* in, output_stream<int16>* out)

Each of these int16 values represents the 16-bits of a bfloat16 value. When used by the kernel, values are reinterpreted as bfloat16 for processing. The reason for this is that when performing AI Engine simulation, text files are used for input and output of data. Use of int16 preserves all bits of the floating-point number when read from or written to a text file and allows for test vector matching at the bit level.

The streaming interfaces are used for input and output, which reduces latency and eliminates the need for ping pong buffers in data memory.