Verification of producer-consumer synchronization in GPU programs

8Citations
Citations of this article
16Readers
Mendeley users who have this article in their library.

Abstract

Previous efforts to formally verify code written for GPUs have focused solely on kernels written within the traditional data-parallel GPU programming model. No previous work has considered the higher performance, but more complex, warp-specialized kernels based on producer-consumer named barriers available on current hardware. In this work we present the first formal operational semantics for named barriers and define what it means for a warpspecialized kernel to be correct. We give algorithms for verifying the correctness of warp-specialized kernels and prove that they are both sound and complete for the most common class of warpspecialized programs. We also presentWEFT, a verification tool for checking warp-specialized code. Using WEFT, we discover several non-trivial bugs in production warp-specialized kernels.

Cite

CITATION STYLE

APA

Sharma, R., Bauer, M., & Aiken, A. (2015). Verification of producer-consumer synchronization in GPU programs. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) (Vol. 2015-June, pp. 88–98). Association for Computing Machinery. https://doi.org/10.1145/2737924.2737962

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free