FlowGNN: A Dataflow Architecture for Universal Graph Neural Network Inference via Multi-Queue Streaming

  • 2022-04-27 18:59:25
  • Rishov Sarkar, Stefan Abi-Karam, Yuqi He, Lakshmi Sathidevi, Cong Hao
  • 1

Abstract

Graph neural networks (GNNs) have recently exploded in popularity thanks totheir broad applicability to graph-related problems such as quantum chemistry,drug discovery, and high energy physics. However, meeting demand for novel GNNmodels and fast inference simultaneously is challenging because of the gapbetween developing efficient accelerators and the rapid creation of new GNNmodels. Prior art focuses on the acceleration of specific classes of GNNs, suchas Graph Convolutional Network (GCN), but lacks the generality to support awide range of existing or new GNN models. Meanwhile, most work rely on graphpre-processing to exploit data locality, making them unsuitable for real-timeapplications. To address these limitations, in this work, we propose a genericdataflow architecture for GNN acceleration, named FlowGNN, which can flexiblysupport the majority of message-passing GNNs. The contributions are three-fold.First, we propose a novel and scalable dataflow architecture, which flexiblysupports a wide range of GNN models with message-passing mechanism. Thearchitecture features a configurable dataflow optimized for simultaneouscomputation of node embedding, edge embedding, and message passing, which isgenerally applicable to all models. We also propose a rich library ofmodel-specific components. Second, we deliver ultra-fast real-time GNNinference without any graph pre-processing, making it agnostic to dynamicallychanging graph structures. Third, we verify our architecture on the XilinxAlveo U50 FPGA board and measure the on-board end-to-end performance. Weachieve a speed-up of up to 51-254x against CPU (6226R) and 1.3-477x againstGPU (A6000) (with batch sizes 1 through 1024); we also outperform the SOTA GNNaccelerator I-GCN by 1.03x and 1.25x across two datasets. Our implementationcode and on-board measurement are publicly available on GitHub.

 

Quick Read (beta)

loading the full paper ...