Number of Kernels - 2023.2 English

Vitis Tutorials: AI Engine (XD100)

Document ID
XD100
Release Date
2024-03-05
Version
2023.2 English

The nk switch specifies the number of kernel instances or compute units (CUs) the v++ command adds to the device binary (XCLBIN). It specifies the kernel name, the number of instances (or CUs) of that kernel, and the CU name for each instance. For example, the first set of kernel instances is as follows:

#PL Kernel Instances for Downlink Subgraph 0
nk=dlbf_data:1:dlbf_data_00
nk=dlbf_coeffs:8:dlbf_coeffs_00.dlbf_coeffs_01.dlbf_coeffs_02.dlbf_coeffs_03.dlbf_coeffs_04.dlbf_coeffs_05.dlbf_coeffs_06.dlbf_coeffs_07
nk=dlbf_slave:8:dlbf_o00.dlbf_o01.dlbf_o02.dlbf_o03.dlbf_o04.dlbf_o05.dlbf_o06.dlbf_o07

The first line specifies there is one dlbf_data PL kernel named dlbf_data_00. The second line specifies there are eight dlbf_coeffs PL kernels named dlbf_coeffs_00 ... dlbf_coeffs_07. The last line specifies that there are eight dlbf_slave PL kernels named dlbf_o00 ... dlbd_o07. The config.ini file repeats this three times because there are three instances of the downlink subgraph.

The config.ini file also repeats this connection scheme for the ULBF PL kernels:

#PL Kernel Instances for Uplink Subgraph 0
nk=ulbf_data:1:ulbf_data_00
nk=ulbf_coeffs:4:ulbf_coeffs_00.ulbf_coeffs_01.ulbf_coeffs_02.ulbf_coeffs_03
nk=ulbf_slave:4:ulbf_o00.ulbf_o01.ulbf_o02.ulbf_o03

The config.ini file repeats this three times because there are three instances of the uplink subgraph. Each uplink subgraph requires one ulbf_data kernel, four ulbf_coeff kernels, and four ulbf_slave kernels.