July 26, 2024
Conference Paper

Automatic Code Generation for High-Performance Graph Algorithms

Abstract

Graph problems are common across fields of scientific computing and social sciences. However, despite their importance, implementing graph algorithms effectively on modern computing systems is a challenging task that requires significant programming effort and generally results in customized implementations. Current computing and memory hierarchies are not architected for irregular computations resulting in challenges for graph algorithms to achieve high performance on those architectures. In this paper, we present GraphX, a novel compiler framework and DSL designed to simplify the development of efficient graph algorithms and achieve high performance on modern computing systems. GraphX consists of a DSL for efficient implementation of graph algorithms, various optimizations, such as support for sparse linear algebra and workspace transformations, optimized graph primitives, including semiring and masking, and a high-performance code generation engine. Using GraphX, users can implement graph algorithms using a semantically-rich language with graph-oriented operators. GraphX uses these semantics to automatically generate efficient code for target architectures, increasing performance and portability across architectures. The composable nature of GraphX makes it possible to extend the set of optimizations and architectures without modifying the source code. We demonstrate GraphX outperforms state-of-the-art graph libraries, such as LAGraph, up to $3.7 speedup in semiring operations, $2.19 speedup in an important sparse computational kernel, and $9.05 speedup in graph processing algorithms.

Published: July 26, 2024

Citation

Peng Z., R.A. Ashraf, L. Guo, R. Tian, and G. Kestor. 2023. Automatic Code Generation for High-Performance Graph Algorithms. In 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT 2023), October 21-25, 2023, Vienna, Austria, 14-26. Piscataway, New Jersey:IEEE. PNNL-SA-182313. doi:10.1109/PACT58117.2023.00010

Research topics