PLDI 2025
Mon 16 - Fri 20 June 2025 Seoul, South Korea

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 Jun

Displayed time zone: Seoul change

15:40 - 17:00
Language Design & Type SafetyARRAY at Violet
15:40
30m
Talk
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
30m
Talk
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