Skip to main content
QUICK REVIEW

[论文解读] VersaGNN: a Versatile accelerator for Graph neural networks

Shi Feng, Ahren Yiqiao Jin|arXiv (Cornell University)|May 4, 2021
Advanced Graph Neural Networks参考文献 45被引用 9
一句话总结

VersaGNN 是一种基于脉动阵列的硬件加速器,统一加速图神经网络(GNNs)中的密集与稀疏矩阵乘法,实现高吞吐量和高能效。通过集成 Strassen 算法用于密集乘法,以及一种贪心的工作负载平衡算法用于稀疏-密集运算,其在 CPU 上相比最先进的软件框架实现了最高 3712× 的加速比和 1301.25× 的能耗降低,在 GPU 上相比同类框架实现了 35.4× 的加速比和 17.66× 的能耗降低。

ABSTRACT

extit{Graph Neural Network} (GNN) is a promising approach for analyzing graph-structured data that tactfully captures their dependency information via node-level message passing. It has achieved state-of-the-art performances in many tasks, such as node classification, graph matching, clustering, and graph generation. As GNNs operate on non-Euclidean data, their irregular data access patterns cause considerable computational costs and overhead on conventional architectures, such as GPU and CPU. Our analysis shows that GNN adopts a hybrid computing model. The extit{Aggregation} (or extit{Message Passing}) phase performs vector additions where vectors are fetched with irregular strides. The extit{Transformation} (or extit{Node Embedding}) phase can be either dense or sparse-dense matrix multiplication. In this work, We propose extit{VersaGNN}, an ultra-efficient, systolic-array-based versatile hardware accelerator that unifies dense and sparse matrix multiplication. By applying this single optimized systolic array to both aggregation and transformation phases, we have significantly reduced chip sizes and energy consumption. We then divide the computing engine into blocked systolic arrays to support the extit{Strassen}'s algorithm for dense matrix multiplication, dramatically scaling down the number of multiplications and enabling high-throughput computation of GNNs. To balance the workload of sparse-dense matrix multiplication, we also introduced a greedy algorithm to combine sparse sub-matrices of compressed format into condensed ones to reduce computational cycles. Compared with current state-of-the-art GNN software frameworks, extit{VersaGNN} achieves on average 3712$ imes$ speedup with 1301.25$ imes$ energy reduction on CPU, and 35.4$ imes$ speedup with 17.66$ imes$ energy reduction on GPU.

研究动机与目标

  • 为解决 CPU 和 GPU 在执行 GNN 时因不规则数据访问和混合计算模式导致的性能与能效低下问题。
  • 通过单一多功能硬件加速器,统一加速 GNN 中的聚合(稀疏)与变换(密集)阶段。
  • 通过硬件层面集成 Strassen 算法,降低密集矩阵乘法的计算复杂度与内存访问开销。
  • 通过静态贪心预处理算法,提升稀疏-密集矩阵乘法中的负载均衡与资源利用率。
  • 设计一种内存高效、高吞吐的加速器,适用于具有幂律度分布的现实世界图数据。

提出的方法

  • 加速器采用脉动阵列架构,并对处理单元进行重构,以支持密集与稀疏矩阵乘法。
  • 将计算引擎划分为分块脉动阵列,以高效执行 Strassen 算法,减少密集矩阵运算中的乘法次数。
  • 采用贪心工作负载平衡算法,将压缩的稀疏子矩阵合并为紧凑的块矩阵,以最小化空闲周期并提升处理单元利用率。
  • 架构支持动态分块策略,可自适应不同节点的稀疏度水平与邻居分布。
  • 系统使用 Chisel HDL 实现,并在六个基准图数据集上,使用四种 GNN 模型进行评估。
  • 设计采用流水线数据通路,并有序输入操作数,以防止稀疏矩阵乘法期间的内存访问停顿。

实验结果

研究问题

  • RQ1单一硬件加速器能否高效处理 GNN 聚合阶段的不规则访问模式与变换阶段的规则访问模式?
  • RQ2Strassen 算法如何有效集成到脉动阵列中,以降低密集 GNN 矩阵运算中的计算量与内存访问?
  • RQ3贪心静态工作负载平衡算法对 GNN 稀疏-密集矩阵乘法的性能与能效有何影响?
  • RQ4与最先进的软件框架相比,该加速器在 CPU 和 GPU 平台上在加速比与能效方面的表现如何?
  • RQ5分块与数据重组织策略在多大程度上可提升利用率并减少 GNN 加速中的停顿?

主要发现

  • VersaGNN 相较于基于 CPU 的 GNN 软件框架,平均实现 3712× 的加速比和 1301.25× 的能耗降低。
  • 在 GPU 上,VersaGNN 相较于性能最佳的软件框架,实现 35.4× 的加速比和 17.66× 的能耗降低。
  • 将 Strassen 算法集成到脉动阵列中,显著减少了密集矩阵乘法中的乘法次数,大幅降低计算复杂度。
  • 贪心工作负载平衡算法通过高效打包稀疏块并避免内存访问停顿,提升了处理单元的利用率。
  • 该加速器采用单一统一架构同时支持密集与稀疏运算,减少芯片面积与能耗。
  • 该系统在具有幂律度分布的多样化现实世界图数据上展现出高可扩展性与高能效。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。