一句话:提出 uGrapher 统一抽象与可调度图算子计算,提升 GNN 在不同图与算子上的执行性能。
图神经网络在不同图结构和算子下呈现不同执行模式,但现有框架依赖手写静态 kernel,难以自适应并行,导致性能不佳。本文提出 uGrapher,一个统一接口,将图算子的计算与调度解耦。它首先建立包含图张量语义和图循环的 GNN 专用算子抽象,并在此基础上探索可平衡并行度、局部性与效率的多种调度策略。该设计 API 简单统一,易于集成到现有 GNN 框架。在两种 NVIDIA GPU 上,uGrapher 相比先进基线最高取得 29.1 倍、平均 3.5 倍的性能提升。
As graph neural networks (GNNs) have achieved great success in many graph learning problems, it is of paramount importance to support their efficient execution. Different graphs and different operators present different patterns during execution. However, there is still a gap in the existing GNN acceleration research to explore adaptive parallelism. We show that existing GNN frameworks rely on handwritten static kernels, which fail to achieve the best performance across different graph operators and input graph structures. In this work, we propose uGrapher, a unified interface that achieves general high performance for different graph operators and datasets. The existing GNN frameworks can easily integrate our design for its simple and unified API. We take a principled approach that decouples a graph operator’s computation and schedule to achieve that. We first build a GNN-specific operator abstraction that incorporates the semantics of graph tensors and graph loops. We explore various schedule strategies based on the abstraction that can balance the well-established trade-off relationship between parallelism, locality, and efficiency. Our evaluation shows that uGrapher can bring up to 29.1× (3.5× on average) performance improvement over the state-of-the-art baselines on two studied NVIDIA GPUs.
@inproceedings{paperbot10034,
title = {uGrapher: High-Performance Graph Operator Computation via Unified Abstraction for Graph Neural Networks},
author = {Yangjie Zhou and Jingwen Leng and Yaoxu Song and Shuwen Lu and Mian Wang and Chao Li and Minyi Guo and Wenting Shen and Yong Li and Wei Lin and Xiangwen Liu and Hanqing Wu},
booktitle = {ASPLOS},
year = {2023},
doi = {10.1145/3575693.3575723}
}