Downloading the Libraries - 2022.2 English

Vitis Tutorials: Hardware Acceleration (XD099)

Document ID
XD099
Release Date
2022-12-01
Version
2022.2 English

You must clone the Vitis Libraries from Vitis_Libraries into the local path.

  $ git clone https://github.com/Xilinx/Vitis_Libraries.git
  $ cd Vitis_Libraries/
  $ git checkout main 

After the download is completed, browse the subfolders to open the Graph library.

The Vitis Graph Library is an open-sourced Vitis library written in C++ for accelerating graph applications in a variety of use cases. It covers three levels of acceleration: the module level (L1), the pre-defined kernel level (L2), and the asynchronous software level (L3).

The folder structure is shown below:

Vitis Libraries Folder Structure
  
 Vitis_Libraries/
├── Jenkinsfile
├── LICENSE.txt
├── README.md
├── blas/
├── codec/
├── data_analytics/
├── data_compression/
├── database/
├── dsp/
├── graph/
├── hpc/
├── quantitative_finance/
├── security/
├── solver/
├── sparse/
├── utils/
└── vision/
 
Graph Library Structure
  
graph/
├── Jenkinsfile
├── L1
│   ├── README.md
│   ├── include
│   ├── tests
├── L2
│   ├── README.md
│   ├── benchmarks
│   ├── include
│   ├── meta
│   ├── tests
├── L3
│   ├── README.md
│   ├── demo
│   ├── include
│   ├── lib
│   ├── meta
│   ├── src
│   ├── tests
├── LICENSE.txt
├── README.md
├── docs
│   ├── Doxyfile_L2
│   ├── Doxyfile_L3
│   ├── Makefile
│   ├── Makefile.sphinx
│   ├── _build
│   ├── _static
│   ├── _templates
│   ├── benchmark.rst
│   ├── conf.py
│   ├── guide_L1
│   ├── guide_L2
│   ├── guide_L3
│   ├── images
│   ├── index.rst
│   ├── overview.rst
│   ├── plugin
│   ├── release.rst
│   ├── tutorial.rst
├── ext
│   ├── make_utility
│   ├── xcl2
├── library.json
├── plugin
    ├── README.md
 
Algorithms implemented by the Vitis Graph Library
  • Similarity analysis: Cosine Similarity, Jaccard Similarity.

  • Classification: k-nearest Neighbor, maximal independent set.

  • Centrality analysis: PageRank.

  • Pathfinding: Single Source Shortest Path (SSSP), Multi-Sources Shortest Path (MSSP), Minimum Spanning Tree, and Estimated Diameter.

  • Connectivity analysis: Weakly Connected Components and Strongly Connected Components.

  • Community detection: Louvain Modularity (From 22.1, Louvain API can support large-scale graphs), Label Propagation, and Triangle Count.

  • Search: Breadth-First Search and 2-Hop Search.

  • Graph Format: Renumber, Calculate Degree, and Format Conversion between CSR and CSC.