[论文解读] GenGNN: A Generic FPGA Framework for Graph Neural Network Acceleration
GenGNN 是一种通用的、开源的 FPGA 框架,通过高层次综合(HLS)加速多种图神经网络(GNN)模型,实现实时推理而无需图预处理。它通过结合统一的消息传递架构与针对 GCN、GIN、GAT、PNA、DGN 和 VN 模型的特定组件,实现了相较于 CPU 的最高 25× 加速和相较于 GPU 的最高 13× 加速。
Graph neural networks (GNNs) have recently exploded in popularity thanks to their broad applicability to ubiquitous graph-related problems such as quantum chemistry, drug discovery, and high energy physics. However, meeting demand for novel GNN models and fast inference simultaneously is challenging because of the gap between the difficulty in developing efficient FPGA accelerators and the rapid pace of creation of new GNN models. Prior art focuses on the acceleration of specific classes of GNNs but lacks the generality to work across existing models or to extend to new and emerging GNN models. In this work, we propose a generic GNN acceleration framework using High-Level Synthesis (HLS), named GenGNN, with two-fold goals. First, we aim to deliver ultra-fast GNN inference without any graph pre-processing for real-time requirements. Second, we aim to support a diverse set of GNN models with the extensibility to flexibly adapt to new models. The framework features an optimized message-passing structure applicable to all models, combined with a rich library of model-specific components. We verify our implementation on-board on the Xilinx Alveo U50 FPGA and observe a speed-up of up to 25x against CPU (6226R) baseline and 13x against GPU (A6000) baseline. Our HLS code will be open-source on GitHub upon acceptance.
研究动机与目标
- 解决当前缺乏适用于快速演化的 GNN 模型的通用、可扩展的 FPGA 加速器的问题。
- 通过消除对图预处理或划分的需求,实现实时 GNN 推理。
- 支持广泛存在的及新兴的 GNN 架构,包括无法表示为稀疏矩阵乘法的模型。
- 提供一个开源、可重用的框架,包含硬件优化组件,实现 FPGA 上的快速部署。
- 在保持未来模型扩展灵活性的同时,实现多种 GNN 模型的高性能。
提出的方法
- 设计一种适用于所有 GNN 模型的通用消息传递架构,抽象出核心计算模式。
- 在 HLS 中实现模型特定的组件,以处理注意力、边嵌入和方向聚合等独特操作。
- 采用基于流的流水线技术,重叠节点嵌入与消息传递计算,降低延迟并减少内存占用。
- 集成零预处理流水线,直接消费原始输入图,实现实时处理。
- 利用高层次综合(HLS)生成高效的、可综合的 C++ 代码,用于 Xilinx Alveo U50 FPGA 部署。
- 通过片上内存管理和片外数据流技术,扩展框架以支持大规模图。
实验结果
研究问题
- RQ1单一 FPGA 框架是否能在无需为每种模型重新设计硬件架构的前提下,实现对多种 GNN 模型的高性能?
- RQ2基于流的流水线技术在不增加内存占用的前提下,能在多大程度上降低 GNN 推理的延迟?
- RQ3该框架在处理动态或不规则图工作负载时,是否能有效实现实时 GNN 推理且无需图预处理?
- RQ4在多种 GNN 模型和数据集上,该框架相较于 CPU 和 GPU 基线实现了多大的性能提升?
- RQ5当图规模超过片上内存容量时,该框架是否仍能保持高吞吐量并实现可扩展性?
主要发现
- 在 MolHIV 数据集上,GenGNN 对 DGN 模型实现了相较于 CPU 最高 25.96× 和相较于 GPU 最高 25.96× 的加速,证明了其在加速复杂 GNN 模型方面的有效性。
- 在 MolPCBA 数据集上,GenGNN 实现了相较于 GPU 最高 17.66× 的加速和相较于 CPU 最高 9.69× 的加速,证实了其在多样化模型上的稳定性能提升。
- 基于流的流水线技术相较于非流水线执行,将延迟降低了最高 1.92×,尤其在节点处理与消息处理延迟不平衡的图中表现更优。
- 在 Cora 图上,GenGNN 相较于 CPU 实现了 1.49–1.95× 的加速,相较于 GPU 实现了 2.44× 的加速,表明其在片上内存受限的大规模图上仍具可扩展性。
- 该框架无需重新架构即可支持六种 GNN 模型——GCN、GIN、GAT、PNA、DGN 和 VN,证明了其通用性与可扩展性。
- 在 GitHub 上开源 HLS 代码,使研究社区能够实现复现并进一步扩展。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。