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 a push-button fashion for GNN accelerator design; (4) GNNBuilder is equipped with accurate performance models of its generated accelerator, enabling fast and flexible design space exploration (DSE). In the experiments, first, we show that our accelerator performance model has errors within $36\%$ for latency prediction and $18\%$ for BRAM count prediction. Second, we show that our generated accelerators can outperform CPU by $6.33\times$ and GPU by $6.87\times$. This framework is open-source, and the code is available at https://anonymous.4open.science/r/gnn-builder-83B4/.
翻译:已有大量图神经网络(GNN)加速器被提出。然而,它们高度依赖用户的硬件专业知识,且通常针对特定GNN模型进行优化,这使其在实际应用中面临挑战。因此,在本工作中,我们提出了GNNBuilder——首个自动化、通用、端到端的GNN加速器生成框架。该框架具有四大优势:(1)GNNBuilder可自动为用户任意定义的各类GNN模型生成加速器;(2)GNNBuilder采用标准PyTorch编程接口,对算法开发者实现零额外负担;(3)GNNBuilder支持端到端的代码生成、仿真、加速器优化及硬件部署,实现GNN加速器设计的“一键式”流程;(4)GNNBuilder配备所生成加速器的精确性能模型,支持快速灵活的设计空间探索(DSE)。实验中,首先,我们展示了加速器性能模型的延迟预测误差在$36\%$以内,BRAM计数预测误差在$18\%$以内。其次,我们验证了所生成的加速器性能可超越CPU达$6.33\times$,超越GPU达$6.87\times$。本框架为开源,代码可从 https://anonymous.4open.science/r/gnn-builder-83B4/ 获取。