Provable GPU Data-Races in Static Race Detection
Dennis Liew (University of Massachusetts Boston, Boston, USA), Tiago, Cogumbreiro (University of Massachusetts Boston, Boston, USA), Julien Lange, (Royal Holloway, University of London, Egham, UK)

TL;DR
This paper extends the Faial tool-chain's theoretical framework to accurately identify true data-race alarms in CUDA kernels by using memory access protocols and introduces a core calculus called BabyCUDA with a behavioral type system.
Contribution
It develops a formal theory for soundly proving data-race freedom in CUDA programs and extends it to distinguish true alarms, enhancing static race detection accuracy.
Findings
Faial can reliably identify true data-race alarms.
Introduction of BabyCUDA calculus and behavioral type system.
Extension of MAP theory to practical CUDA kernels.
Abstract
We extend the theory behind the Faial tool-chain, which can soundly prove that CUDA programs (aka, kernels) are data-race free using specialized behavioral types called memory access protocols (MAPs). In this paper we extend the theory of MAPs to characterize kernels for which alarms can be identified as true alarms. We introduce a core calculus for CUDA, which we named BabyCUDA, and a behavioral type system for it. We show that if a BabyCUDA program can be assigned a MAP, then any alarm raised by Faial for this program is a true alarm.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
