当前位置: X-MOL 学术arXiv.cs.DC › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
GPURepair: Automated Repair of GPU Kernels
arXiv - CS - Distributed, Parallel, and Cluster Computing Pub Date : 2020-11-17 , DOI: arxiv-2011.08373
Saurabh Joshi and Gautam Muduganti

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 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 prior work. We demonstrate the superiority of GPURepair through its capability to fix more kernels and its unique ability to remove redundant barriers and handle inter-block data races.

中文翻译:

GPURepair:GPU 内核的自动修复

本文提出了一种工具,用于修复因数据竞争和屏障发散而导致的用 CUDA 或 OpenCL 编写的 GPU 内核中的错误。我们对先前工作的新颖扩展还可以消除被认为对正确性不必要的障碍。我们在名为 GPURepair 的工具中实现了这些想法,该工具使用 GPUVerify 作为 GPU 内核的验证预言机。我们还扩展了 GPUVerify 以支持 CUDA 合作组,允许 GPURepair 为 CUDA 内核执行块间同步。据我们所知,GPURepair 是唯一可以针对 CUDA 和 OpenCL 内核提出块内数据竞争和屏障发散错误修复的工具,也是唯一可以修复 CUDA 内核的块间数据竞争的工具。我们对大约 750 个内核进行了大量实验,并与之前的工作进行了比较。
更新日期:2020-11-18
down
wechat
bug