GMRace: Detecting Data Races in GPU Programs via a Low-Overhead Scheme

被引:28
|
作者
Zheng, Mai [1 ]
Ravi, Vignesh T. [2 ]
Qin, Feng [1 ]
Agrawal, Gagan [1 ]
机构
[1] Ohio State Univ, Dreese Labs 395, Columbus, OH 43082 USA
[2] AMD, Austin, TX 78735 USA
基金
美国国家科学基金会;
关键词
GPU; CUDA; data race; concurrency; multithreading;
D O I
10.1109/TPDS.2013.44
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In recent years, GPUs have emerged as an extremely cost-effective means for achieving high performance. While languages like CUDA and OpenCL have eased GPU programming for nongraphical applications, they are still explicitly parallel languages. All parallel programmers, particularly the novices, need tools that can help ensuring the correctness of their programs. Like any multithreaded environment, data races on GPUs can severely affect the program reliability. In this paper, we propose GMRace, a new mechanism for detecting races in GPU programs. GMRace combines static analysis with a carefully designed dynamic checker for logging and analyzing information at runtime. Our design utilizes GPUs memory hierarchy to log runtime data accesses efficiently. To improve the performance, GMRace leverages static analysis to reduce the number of statements that need to be instrumented. Additionally, by exploiting the knowledge of thread scheduling and the execution model in the underlying GPUs, GMRace can accurately detect data races with no false positives reported. Our experimental results show that comparing to previous approaches, GMRace is more effective in detecting races in the evaluated cases, and incurs much less runtime and space overhead.
引用
收藏
页码:104 / 115
页数:12
相关论文
共 50 条
  • [1] GRace: A Low-Overhead Mechanism for Detecting Data Races in GPU Programs
    Zheng, Mai
    Ravi, Vignesh T.
    Qin, Feng
    Agrawal, Gagan
    ACM SIGPLAN NOTICES, 2011, 46 (08) : 135 - 145
  • [2] GMProf: A Low-Overhead, Fine-Grained Profiling Approach for GPU Programs
    Zheng, Mai
    Ravi, Vignesh T.
    Ma, Wenjing
    Qin, Feng
    Agrawal, Gagan
    2012 19TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING (HIPC), 2012,
  • [3] LoGA: Low-overhead GPU accounting using events
    Kehne, Jens
    Spassov, Stanislav
    Hillenbrand, Marius
    Rittinghaus, Marc
    Bellosa, Frank
    SYSTOR'17: PROCEEDINGS OF THE 10TH ACM INTERNATIONAL SYSTEMS AND STORAGE CONFERENCE, 2017,
  • [4] Low-Overhead Trace Collection and Profiling on GPU Compute Kernels
    Darche, Sebastien
    Dagenais, Michel R.
    ACM TRANSACTIONS ON PARALLEL COMPUTING, 2024, 11 (02)
  • [5] A Secure and Low-overhead Active IC Metering Scheme
    Cui, Aijiao
    Yang, Yan
    Qu, Gang
    Li, Huawei
    2019 IEEE 37TH VLSI TEST SYMPOSIUM (VTS), 2019,
  • [6] TripleID: A Low-Overhead Representation and Querying Using GPU for Large RDFs
    Chantrapornchai, Chantana
    Choksuchat, Chidchanok
    Haidl, Michael
    Gorlatch, Sergei
    BEYOND DATABASES, ARCHITECTURES AND STRUCTURES, BDAS 2016, 2016, 613 : 400 - 415
  • [7] LD: Low-Overhead GPU Race Detection Without Access Monitoring
    Li, Pengcheng
    Hu, Xiaoyu
    Chen, Dong
    Brock, Jacob
    Luo, Hao
    Zhang, Eddy Z.
    Ding, Chen
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2017, 14 (01)
  • [8] Detecting data races in sequential programs with DIOTA
    Ronsse, M
    Maebe, J
    De Bosschere, K
    EURO-PAR 2004 PARALLEL PROCESSING, PROCEEDINGS, 2004, 3149 : 82 - 89
  • [9] A Low-Overhead Encoding Scheme to Extend the Lifetime of Nonvolatile Memories
    Feng, Dan
    Xu, Jie
    Hua, Yu
    Tong, Wei
    Liu, Jingning
    Li, Chunyan
    Chen, Yiran
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2020, 39 (10) : 2516 - 2529
  • [10] A Low-Overhead Integrity Verification for Big Data Transfers
    Arslan, Engin
    Alhussen, Ahmed
    2018 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA), 2018, : 4227 - 4236