The Rewriting of DataRaceBench Benchmark for OpenCL Program Validations

被引:0
|
作者
Hsu, Chia-Chen [1 ]
Huang, Chun-Lin [1 ]
Lee, Chao-Lin [1 ]
Lee, Jenq-Kuen [1 ]
Lin, Pei-Hung [2 ]
机构
[1] Natl Tsing Hua Univ, Hsinchu, Taiwan
[2] Lawrence Livermore Natl Lab, Livermore, CA 94550 USA
关键词
data race; parallel computing; OpenCL; LLVM; POCL;
D O I
10.1145/3677333.3678148
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Effective detection of data races in parallel computing environments is essential for ensuring the correctness and performance of multi-threaded applications. This paper addresses the issue with OpenCL data racing analysis. Currently, for the data racing research, there is a well-established DataRaceBench benchmark, designed for OpenMP. In our research, we rewrite the OpenMP DataRaceBench benchmark for the OpenCL benchmark to provide a specialized benchmark suite for evaluating data race detection tools in OpenCL environments. In our analysis, we introduce a novel approach to detect data races in OpenCL programs by leveraging an LLVM-based analysis pass. To facilitate detailed analysis, annotations are inserted into the OpenCL kernels, which fetch data from the kernel side and return data to the host side. Then the detector on the host side utilized those events to analyze and track the interactions between different threads. Through vector clocks, we can partially order them. This methodology helps identify potential data races by analyzing patterns within these annotated sections. Experimental results demonstrate the efficacy of our approach, which can accurately detect data races across multiple threads in OpenCL by obtaining data via LLVM passes and analyzing them on the host. This work not only enhances the toolset for developers working with OpenCL but also contributes significantly to the field of parallel computing by providing a rigorous benchmarking tool for data race detection.
引用
收藏
页码:15 / 22
页数:8
相关论文
共 50 条
  • [21] CRState: checkpoint/restart of OpenCL program for in-kernel applications
    Genlang Chen
    Jiajian Zhang
    Zufang Zhu
    Qiangqiang Jiang
    Hai Jiang
    Chaoyi Pang
    The Journal of Supercomputing, 2021, 77 : 5426 - 5467
  • [22] REWRITING EXECUTABLE FILES TO MEASURE PROGRAM BEHAVIOR
    LARUS, JR
    BALL, T
    SOFTWARE-PRACTICE & EXPERIENCE, 1994, 24 (02): : 197 - 218
  • [23] Fuzzy rewriting - Soft program semantics for children
    Harada, Y
    Potter, R
    200S IEEE SYMPOSIUM ON HUMAN CENTRIC COMPUTING LANGUAGES AND ENVIRONMENTS, 2003, : 39 - 46
  • [24] Evaluating FPGA Accelerator Performance with a Parameterized OpenCL Adaptation of Selected Benchmarks of the HPCChallenge Benchmark Suite
    Meyer, Marius
    Kenter, Tobias
    Plessl, Christian
    PROCEEDINGS OF H2RC 2020: 2020 SIXTH IEEE/ACM INTERNATIONAL WORKSHOP ON HETEROGENEOUS HIGH-PERFORMANCE RECONFIGURABLE COMPUTING (H2RC), 2020, : 10 - 18
  • [25] Graph Rewriting for Hardware Dependent Program Optimizations
    Schoesser, Andreas
    Geiss, Rubino
    APPLICATIONS OF GRAPH TRANSFORMATIONS WITH INDUSTRIAL RELEVANCE, 2008, 5088 : 233 - 248
  • [26] Program development and verification based on rewriting techniques
    Sun, Yongqing
    Lu, Chaojun
    Shao, Zhiqing
    Ruan Jian Xue Bao/Journal of Software, 2000, 11 (08): : 1066 - 1070
  • [27] General Program Synthesis Benchmark Suite
    Helmuth, Thomas
    Spector, Lee
    GECCO'15: PROCEEDINGS OF THE 2015 GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, 2015, : 1039 - 1046
  • [28] Multi-Program Benchmark Definition
    Jacobvitz, Adam N.
    Hilton, Andrew D.
    Sorin, Daniel J.
    2015 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS AND SOFTWARE (ISPASS), 2015, : 72 - 82
  • [29] DEVELOPMENT CRITERIA FOR A BENCHMARK TEST PROGRAM
    BOHM, K
    COMPUTER PROGRAMS IN BIOMEDICINE, 1982, 15 (03): : 243 - 248
  • [30] CRState: In-kernel Checkpoint/Restart of OpenCL Program Execution on GPU
    Chen, Genlang
    Zhang, Jiajian
    Lin, Qiuru
    Jiang, Hai
    Pang, Chaoyi
    2019 IEEE 25TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS), 2019, : 335 - 342