Working with Auto-Restarting Kernels - 2022.1 English

Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393)

Document ID
Release Date
2022.1 English

Auto-restarting kernels can run continuously after being started once by the host application. They can run until reset and restarted, or they can be programmed to run for a predetermined number of iterations without the host explicitly calling them multiple times. You can also set the kernel to restart for a specified number of executions in a mode called counted auto-restart. This functionality is similar to a while(running) loop in software code, where the running variable is controlled by the host code. The control of the kernel is managed in hardware so that once the kernel is started by the host code it is automatically restarted until the iteration count is exceeded, or until explicitly stopped by the host code. In addition, the host application can query the status of the kernel to check specific register states or to provide new parameters to be used at the next opportunity.

Auto-restarting kernels make use of several unique features:

  1. The auto-restart bit to continuously restart the kernel, or restart it for a specified number of iterations, without explicit host calls for each kernel execution.
  2. A mailbox to enable the host to occasionally synchronize with the kernel to set new operating parameters, or check the status of the current run, as described in Using the Mailbox.
  3. The software_reset feature letting the host application reset the auto-restart kernel to stop it.