Source-to-Source Transformations for GPU Code Generation
Julien de Castelnau, Thomas Koehler, Arthur Chargu\'eraud, Cl\'ement Pit-Claudel

TL;DR
OptiGPU is a system that enables safe GPU programming with strong guarantees like data race and deadlock freedom by using proof-preserving source-to-source transformations, reducing verification effort.
Contribution
It introduces OptiGPU, extending proof-preserving compilation to GPU code, allowing verification of optimized GPU programs through source transformations that preserve correctness.
Findings
Successfully derived CUDA code for matrix transpose and parallel reduction
Achieved strong safety guarantees without extensive manual proof effort
Produced GPU code matching handwritten reference techniques
Abstract
GPUs have become essential in modern high performance computing, but programming them correctly remains a significant challenge. This difficulty arises from subtle concurrency bugs that result from the explicit management of synchronization primitives and data movement across intricate hierarchies of memory and parallel threads. At the same time, the ability to control these aspects explicitly is at the core of the performance gains granted by GPUs. These challenges have motivated interest in safe GPU programming: tools and languages that can prevent or detect such bugs statically. However, existing approaches make tradeoffs in three dimensions: the strength of their guarantees, the degree of low-level control they allow, and the amount of additional effort required to achieve these safety guarantees. This thesis presents OptiGPU, a system for GPU programming with strong safety…
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.
