GraFlex: Flexible Graph Processing on FPGAs through Customized Scalable Interconnection Network
- applications -> Example implementations of graph applications
- automation -> Python scripts to generate Tcl scripts for GraFlex automation flow
- UTIL_IP -> Infrastructure IP library packaged with Vivado 2020.2
- Python >= 3.7
- Vivado & Vitis & Vitis HLS 2020.2
- XRT Version: xrt_202110.2.11.634 or xrt_202020.2.8.743 (newer ones not verified)
- AMD Xilinx Alveo U280 Acceleration Board
Try GraFlex with the BFS example (Bellman-Ford, 2 PEs)
cd <path_to>/GraFlex/applications/bfs_bf/PE_2
export PYTHONPATH=<path_to>/GraFlex/automation
python auto_backend.py
vivado -source autoTcl/auto_backend.tcl
Check applications/bfs_bf/PE_2/xo2xclbin for example
Current release is not fully stable. To access the graph datasets and directly reproduce the results, please visit the following Zenodo link:
If you use this work in your paper, please cite our work here.
@inproceedings{su2024graflex,
title={GraFlex: Flexible Graph Processing on FPGAs through Customized Scalable Interconnection Network},
author={Su, Chunyou and Du, Linfeng and Liang, Tingyuan and Lin, Zhe and Wang, Maolin and Sinha, Sharad and Zhang, Wei},
booktitle={Proceedings of the 2024 ACM/SIGDA International Symposium on Field Programmable Gate Arrays},
pages={143--153},
year={2024}
}