Compilation Techniques for Graph Algorithms on GPUs
Ajay Brahmakshatriya, Yunming Zhang, Changwan Hong, Shoaib Kamil,, Julian Shun, Saman Amarasinghe

TL;DR
This paper introduces GG, a GPU extension to the GraphIt compiler, enabling high-performance graph processing on GPUs with novel optimizations and a unified algorithm specification, achieving significant speedups.
Contribution
GG extends GraphIt with GPU support, a new scheduling language, and optimizations like ETWC and EdgeBlocking, improving performance and ease of programming for GPU graph algorithms.
Findings
Up to 5.11x speedup over existing frameworks
Fastest in 66 out of 90 experiments
Effective on multiple algorithms and input graphs
Abstract
The performance of graph programs depends highly on the algorithm, the size and structure of the input graphs, as well as the features of the underlying hardware. No single set of optimizations or one hardware platform works well across all settings. To achieve high performance, the programmer must carefully select which set of optimizations and hardware platforms to use. The GraphIt programming language makes it easy for the programmer to write the algorithm once and optimize it for different inputs using a scheduling language. However, GraphIt currently has no support for generating high performance code for GPUs. Programmers must resort to re-implementing the entire algorithm from scratch in a low-level language with an entirely different set of abstractions and optimizations in order to achieve high performance on GPUs. We propose GG, an extension to the GraphIt compiler…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGraph Theory and Algorithms · Advanced Graph Neural Networks · Data Management and Algorithms
