Kernel Parallel Execution - 2019.2 English - UG1315

Vitis Guidance Messaging (UG1315)

Document ID
UG1315
Release Date
2019-10-30
Version
2019.2 English

Description

This rule checks whether multiple executions of the dataflow kernel are being executed sequentially, not taking advantage of overlapping executions of dataflow kernel.

Explanation

Vitis™ supports multiple executions of the kernels to be overlapped if the kernel is compiled to support a dataflow execution model.

To enable the host to kernel dataflow execution the following two conditions must hold:

  • The kernel requires to be properly compiled with a top-level dataflow pragma.
  • The host code enqueue kernel multiple times with an out-of-order command queue

Recommendation

If the kernel is already compiled with the dataflow model and host doing multiple kernel execution in a sequential fashion, then the host is not really taking advantage of the dataflow execution model. If the application functionality permits, ensure your host code does not impose any dependency between the multiple kernels enqueued, and an out-of-order command queue is used.