ISSN 1000-1239 CN 11-1777/TP

• 系统结构 •

### FPGA图计算的编程与开发环境：综述和探索

1. (上海交通大学电子信息与电气工程学院 上海 200240) (lazarus@sjtu.edu.cn)
• 出版日期: 2020-06-01
• 基金资助:
国家重点研发计划项目(2018YFB1003500)

### Programming and Developing Environment for FPGA Graph Processing: Survey and Exploration

Guo Jinyang, Shao Chuanming, Wang Jing, Li Chao, Zhu Haojin, Guo Minyi

1. (School of Electronic Information and Electrical Engineering, Shanghai Jiao Tong University, Shanghai 200240)
• Online: 2020-06-01
• Supported by:
This work was supported by the National Key Research and Development Plan of China (2018YFB1003500).

Abstract: Due to the advantages of high performance and efficiency, graph processing accelerators based on reconfigurable architecture field programmable gate array (FPGA) have attracted much attention, which satisfy complex graph applications with various basic operations and large-scale of graph data. However, efficient code design for FPGA takes long time, while the existing functional programming environment cannot achieve desirable performance. Thus, the problem of programming wall on FPGA is significant, and has become a serious obstacle when designing the dedicated accelerators. A well-designed programming environment is necessary for the further popularity of FPGA-based graph processing accelerators. A well-designed programming environment calls for convenient application programming interfaces, scalable application programming models, efficient high-level synthesis tools, and a domain-specific language that can integrate software/hardware features and generate high-performance underlying code. In this article, we make a systematic exploration of the programming environment for FPGA graph processing. We mainly introduce and analyze programming models, high-level synthesis, programming languages, and the related hardware frameworks. In addition, we also introduce the domestic and foreign development of FPGA-based graph processing accelerators. Finally, we discuss the open issues and challenges in this specific area.