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 条
  • [41] MEASURING THE DEGREE OF VECTORIZATION BY AN ARTIFICIAL BENCHMARK PROGRAM
    HAAS, U
    SUPERCOMPUTER, 1989, 6 (04): : 26 - 36
  • [42] A benchmark set of highly-efficient CUDA and OpenCL kernels and its dynamic autotuning with Kernel Tuning Toolkit
    Petrovic, Filip
    Strelak, David
    Hozzova, Jana
    Ol'ha, Jaroslav
    Trembecky, Richard
    Benkner, Siegfried
    Filipovic, Jiri
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2020, 108 : 161 - 177
  • [43] Automatic Optimization Heuristics Method for OpenCL Program Based on Graph Neural Network
    Ye G.
    Zhang Y.
    Zhang C.
    Zhao J.
    Wang H.
    Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2023, 60 (05): : 1121 - 1135
  • [44] From Rewriting Logic, to Programming Language Semantics, to Program Verification
    Rosu, Grigore
    LOGIC, REWRITING, AND CONCURRENCY, 2015, 9200 : 598 - 616
  • [45] DAPPER: A Lightweight and Extensible Framework for Live Program State Rewriting
    Bapat, Abhishek
    Shastri, Jaidev
    Wang, Xiaoguang
    Sundarasamy, Abilesh
    Ravindran, Binoy
    2024 IEEE 44TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, ICDCS 2024, 2024, : 738 - 749
  • [46] A CLASS OF PROGRAM SCHEMES BASED ON TREE REWRITING-SYSTEMS
    COURCELLE, B
    LAVANDIER, F
    LECTURE NOTES IN COMPUTER SCIENCE, 1983, 159 : 191 - 204
  • [47] Link-time binary rewriting techniques for program compaction
    De Sutter, B
    De Bus, B
    De Bosschere, K
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2005, 27 (05): : 882 - 945
  • [48] PROGRAM PROFILING PROBLEMS, AND A SOLUTION VIA MACHINE LANGUAGE REWRITING
    REISER, JF
    SKUDLAREK, JP
    SIGPLAN NOTICES, 1994, 29 (01): : 37 - 45
  • [49] Improving Unsupervised Visual Program Inference with Code Rewriting Families
    Ganeshan, Aditya
    Jones, R. Kenny
    Ritchie, Daniel
    2023 IEEE/CVF INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV 2023), 2023, : 15745 - 15755
  • [50] Conflict-Based Program Rewriting for Solving Configuration Problems
    Ryabokon, Anna
    Friedrich, Gerhard
    Falkner, Andreas A.
    LOGIC PROGRAMMING AND NONMONOTONIC REASONING (LPNMR 2013), 2013, 8148 : 465 - 478