PLDI 2025 (series) / ARRAY 2025 (series) / ARRAY 2025 /
Kuiper: verified and efficient GPU programming
This program is tentative and subject to change.
Tue 17 Jun 2025 15:40 - 16:10 at Violet - Language Design & Type Safety
Kuiper is a language for safe and verified GPU program- ming based on dependent types and concurrent separation logic. Kuiper models the intricacies of the GPU programming model, including the memory hierarchy, kernel launches, and synchronization within a single comprehensive framework. Memory bugs and data races are ruled out for any well-typed program. Optionally, full functional-correctness proofs can be performed. Kuiper programs can be heavily polymorphic (over types, operations, memory layout, and more) and ex- tract to efficient, specialized CUDA code. We use Kuiper to implement several common GPU kernels (matrix multi- plication, reductions, softmax). Kuiper is built over the F★ [Swamy et al. 2016] ecosystem.
This program is tentative and subject to change.
Tue 17 JunDisplayed time zone: Seoul change
Tue 17 Jun
Displayed time zone: Seoul change
15:40 - 17:00 | |||
15:40 30mTalk | Kuiper: verified and efficient GPU programming ARRAY Guido Martínez Microsoft Research, Jonas Fiala ETH Zürich, Abhinav Jangda Microsoft Research, Angelica Moreira Microsoft Research, Nikhil Swamy Microsoft Research, Tyler Sorensen Microsoft Research | ||
16:10 30mTalk | Structuring Arrays with Algebraic Shapes ARRAY Jakub Bachurski University of Cambridge, Alan Mycroft University of Cambridge, UK, Dominic Orchard University of Kent; University of Cambridge |