Checking Data-Race Freedom of GPU Kernels, Compositionally

被引:7
|
作者
Cogumbreiro, Tiago [1 ]
Lange, Julien [2 ]
Rong, Dennis Liew Zhen [1 ]
Zicarelli, Hannah [1 ]
机构
[1] Univ Massachusetts, Boston, MA 02125 USA
[2] Royal Holloway Univ London, Egham, Surrey, England
关键词
GPU; Data-race; Static analysis; Behavioural types; DETECTING DATA RACES; VERIFICATION; VERIFIER;
D O I
10.1007/978-3-030-81685-8_19
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
GPUs offer parallelism as a commodity, but they are difficult to program correctly. Static analyzers that guarantee data-race freedom (DRF) are essential to help programmers establish the correctness of their programs (kernels). However, existing approaches produce too many false alarms and struggle to handle larger programs. To address these limitations we formalize a novel compositional analysis for DRF, based on access memory protocols. These protocols are behavioral types that codify the way threads interact over shared memory. Our work includes fully mechanized proofs of our theoretical results, the first mechanized proofs in the field of DRF analysis for GPU kernels. Our theory is implemented in Faial, a tool that outperforms the state-of-the-art. Notably, it can correctly verify at least 1.42x more real-world kernels, and it exhibits a linear growth in 4 out of 5 experiments, while others grow exponentially in all 5 experiments.
引用
收藏
页码:403 / 426
页数:24
相关论文
共 43 条
  • [21] IFRit: Interference-Free Regions for Dynamic Data-Race Detection
    Effinger-Dean, Laura
    Lucia, Brandon
    Ceze, Luis
    Grossman, Dan
    Boehm, Hans-J
    ACM SIGPLAN NOTICES, 2012, 47 (10) : 467 - 483
  • [22] OpenMP aware MHP Analysis for Improved Static Data-Race Detection
    Bora, Utpal
    Vaishay, Shraiysh
    Joshi, Saurabh
    Upadrasta, Ramakrishna
    PROCEEDINGS OF THE SEVENTH ANNUAL WORKSHOP ON THE LLVM COMPILER INFRASTRUCTURE IN HPC (LLVM-HPC2021), 2021, : 1 - 11
  • [23] Deadlock Checking by Data Race Detection
    Pun, Ka I.
    Steffen, Martin
    Stolz, Volker
    FUNDAMENTALS OF SOFTWARE ENGINEERING, FSEN 2013, 2013, 8161 : 34 - 50
  • [24] Deadlock checking by data race detection
    Pun, Ka I.
    Steffen, Martin
    Stolz, Volker
    JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2014, 83 (5-6) : 400 - 426
  • [25] Non-strict cache coherence: Exploiting data-race tolerance in emerging applications
    Tambat, SV
    Vajapeyam, S
    2000 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, PROCEEDINGS, 2000, : 87 - 94
  • [26] Swizzle Inventor: Data Movement Synthesis for GPU Kernels
    Phothilimthana, Phitchaya Mangpo
    Elliott, Archibald Samuel
    Wang, An
    Jangda, Abhinav
    Hagedorn, Bastian
    Barthels, Henrik
    Kaufman, Samuel J.
    Grover, Vinod
    Torlak, Emina
    Bodik, Rastislav
    TWENTY-FOURTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS (ASPLOS XXIV), 2019, : 65 - 78
  • [27] A Time-Aware Type System For Data-Race Protection and Guaranteed Initialization
    Matsakis, Nicholas D.
    Gross, Thomas R.
    ACM SIGPLAN NOTICES, 2010, 45 (10) : 634 - 651
  • [28] Autonomous Data-Race-Free GPU Testing
    Ta, Tuan
    Zhang, Xianwei
    Gutierrez, Anthony
    Beckmann, Bradford M.
    PROCEEDINGS OF THE 2019 IEEE INTERNATIONAL SYMPOSIUM ON WORKLOAD CHARACTERIZATION (IISWC 2019), 2019, : 81 - 92
  • [29] Analyzing data locality in GPU kernels using memory footprint analysis
    Kiani, Mohsen
    Rajabzadeh, Amir
    SIMULATION MODELLING PRACTICE AND THEORY, 2019, 91 : 102 - 122
  • [30] Data-Race-Freedom of Concurrent Programs
    Barnett, Granville
    Qin, Shengchao
    2013 20TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2013), VOL 1, 2013, : 272 - 279