Skip to content

Latest commit

 

History

History

Lab1_sobel

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Explore Different Implementations of the Sobel Filter: Hand-Written vs. Vitis Vision Library

In this section, we will focus on implementing an optimized hand-written version of the Sobel operator in HLS and comparing its performance with the Sobel operator from the Vitis Vision Library. The first challenge we will encounter is the installation and configuration of the Vitis Vision Library, with all installation details provided in this document. Next, we will deploy the different versions of the Sobel HLS kernel onto the board and test the hardware acceleration performance within the PYNQ framework. A comparison of different implementations of the Sobel operator shows that using the Vitis Vision Library is more than three times faster than the hand-written Sobel acceleration kernel when run on the same device and interface. Therefore, we need to master not only the design process and optimization techniques for HLS kernels but also learn to implement suitable operators using the existing Vitis Acceleration library.

Comparison

The advantages and disadvantages of the two methods are as follows:

Method Advantages Disadvantages
Hand-Written Sobel - Highly customizable - Time-consuming to develop and optimize
- Potential for tailored optimization for specific needs - Requires deep knowledge of HLS and algorithm intricacies
Vitis Vision Library - Faster development time - Less flexibility in customization
- Pre-optimized for performance - Dependent on library updates
- Easier to implement

Content

Part Topic Description Environment
1 Software Implementation Software Implementation with OpenCV-Python Library Jupyter Notebook
2 HLS Kernel Programming Hand-Coded Sobel HLS Kernel to Extract Image edges AMD Vitis HLS 2023.2
Using Sobel in Vitis Vision Library to Extract Image Edges
3 System-level Integration Create the kernel Graph and the test bench Vivado Jupyter Notebook
Load the overlay and run the application on the PYNQ framework
Visualize the results and analyze the performance

Installation and Deployment of Vitis Vision Library

  1. Installation Steps :

    • Detailed instructions for installing the Vitis Vision Library.
      • If you are using Windows system, please refer to this guide.
      • If you are using Linux system, please refer to this guide.
    • Ensure all dependencies and environment settings are configured correctly.
    • Follow the configuration steps to set up the library within your development environment.
  2. Deployment Steps :

    • Follow the Sobel GUI flow tutorial or the tcl file to generate the PYNQ overlay.
    • Deploy both the hand-written HLS Sobel kernel and the Vitis Vision Library Sobel kernel onto the board.
    • Ensure that the PYNQ framework is correctly set up to support hardware acceleration.
    • Test the performance of both implementations within the PYNQ framework.
    • Measure metrics such as execution time, resource utilization, and power consumption.

Copyright© 2024 Advanced Micro Devices