In the Vitis™ core development kit, the kernel code is generally a compute-intensive part of the algorithm and meant to be accelerated on the FPGA. The Vitis core development kit supports the kernel code written in C/C++, OpenCL™ , and also in RTL. This guide mainly focuses on the C kernel coding style.
During the runtime, the C/C++ kernel executable is called through the host code executable.
Important: Because the host code and the kernel code are
developed and compiled independently, there could be a name mangling issue if one is
written in C and the other in C++. To avoid this issue, wrap the kernel function
declaration with the
extern "C"
linkage in the header
file, or wrap the whole function in the kernel
code.extern "C" {
void kernel_function(int *in, int *out, int size);
}