Modular GPU Programming with Typed Perspectives

Read full text
Authors: Manya Bansal, Daniel Sainati, Joseph W. Cutler, Saman P. Amarasinghe, Jonathan Ragan‐Kelley
Cited by: 0

Abstract

To achieve peak performance on modern GPUs, one must balance two frames of mind: issuing instructions to individual threads to control their behavior, while simultaneously tracking the convergence of many threads acting in concert to perform collective operations like Tensor Core instructions. The tension between these two mindsets makes modular programming error prone. Functions that encapsulate collective operations, despite being called per-thread, must be executed cooperatively by groups of threads. In this work, we introduce Prism, a new GPU language that restores modularity while still giving programmers the low-level control over collective operations necessary for high performance. Our core idea is typed perspectives , which materialize, at the type level, the granularity at which the programmer is controlling the behavior of threads. We describe the design of Prism, implement a compiler for it, and lay its theoretical foundations in a core calculus called Bundl. We implement state-of-the-art GPU kernels in Prism and find that it offers programmers the safety guarantees needed to confidently write modular code without sacrificing performance.

Fields of Study & Subjects

Parallel Computing and Optimization Techniques Modular Robots and Swarm Intelligence Distributed systems and fault tolerance

Publication details

Journal / source
Proceedings of the ACM on Programming Languages
Volume
10
Issue
PLDI
Pages
1077–1101
Publication date
8 June 2026
Language
EN