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.
翻译:图神经网络(GNN)通过将非规则、内存受限的图遍历与规则、计算密集型稠密矩阵运算相融合,带来了基础性硬件挑战。尽管PyTorch Geometric(PyG)与Deep Graph Library(DGL)等框架优先考虑高层易用性,却未能解决这些差异化的执行特性。因此,它们依赖的通用内核存在缓存局部性差、内存移动过度及大量中间分配等问题。为克服这些局限,我们提出Morphling——一种专用代码合成器,旨在弥合这一鸿沟。Morphling将高层GNN规范编译为面向OpenMP、CUDA和MPI的可移植、后端专用化实现。它通过实例化针对每种执行环境优化的架构感知原语库实现这一目标。Morphling还集成了一种运行时稀疏感知执行引擎,该引擎利用输入特征统计动态选择稠密或稀疏执行路径,从而减少对零值条目的不必要计算。我们在涵盖不同图结构、特征维度及稀疏模式的十一个真实数据集上评估了Morphling。相较于PyG和DGL,Morphling在CPU上平均提升每个训练轮次吞吐量20倍,GPU上19倍,分布式环境下6倍,峰值加速比达66倍。其内存高效布局进一步将峰值内存消耗降低至15倍,使得在商用硬件上实现大规模GNN训练成为可能。这些结果表明,专用化、架构感知的代码合成为跨异构并行与分布式平台实现高性能GNN执行提供了有效且可扩展的路径。