Data flow graph kernels operate on data streams that are infinitely long sequences of typed values. These data streams can be broken into separate blocks and these blocks are processed by a kernel. Kernels consume input blocks of data and produce output blocks of data. Kernels can also access the data streams in a sample-by-sample fashion. The data access API in these two cases are described in this chapter.
Note: The data movement APIs described
in this chapter apply to both vector and scalar, signed and unsigned data. However, note
that the AI Engine architecture supports unsigned
integer vector arithmetic only for the 8-bit data
types
aie::vector<uint8,16>
,
aie::vector<uint8,32>
,
aie::vector<uint8,64>
,
aie::vector<uint8,128>
. But for scalar arithmetic, all standard C unsigned integer data types unsigned char(uint8)
, unsigned
short(uint16)
, unsigned int(uint32)
, unsigned long
long(uint64)
are supported.