HiRace: Accurate and Fast Source-Level Race Checking of GPU Programs

John Jacobson,Martin Burtscher,Ganesh Gopalakrishnan
2024-01-10
Abstract:Data races are egregious parallel programming bugs on CPUs. They are even worse on GPUs due to the hierarchical thread and memory structure, which makes it possible to write code that is correctly synchronized within a thread group while not being correct across groups. Thus far, all major data-race checkers for GPUs suffer from at least one of the following problems: they do not check races in global memory, do not work on recent GPUs, scale poorly, have not been extensively tested, miss simple data races, or are not dependable without detailed knowledge of the compiler.
Distributed, Parallel, and Cluster Computing
What problem does this paper attempt to address?