• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

Computer Engineering & Science ›› 2021, Vol. 43 ›› Issue (04): 641-651.

Previous Articles     Next Articles

A high performance FPGA-GPU-CPU heterogeneous programming architecture based on PCIe

SUN Zhao-peng,ZHOU Kuan-jiu   

  1. (College of Software,Dalian University of Technology,Dalian 116620,China)

  • Received:2020-08-05 Revised:2020-11-10 Accepted:2021-04-25 Online:2021-04-25 Published:2021-04-21

Abstract: As a special parallel computing method, heterogeneous computing can make full use of the capabilities of different computing units according to the characteristics of computing tasks. It has great advantages in improving the computing performance, real-time performance and reducing the energy consumption of the processor. However, at present, there are some problems in heterogeneous computing environment, such as complex programming and unreliability. To solve these problems, this paper proposes a programming framework based on state transition matrix (STM), which can integrate GPU and FPGA resources. Application programming interfaces (APIs) of CUDA and Vivado are integrated through STM, and the standard C code for heterogeneous computing is automatically generated. By connecting GPU and FPGA devices through PCI Express bus, data can be transferred between these heterogeneous computing units without intermediate use of system CPU memory. Besides, GPUDirect RDMA is used to realize the PCIe communication with FPGA as the main controller, which breaks through the short board of read operation in the PCIe communication with GPU as the main controller. Experimental results show that the communication efficiency is 1.9 times higher than that of shared memory, and the realized data rate is close to the maximum of theoretical bandwidth.


Key words: state transition matrix, heterogeneous computing, FPGA, GPU, PCIe