Description
This message reports the percentage of kernel time utilized for computing results.
Explanation
If a compute unit (CU) is being used as the accelerator for a specific task, utilization is the indicator of how much total compute time was actually utilized to produce valid output. The higher the number, the more actual workload was processed by the CU.
The goal is to increase this number to as close as possible to 100%. However, as data needs to be transferred to the accelerator card and there might be additional preprocessing performed outside of the accelerator, 100% is not a realistic goal. This is why the guidance message is triggered if the utilization is lower than the threshold value commonly observed.
The achievable goal for any specific application might be quite different and it is up to the user and their knowledge of the application domain to determine whether the utilization can be improved.
Recommendation
The Vitis Timing Analysis view allows the compute unit utilization to be observed over time. If the usage is indicated to be low, it would be good to study the timing analysis report and analyze if, for the given workload, the accelerator is used to its maximum extent. If there are large gaps between different invocations of the accelerator, the programmer should identify what keeps the accelerator from executing more continuously. Typical problematic areas are data transfer bottlenecks and concurrent execution setup, such as software pipelining, which should be looked at.