There are three critical components in making a kernel work on a platform using Vitis: Host code with OpenCL constructs Wrappers around HLS Kernel(s) Makefile to compile the kernel for emulation or running on hardware.