GPURepair: Automated Repair of GPU Kernels
This paper presents a tool for repairing errors in GPU kernels written in CUDA or OpenCL due to data races and barrier divergence. Our novel extension to a prior work can also remove barriers that are deemed unnecessary for correctness. We implement these ideas in our tool called GPURepair, which uses GPUVerify as the verification oracle for GPU kernels. We also extend GPUVerify to support CUDA Cooperative Groups, allowing GPURepair to perform inter-block synchronization for CUDA kernels. To the best of our knowledge, GPURepair is the only tool that can propose a fix for intra-block data races and barrier divergence errors for both CUDA and OpenCL kernels, and the only tool that fixes inter-block data races for CUDA kernels. We perform extensive experiments on about 750 kernels and provide a comparison with a prior work. We demonstrate the superiority of GPURepair through its capability to fix more number of kernels and its unique ability to remove redundant barriers and handle inter-block data-races.
Mon 18 Jan Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
18:30 - 19:15: Synthesis and RepairVMCAI at VMCAI Chair(s): Aws AlbarghouthiUniversity of Wisconsin-Madison, USA | |||
18:30 - 18:45 Talk | Approximate Bit Dependency Analysis to Identify Program Synthesis Problems as Infeasible VMCAI Marius KampFriedrich-Alexander University Erlangen-Nürnberg, Michael PhilippsenFriedrich-Alexander University Erlangen-Nürnberg (FAU) Media Attached | ||
18:45 - 19:00 Talk | Automated Repair of Heap-Manipulating Programs using Deductive Synthesis VMCAI Thanh-Toan NguyenNational University of Singapore, Quang-Trung TaNational University of Singapore, Ilya SergeyYale-NUS College and National University of Singapore, Wei-Ngan ChinNational University of Singapore Media Attached | ||
19:00 - 19:15 Talk | GPURepair: Automated Repair of GPU Kernels VMCAI Media Attached |