In the Vitis application acceleration development flow, kernels are the processing elements executing in the PL region of the Xilinx device. The Vitis software platform supports kernels written in C/C++, RTL, or OpenCL C/C++. Regardless of source language, all kernels have the same properties and must adhere to same set of requirements.
Kernels can be defined as software controllable, or non-software controlled. This means that the kernel is controlled through software such as the host application, or is unmanaged by software and is instead data driven.