Abstract
In the acceleration of deep neural network training, the graphics processing unit (GPU) has become the mainstream platform. GPUs face substantial challenges on Graph Neural Networks (GNNs), such as workload imbalance and memory access irregularities, leading to underutilized hardware. Existing solutions such as PyG, DGL with cuSPARSE, and GNNAdvisor frameworks partially address these challenges. However, the memory traffic involved with Sparse-Dense Matrix Matrix Multiplication (SpMM) is still significant.We argue that drastic performance improvements can only be achieved by the vertical optimization of algorithm and system innovations, rather than treating the speedup optimization as an "after-thought"(i.e., (i) given a GNN algorithm, designing an accelerator, or (ii) given hardware, mainly optimizing the GNN algorithm). In this paper, we present MaxK-GNN, an advanced high-performance GPU training system integrating algorithm and system innovation. (i) We introduce the MaxK nonlinearity and provide a theoretical analysis of MaxK nonlinearity as a universal approximator, and present the Compressed Balanced Sparse Row (CBSR) format, designed to store the data and index of the feature matrix after nonlinearity; (ii) We design a coalescing enhanced forward computation with row-wise product-based Sparse Matrix-Matrix Multiplication (SpGEMM) Kernel using CBSR for input feature matrix fetching and strategic placement of a sparse output accumulation buffer in shared memory; (iii) We develop an optimized backward computation with outer product-based and Sampled Sparse Matrix Dense Matrix Multiplication (SSpMM) Kernel.We conduct extensive evaluations of MaxK-GNN and report the system training time. Experiments show that MaxK-GNN system could approach the speedup limit according to Amdahl's law. We achieve comparable accuracy to SOTA GNNs, but at a significantly increased speed: 3.22×/4.24× speedup (vs. 5.52×/7.27×) on Reddit compared to DGL and GNNAdvisor implementations.
| Original language | English (US) |
|---|---|
| Title of host publication | Summer Cycle |
| Publisher | Association for Computing Machinery |
| Pages | 683-698 |
| Number of pages | 16 |
| ISBN (Electronic) | 9798400703850 |
| DOIs | |
| State | Published - Apr 27 2024 |
| Externally published | Yes |
| Event | 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2024 - San Diego, United States Duration: Apr 27 2024 → May 1 2024 |
Publication series
| Name | International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS |
|---|---|
| Volume | 2 |
Conference
| Conference | 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2024 |
|---|---|
| Country/Territory | United States |
| City | San Diego |
| Period | 4/27/24 → 5/1/24 |
Bibliographical note
Publisher Copyright:© 2024 Copyright is held by the owner/author(s). Publication rights licensed to ACM.
Keywords
- GPUs
- MaxK nonlinearity
- SpGEMM
- SpMM
- graph neural network
- parallel computing
- sampled sparse matrix dense matrix multiplication (SSpMM)
Fingerprint
Dive into the research topics of 'MaxK-GNN: Extremely Fast GPU Kernel Design for Accelerating Graph Neural Networks Training'. Together they form a unique fingerprint.Cite this
- APA
- Standard
- Harvard
- Vancouver
- Author
- BIBTEX
- RIS