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 条
  • [31] Provable GPU Data-Races in Static Race Detection
    Liew, Dennis
    Cogumbreiro, Tiago
    Lange, Julien
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2022, (356): : 36 - 45
  • [32] Finding and Fixing a Mismatch Between the Go Memory Model and Data-Race Detector A Story on Applied Formal Methods
    Fava, Daniel Schnetzer
    SOFTWARE ENGINEERING AND FORMAL METHODS, SEFM 2020, 2020, 12310 : 24 - 40
  • [33] Automatic Restructuring of GPU Kernels for Exploiting Inter-thread Data Locality
    Unkule, Swapneela
    Shaltz, Christopher
    Qasem, Apan
    COMPILER CONSTRUCTION, CC 2012, 2012, 7210 : 21 - 40
  • [34] Calibrating the degrees of freedom for automatic data smoothing and effective curve checking
    Zhang, CM
    JOURNAL OF THE AMERICAN STATISTICAL ASSOCIATION, 2003, 98 (463) : 609 - 628
  • [35] GPU Kernels for High-Speed 4-Bit Astrophysical Data Processing
    Klages, Peter
    Bandura, Kevin
    Denman, Nolan
    Recnik, Andre
    Sievers, Jonathan
    Vanderlinde, Keith
    PROCEEDINGS OF THE ASAP2015 2015 IEEE 26TH INTERNATIONAL CONFERENCE ON APPLICATION-SPECIFIC SYSTEMS, ARCHITECTURES AND PROCESSORS, 2015, : 164 - 165
  • [36] Transparent CPU-GPU Collaboration for Data-Parallel Kernels on Heterogeneous Systems
    Lee, Janghaeng
    Samadi, Mehrzad
    Park, Yongjun
    Mahlke, Scott
    2013 22ND INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES (PACT), 2013, : 245 - 255
  • [37] Barrier Invariants: A Shared State Abstraction for the Analysis of Data-Dependent GPU Kernels
    Chong, Nathan
    Donaldson, Alastair F.
    Kelly, Paul H. J.
    Ketema, Jeroen
    Qadeer, Shaz
    ACM SIGPLAN NOTICES, 2013, 48 (10) : 605 - 621
  • [38] Modular Data-Race-Freedom Guarantees in the Promising Semantics
    Cho, Minki
    Lee, Sung-Hwan
    Hur, Chung-Kil
    Lahav, Ori
    PROCEEDINGS OF THE 42ND ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '21), 2021, : 867 - 882
  • [39] Formalizing and Checking Thread Refinement for Data-Race-Free Execution Models
    Poetzl, Daniel
    Kroening, Daniel
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS (TACAS 2016), 2016, 9636 : 515 - 530
  • [40] Local Data Race Freedom with Non-multi-copy Atomicity
    Abe, Tatsuya
    MODEL CHECKING SOFTWARE, SPIN 2018, 2018, 10869 : 196 - 215