Skip to main content
QUICK REVIEW

[论文解读] GNNAdvisor: An Efficient Runtime System for GNN Acceleration on GPUs.

Yuke Wang, Boyuan Feng|arXiv (Cornell University)|Jun 11, 2020
Advanced Graph Neural Networks被引用 16
一句话总结

GNNAvisor 是一种 GPU 运行时系统,通过利用图结构洞察(如社区结构)、采用基于分组的工作负载管理策略,并优化 GPU 内存层次结构的使用,从而加速图神经网络(GNNs)的执行。它相较于最先进的框架(如 GunRock)实现了高达 52.16 倍的加速,其建模与估计策略可实现对多种 GNN 架构和数据集的自动性能调优。

ABSTRACT

As the emerging trend of the graph-based deep learning, Graph Neural Networks (GNNs) recently attract a significant amount of research attention from various domains. However, existing GNN implementations fail to catch up with the evolving GNN architectures, ever-increasing graph size, and node embedding dimensionality, thus, suffering from an unsatisfied performance. To break this hurdle, we propose GNNAdvisor, an efficient runtime system to systematically accelerate GNN applications on GPUs. First, GNNAdvisor spots the graph structure information (e.g., graph community) as a new driving force to facilitate GNN acceleration. Besides, GNNAdvisor implements a novel yet highly-efficient group-based workload management tailored for GNN computation to improve the thread-level performance on GPUs. GNNAdvisor further capitalizes on the GPU memory hierarchy for acceleration by gracefully coordinating the execution of GNNs according to the characteristics of the GPU memory structure. Moreover, GNNAdvisor incorporates a Modeling & Estimating strategy to offer sufficient flexibility for automatic performance tunning across various GNN architectures and input datasets. Extensive experiments show that GNNAdvisor provides an average of 3.02x, 4.36x, and 52.16x speedup over the state-of-the-art GNN execution frameworks, Deep Graph Library (DGL), NeuGraph, and GunRock, respectively.

研究动机与目标

  • 解决现有 GNN 框架在面对不断演进的 GNN 架构、更大规模图结构以及更高嵌入维度时所面临的性能瓶颈。
  • 利用图结构的内在特性(如图社区结构)作为新的优化向量,以加速 GPU 上的 GNN 执行。
  • 设计一种基于分组的工作负载管理策略,以提升 GPU 架构下的线程级性能。
  • 通过将 GNN 执行模式与内存访问特性对齐,优化 GPU 内存层次结构的使用。
  • 通过建模与估计策略,实现在多种 GNN 模型和数据集上的自动性能调优。

提出的方法

  • 识别图社区及其他结构特征,以指导工作负载划分与调度决策。
  • 实现一种基于分组的工作负载管理模型,以提升 GPU 占用率与线程级并行性。
  • 协调 GNN 计算与 GPU 内存层次结构(如共享内存、全局内存)的使用,以最小化延迟并最大化带宽利用率。
  • 引入一种建模与估计框架,用于预测不同配置下的性能表现,从而实现自动调优。
  • 将所有组件整合为一个统一的运行时系统,可动态适应输入图特征与 GNN 架构。
  • 使用性能分析与估计技术指导配置选择,无需手动调优。

实验结果

研究问题

  • RQ1能否有效利用图结构信息(如社区结构)来提升 GPU 上 GNN 执行的性能?
  • RQ2基于分组的工作负载管理策略在多大程度上可增强 GNN 工作负载的线程级并行性与 GPU 利用率?
  • RQ3对 GPU 内存层次结构进行优化,在多大程度上可缓解 GNN 推理与训练中的内存瓶颈?
  • RQ4建模与估计策略是否能够实现在多种 GNN 架构与数据集上的自动性能调优?
  • RQ5与现有框架相比,一个整体化、结构感知的 GNN 运行时系统可实现多大的性能提升?

主要发现

  • 在多种 GNN 工作负载上,GNNAvisor 相较于深度图库(DGL)实现了平均 3.02 倍的加速。
  • 相较于 NeuGraph,其平均性能提升了 4.36 倍,表明其在多种 GNN 架构下具有更优的优化能力。
  • 相较于 GunRock,GNNAvisor 实现了高达 52.16 倍的平均加速,凸显其在内存与线程优化方面的卓越效果。
  • 建模与估计策略可实现自动性能调优,且仅需极少的手动配置,显著提升了部署灵活性。
  • 图结构感知与 GPU 内存感知调度的集成显著减少了执行时间,并提升了资源利用率。

更好的研究,从现在开始

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

无需绑定信用卡

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