Choosing the Best Parallelization and Implementation Styles for Graph Analytics Codes: Lessons Learned from 1106 Programs
Yiqian Liu, Noushin Azami, Avery Vanausdal, Martin Burtscher
摘要
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.
问问这篇 Paper
问问你的智能体。
Lune 读过与它相关的顶会 Paper,每个回答都会注明依据哪几篇。
相关 Paper
- Increasing the parallelism of graph coloring via shortcuttingGhadeer Alabandi, Evan Powers, Martin BurtscherPPoPP 2020 · 被引用 17 次
- Understanding Performance Problems in CUDA ProgramsYuyang Bi, Junming Cao, You Lu, Bihuan Chen 等FSE 2026
- Accelerating k-Core Decomposition by a GPUAkhlaque Ahmad, Lyuheng Yuan, Da Yan, Guimu Guo 等ICDE 2023 · 被引用 22 次
- 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 次
