Simulee: detecting CUDA synchronization bugs via memory-access modeling

International Conference on Software Engineering(2020)

引用 15|浏览77
暂无评分
摘要
ABSTRACTWhile CUDA has become a mainstream parallel computing platform and programming model for general-purpose GPU computing, how to effectively and efficiently detect CUDA synchronization bugs remains a challenging open problem. In this paper, we propose the first lightweight CUDA synchronization bug detection framework, namely Simulee, to model CUDA program execution by interpreting the corresponding LLVM bytecode and collecting the memory-access information for automatically detecting general CUDA synchronization bugs. To evaluate the effectiveness and efficiency of Simulee, we construct a benchmark with 7 popular CUDA-related projects from GitHub, upon which we conduct an extensive set of experiments. The experimental results suggest that Simulee can detect 21 out of the 24 manually identified bugs in our preliminary study and also 24 previously unknown bugs among all projects, 10 of which have already been confirmed by the developers. Furthermore, Simulee significantly outperforms state-of-the-art approaches for CUDA synchronization bug detection.
更多
查看译文
关键词
Simulee,CUDA program execution,memory-access information,general CUDA synchronization bugs,7 popular CUDA-related projects,24 manually identified bugs,24 previously unknown bugs,memory-access modeling,mainstream parallel computing platform,programming model,general-purpose GPU computing,challenging open problem,lightweight CUDA synchronization bug detection framework
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要