FPGA-GPU communicating through PCIe

In recent years two main platforms emerged as powerful key players in the domain of parallel computing: GPUs and FPGAs. Many researches investigate interaction and benefits of coupling them with a general purpose processor (CPU), but very few, and only very recently, integrate the two in the same computational system. Even less researches are focusing on direct interaction of the two platforms 1.This paper presents an implementation of a GPU-FPGA direct communication. The transfer is triggered by a central CPU but managed by the FPGA, in a DMA-like manner. An initial framework has been developed on a Virtex-5 FPGA, with a PCIe Gen1.1×1 setup, and demonstrates a 200MB/s data rate. A new implementation on Virtex-7 has been conducted, supporting Gen3.0×8, with a demonstrated throughput of up to 2.4GB/s in a Gen2.1×8 setup. Performance results between different hardware setups are therefore presented and compared. The various measurements demonstrate achieved data rates that are close to the theoretical maximum, with some interesting outliners, and a very low interfacing latency.

[1]  Yann Thoma,et al.  FPGA2: An open source framework for FPGA-GPU PCIe communication , 2013, 2013 International Conference on Reconfigurable Computing and FPGAs (ReConFig).

[2]  Pingfan Meng,et al.  FPGA-GPU-CPU heterogenous architecture for real-time cardiac physiological optical mapping , 2012, 2012 International Conference on Field-Programmable Technology.

[3]  Ab Al-Hadi Ab Rahman,et al.  Pipeline synthesis and optimization of FPGA-based video processing applications with CAL , 2011, EURASIP J. Image Video Process..

[4]  Shinpei Kato,et al.  Gdev: First-Class GPU Resource Management in the Operating System , 2012, USENIX Annual Technical Conference.

[5]  Kevin Skadron,et al.  Accelerating Compute-Intensive Applications with GPUs and FPGAs , 2008, 2008 Symposium on Application Specific Processors.

[6]  Erik Ruf,et al.  Direct GPU/FPGA Communication via PCI Express , 2012, ICPP Workshops.

[7]  Alessandro Forin,et al.  Direct GPU/FPGA communication Via PCI express , 2012, 2012 41st International Conference on Parallel Processing Workshops.

[8]  J. Kulpa,et al.  Time-frequency analysis using NVIDIA compute unified device architecture (CUDA) , 2009, Symposium on Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments (WILGA).