SC2023Top-tier venue
Choosing the Best Parallelization and Implementation Styles for Graph Analytics Codes: Lessons Learned from 1106 Programs
Yiqian Liu, Noushin Azami, Avery Vanausdal, Martin Burtscher
Abstract
Graph analytics has become a major workload in recent years. The underlying core algorithms tend to be irregular and data dependent, making them challenging to parallelize. Yet, these algorithms can be implemented and parallelized in many ways for CPUs and even more ways for GPUs. We took 6 key graph algorithms and created hundreds of CUDA, OpenMP, and parallel C++ versions of each of them, most of which have never been described or studied. To determine which parallelization and implementation styles work well and under what circumstances, we evaluated the resulting 1106 programs on 2 GPUs and 2 CPUs using 5 input graphs. Our results show which styles and combinations perform well and which ones should be avoided. We found that choosing the wrong implementation style can yield over a 10× slowdown on average. The worst combinations of styles can cost 6 orders of magnitude in performance.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Related papers
- Increasing the parallelism of graph coloring via shortcuttingGhadeer Alabandi, Evan Powers, Martin BurtscherPPoPP 2020 · 17 citations
- Understanding Performance Problems in CUDA ProgramsYuyang Bi, Junming Cao, You Lu, Bihuan Chen et al.FSE 2026
- Accelerating k-Core Decomposition by a GPUAkhlaque Ahmad, Lyuheng Yuan, Da Yan, Guimu Guo et al.ICDE 2023 · 22 citations
- GPU-Accelerated Flow-Sensitive Pointer Analysis for C/C++ ProgramsJiaqi He, Karim AliFSE 2026
- Efficient and Scalable Graph Pattern Mining on GPUsXuhao Chen, ArvindOSDI 2022 · 53 citations
