Search papers, labs, and topics across Lattice.
This paper introduces AcOrch, a novel system designed to optimize sampling-based training of Graph Neural Networks (GNNs) on heterogeneous CPU-NPU environments. By implementing fine-grained task orchestration and a two-level pipelined execution model, AcOrch effectively overlaps subgraph sampling, feature gathering, and model training, leading to enhanced resource utilization across different compute units. Experimental results demonstrate that AcOrch achieves an impressive average speedup of 2.31x compared to the leading NPU-native graph learning system, MindSporeGL, highlighting its efficiency in handling large-scale GNN workloads.
Achieving a 2.31x speedup in GNN training on heterogeneous CPU-NPU platforms could redefine efficiency benchmarks in graph learning.
Graph Neural Networks (GNNs) have achieved remarkable success in various applications. Sampling-based GNN training, which conducts mini-batch training on sampled subgraphs, has become a promising solution for large-scale graphs. Given the resource-intensive nature of sampling-based GNN training, Neural Processing Units (NPUs), such as the Ascend AI processor, offer a promising alternative due to their high throughput and energy efficiency, making them well-suited for GNN workloads. However, the multi-stage nature of sampling-based training, which involves subgraph sampling, feature gathering, and model training, with different resource requirements and computation volume. This requires careful coordination to fully utilize the heterogeneous computation resources of CPUs and NPUs. In this work, we present AcOrch, a sampling-based GNN training system optimized for CPU-NPU heterogeneous platforms. AcOrch offers fine-grained task orchestration and adopts a two-level pipelined execution model to overlap sampling, gathering, and training. It analyzes the heterogeneous compute features of NPUs and maps tasks to AI Cube (AIC) units, AI Vector (AIV) units, and CPU cores accordingly. Moreover, the two-level pipeline enables overlapping execution not only between the CPU and NPU, but also among different types of compute units within the NPU (e.g., AIC and AIV units), thereby maximizing the utilization of available resources. Experiments on an Ascend 910B AI processor show that AcOrch achieves an average speedup of 2.31x over the state-of-the-art NPU-native graph learning system, MindSporeGL.