Kernel Location - 2024.1 English

Vitis Model Composer User Guide (UG1483)

Document ID
UG1483
Release Date
2024-05-30
Version
2024.1 English

When building large graphs with multiple subgraphs, it is sometimes useful to control the exact mapping of kernels to AI Engines, either relative to other kernels or in an absolute sense. Specifying location constraints provides a powerful mechanism to create a robust, scalable, and predictable mapping of your graph onto the AI Engine array. It also reduces the choices for the mapper to try, which can considerably speed up the mapper.

The kernel location constraint can be specified from the Model Composer Constraints editor window as shown.

  • By default, the option Specify Kernel Location is deselected. Select this to specify the constraint.
    Figure 1. Specify Kernel Location

You can choose to either:

  • Constrain a kernel to be placed on a specified AI Engine tile.
    Figure 2. Constrain Kernel

    Important: MATLAB variables can be used to specify the kernel locations.

    Or

  • Constrain two kernels to be placed relatively on the same AI Engine. This forces them to be sequenced in topological order and be able to share memory buffers without synchronization. As shown, you can select the kernel you want to place relatively on the AI Engine from the drop down.
    Figure 3. Constrain Two Kernels

  • Vitis Model Composer also supports specifying two kernels, say k1 and k2. These should not be mapped to the same AI Engine.
    Figure 4. Specify Two Kernels