Graph Neural Networks (GNNs) present a fundamental hardware challenge by fusing irregular, memory-bound graph traversals with regular, compute-intensive dense matrix operations. While frameworks such as PyTorch Geometric (PyG) and Deep Graph Library (DGL) prioritize high-level usability, they fail to address these divergent execution characteristics. As a result, they rely on generic kernels that suffer from poor cache locality, excessive memory movement, and substantial intermediate allocations. To address these limitations, we present Morphling, a domain-specific code synthesizer designed to bridge this gap. Morphling compiles high-level GNN specifications into portable, backend-specialized implementations targeting OpenMP, CUDA, and MPI. It achieves this by instantiating a library of optimized, architecture-aware primitives tailored to each execution environment. Morphling also incorporates a runtime sparsity-aware execution engine that dynamically selects dense or sparse execution paths using input feature statistics, reducing unnecessary computation on zero-valued entries. We evaluate Morphling on eleven real-world datasets spanning diverse graph structures, feature dimensionalities, and sparsity regimes. Morphling improves per-epoch training throughput by an average of 20X on CPUs, 19X on GPUs, and 6X in distributed settings over PyG and DGL, with peak speedups reaching 66X. Morphling's memory-efficient layouts further reduce peak memory consumption by up to 15X, enabling large-scale GNN training on commodity hardware. These findings demonstrate that specialized, architecture-aware code synthesis provides an effective and scalable path toward high-performance GNN execution across diverse parallel and distributed platforms.
翻译:摘要:图神经网络通过融合不规则的、内存受限的图遍历与规则的、计算密集的稠密矩阵运算,对底层硬件提出了根本性挑战。尽管PyTorch Geometric (PyG) 和 Deep Graph Library (DGL) 等框架注重高层可用性,但未能应对这些迥异的执行特性,导致其依赖的通用内核存在缓存局部性差、内存移动频繁及大量中间分配等问题。为克服这些局限,我们提出Morphling——一种弥合这一鸿沟的领域特定代码合成器。Morphling将高层GNN规范编译为面向OpenMP、CUDA和MPI的可移植、后端特化实现,通过实例化为各执行环境定制的优化架构感知原语库达成这一目标。Morphling还集成了运行时稀疏感知执行引擎,该引擎利用输入特征统计动态选择密度或稀疏执行路径,从而减少零值条目上的非必要计算。我们针对涵盖多样图结构、特征维度与稀疏程度的11个真实数据集进行评估。相比PyG与DGL,Morphling在CPU上使每轮训练吞吐量平均提升20倍,GPU上提升19倍,分布式场景下提升6倍,峰值加速比达66倍。其内存高效布局进一步将峰值内存消耗降低最高15倍,使得在商用硬件上实现大规模GNN训练成为可能。这些结果表明,专业化的架构感知代码合成为跨异构并行与分布式平台的高性能GNN执行提供了高效且可扩展的路径。