Litcius/Paper detail

GNNBuilder: An Automated Framework for Generic Graph Neural Network Accelerator Generation, Simulation, and Optimization

Stefan Abi-Karam, Cong Hao

202315 citationsDOI

Abstract

There are plenty of graph neural network (GNN) accelerators being proposed. However, they highly rely on users' hardware expertise and are usually optimized for one specific GNN model, making them challenging for practical use. Therefore, in this work, we propose GNNBuilder, the first automated, generic, end-to-end GNN accelerator generation framework. It features four advantages: (1) GNNBuilder can automatically generate GNN accelerators for a wide range of GNN models arbitrarily defined by users; (2) GNNBuilder takes standard PyTorch programming interface, introducing zero overhead for algorithm developers; (3) GNNBuilder supports end-to-end code generation, simulation, accelerator optimization, and hardware deployment, realizing push-button GNN accelerator design; (4) GNNBuilder is equipped with accurate performance models for its generated accelerators, enabling fast and flexible design space exploration (DSE). In the experiments, we show that our accelerator performance model has errors within 36% for latency prediction and 18% for BRAM count prediction. Additionally, we show that our generated accelerators can outperform CPU by 6.33× and GPU by 6.87×. This framework is open-source, and the code is available at https://github.com/sharc-lab/gnn-builder.

Topics & Concepts

Computer scienceHardware accelerationLatency (audio)Code (set theory)Artificial neural networkCode generationOverhead (engineering)Software deploymentToolchainDesign space explorationGraphComputer engineeringEmbedded systemComputer hardwareComputer architectureSoftwareProgramming languageOperating systemArtificial intelligenceTheoretical computer scienceKey (lock)Set (abstract data type)TelecommunicationsAdvanced Graph Neural NetworksMachine Learning in Materials ScienceGraph Theory and Algorithms