A Modular Static Cost Analysis for GPU Warp-Level Parallelism

Read full text
Authors: Gregory Blike, Hannah Zicarelli, Udaya Sathiyamoorthy, Julien Lange, Tiago Cogumbreiro
Cited by: 1
References: 56

Abstract

Graphics Processing Units (GPUs) are the accelerator of choice for performance-critical applications, yet optimizing for performance requires mastery of the complex interactions between its memory architecture and its execution model. Existing static analysis tools for GPU kernels either identify performance bugs without quantifying costs or cannot handle thread-divergent control flow, leading to significant over-approximations. We present the first static relational-cost analysis for GPU warp-level parallelism that can give exact bounds even in the presence of thread divergence. Our analysis is general and flexible, as it is parametric on the resource metric (uncoalesced accesses, bank conflicts) and on the cost relation (=, ≤, ≥). We establish a soundness theorem for our technique, provide mechanized proofs in Rocq and implement our theory in a tool called Pico . In a reproducibility experiment, Pico produced the tightest bounds in every input, outperforming the state-of-the-art tool RaCUDA in 10 kernels (1.7× better), while RaCUDA produced 4 incorrect bounds and crashed on 2 kernels. In an experiment to measure the accuracy of Pico , we studied the impact of threaddivergence in control-flow in a dataset of 226 kernels. We found that at least 75.3% of conditionals and 85.4% of loops can be captured exactly, without introducing approximation.

Fields of Study & Subjects

Parallel Computing and Optimization Techniques Cloud Computing and Resource Management Distributed systems and fault tolerance

Publication details

Journal / source
Proceedings of the ACM on Programming Languages
Publisher
Association for Computing Machinery (ACM)
Volume
10
Issue
POPL
Pages
1471–1499
Publication date
8 January 2026
Language
EN