Skip to content

Latest commit

 

History

History

sys_opt

System Optimization Examples

System Optimization examples focussed towards hardware optimization using HLS C/C++ kernels for Xilinx devices.

Examples Table :

Example Description Key Concepts/Keywords
advanced_config This is simple example to describe how user can provide various advanced options in Vitis flow.

Key Concepts

Keywords

kernel_swap This example shows how host can swap the kernels and share same buffer between two kernels which are exist in separate binary containers. Dynamic platforms does not persist the buffer data so host has to migrate data from device to host memory before swapping the next kernel. After kernel swap, host has to migrate the buffer back to device.

Key Concepts

  • Handling Buffer sharing across multiple binaries
  • Multiple Kernel Binaries

Keywords

multiple_devices This example show how to take advantage of multiple FPGAs on a system. It will show how to initialized an OpenCL context, allocate memory on the two devices and execute a kernel on each FPGA.

Key Concepts

Keywords

  • xcl::get_xil_devices
multiple_process This example will demonstrate how to run multiple processes to utilize multiple kernels simultaneously on an FPGA device. Multiple processes can share access to the same device provided each process uses the same xclbin. Processes share access to all device resources but there is no support for exclusive access to resources by any process.

Key Concepts

Keywords

  • PID
  • fork
  • XCL_MULTIPROCESS_MODE
  • multiprocess
plram_config This example showcases how to configure various PLRAM parameters like Memory Size, Memory Type(BRAM/URAM) etc.

Key Concepts

  • Vitis Memory Hierarchy
  • PLRAMs

Keywords

slr_assign This is simple example to describe SLR assignment information for a platform design. This example highlights how to provide extra input to assign the logic of the kernel into a nominated SLR. In this example we are assigning first kernel(Vector Multiplication) to SLR0 and assigning the second kernel(Vector Addition) to SLR1

Key Concepts

Keywords