FrontGI speeds up graph neural networks on multicore processors
FrontGI: Architecture-Aware Parallel GNN Inference on Chiplet-Based Multicore Systems
Distributed, Parallel, and Cluster Computing
Summary
Running graph neural networks (GNNs) on computers with many processor cores is often slow and doesn’t use the hardware efficiently. The authors created FrontGI, a set of techniques that smartly divides work depending on the graph’s shape and the computer’s design. This makes GNN computations much faster on large graphs. They tested FrontGI on a 128-core AMD processor and saw it run up to three times faster than popular existing software.
What this means in practice
- •For data engineering teams: Speed up large-scale graph neural network inference tasks on multicore cloud servers to process big graph data more efficiently.
- •For chip architects: Design multicore systems with cache hierarchies and core layouts that better support graph-aware parallel processing like FrontGI.
Authors
Binglin Ji, Chenfeng Zhao, Roger Chamberlain
Abstract
The realm of high-performance computing has expanded to include machine learning tasks of many forms. Graph Neural Networks (GNNs) are becoming increasingly popular, with their applications expanding across diverse domains. As the scale of graph data continues to grow, including larger numbers of nodes, edges, and higher embedding dimensions, standardized libraries such as DGL and PyG have been developed to facilitate GNN computation. These libraries allow the computation to be described a a high level of abstraction, providing high productivity on the part of the developer. However, with the rapid increase in the number of processor cores and the evolution of multicore architectures, these libraries often show poor scalability and fail to execute GNN inference efficiently on the latest multicore systems, particularly those with upwards of a hundred cores. To address this limitation, we introduce FrontGI, a fast and scalable set of techniques that advances the frontier of GNN inference on large-scale graphs (over 100,000 vertices) by leveraging graph-property- and architecture-aware design. FrontGI employs different parallelization strategies optimized for diverse graph structures, maximizing the utilization of multi-level cache hierarchies in multicore systems. We evaluate a number of GNN models with FrontGI on a 128-core AMD EPYC system. Compared to state-of-the-art libraries, FrontGI achieves up to 3.35$\times$, 3.20$\times$, 2.89$\times$ and 3.10$\times$ speedups over DGL for GCN, GraphSAGE, GIN, and SGC models, respectively, and even greater improvements over PyG, across a range of large-scale, high-dimensional graph datasets with diverse structural properties.