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.
Enable this to specify the constraint.
You can choose to either:
- Constrain a kernel to be placed on a specified AI Engine
tile.
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.
-
Vitis Model Composer also supports specifying two
kernels, say k1 and k2. These should not be mapped to the same AI Engine.