Understanding Performance Problems in CUDA Programs
Open Access
- 30 June 2026
- journal article
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Software Engineering
- Vol. 3 (FSE) , 344-365
Abstract
With the wide adoption of GPUs, CUDA programming has become essential for leveraging GPU parallelism. However, its complex programming model poses challenges in performance optimization. Consequently, CUDA programs often suffer from performance problems. In that sense, it is crucial to understand the performance problems specific to CUDA programming. Unfortunately, no systematic study has been conducted in literature. To bridge this gap, we conduct the first systematic study to 1) characterize the symptoms and root causes of 216 performance problems collected from 55 StackOverflow posts and 122 NVIDIA forum posts, and 2) measure the speedup of fixing performance problems, and assess the capability of existing performance analysis methods in identifying performance problems, using a dataset of 69 reproduced performance problems. Our findings provide practical guidance for developers, and opportunities for researchers to advance performance analysis.Keywords
This publication has 33 references indexed in Scilit:
- Tacker: Tensor-CUDA Core Kernel Fusion for Improving the GPU Utilization while Ensuring QoS2022
- NAS Parallel Benchmarks with CUDA and beyondSoftware: Practice and Experience, 2021
- Formal Methods for GPGPU Programming: Is the Demand Met?2020
- Supporting Data Shuffle Between Threads in OpenMP2020
- Performance analyses over population seeding techniques of the permutation-coded genetic algorithm: An empirical study based on traveling salesman problemsApplied Soft Computing, 2015
- An investigation of Unified Memory Access performance in CUDA2014
- Fixing Performance Bugs: An Empirical Study of Open-Source GPGPU Programs2012
- A quantitative performance analysis model for GPU architectures2011
- Rodinia: A benchmark suite for heterogeneous computing2009
- Computer architecture: a quantitative approachMicroelectronics Journal, 1993