~/talk

Kuiper: Correct and Efficient GPU Programming with Dependent Types and Separation Logic

Talkat PLDI 2026 · 2026-06-15..06-19· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Kuiper is an F library that uses Pulse-based separation logic to verify GPU kernels, extending the logic with forall+ connective and located resources to model memory hierarchy, kernel launches, and synchronization. The system proves safety, data-race freedom, and full functional correctness — including an optimized matrix multiply with two-level block tiling and tensor cores — and extracts zero-overhead CUDA that matches handwritten kernels and is competitive with cuBLAS, while enabling verified auto-tuning* (artifacts available).

AI-written summary · about

  1. 0:00Kyber and GPU challenges
  2. 1:04GPU programming model
  3. 3:12CUDA kernel example pitfalls
  4. 5:59Safety vs performance trade-offs
  5. 7:03Kyber for verified GPU programming
  6. 8:27Verifying matrix multiplication
  7. 10:56Justifying kernel calls
  8. 12:17Packaging kernels with contracts
  9. 13:19Generalizing with type classes
  10. 14:41Virtual arrays layout
  11. 16:05Floating point verification
  12. 17:48Performance evaluation
  13. 18:29Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.