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模型生成GNN加速器;(2)GNNBuilder采用标准的PyTorch编程接口,为算法开发人员引入零开销;(3)GNNBuilder支持端到端的代码生成、仿真、加速器优化和硬件部署,实现了一键式GNN加速器设计;(4)GNNBuilder配备了准确的性能模型和生成的加速器,使得快速和灵活的设计空间探索(DSE)成为可能。在实验证明,我们的加速器性能模型的误差为36%以内的延迟预测和18%的BRAM数量预测。其次,我们展示了我们生成的加速器可以比CPU快6.33倍,比GPU快6.87倍。该框架是开源的,代码可在https://anonymous.4open.science/r/gnn-builder-83B4/处获得。