18877

Charactering and Detecting CUDA Program Bugs

Mingyuan Wu, Husheng Zhou, Lingming Zhang, Cong Liu, Yuqun Zhang
Department of Computer Science and Engineering, Southern University of Science and Technology, Shenzhen, Guangdong, China
arXiv:1905.01833 [cs.SE], (6 May 2019)

@misc{wu2019charactering,

   title={Charactering and Detecting CUDA Program Bugs},

   author={Wu, Mingyuan and Zhou, Husheng and Zhang, Lingming and Liu, Cong and Zhang, Yuqun},

   year={2019},

   eprint={1905.01833},

   archivePrefix={arXiv},

   primaryClass={cs.SE}

}

While CUDA has become a major parallel computing platform and programming model for general-purpose GPU computing, CUDA-induced bug patterns have not yet been well explored. In this paper, we conduct the first empirical study to reveal important categories of CUDA program bug patterns based on 319 bugs identified within 5 popular CUDA projects in GitHub. Our findings demonstrate that CUDA-specific characteristics may cause program bugs such as synchronization bugs that are rather difficult to detect. To efficiently detect such synchronization bugs, we establish the first lightweight general CUDA bug detection framework, namely Simulee, to simulate CUDA program execution by interpreting the corresponding llvm bytecode and collecting the memory-access information to automatically detect CUDA synchronization bugs. To evaluate the effectiveness and efficiency of simulee, we conduct a set of experiments and the experimental results suggest that simulee can detect 20 out of the 27 studied synchronization bugs and successfully detects 26 previously unknown synchronization bugs, 10 of which have been confirmed by the developers.
Rating: 2.0/5. From 1 vote.
Please wait...

* * *

* * *

HGPU group © 2010-2019 hgpu.org

All rights belong to the respective authors

Contact us: