paperbot · PL 论文追踪

全部论文 待读 收藏

P2 SIMT-Step Execution: A Flexible Operational Semantics for GPU Subgroup Behavior

SIMT-Step 执行:面向 GPU 子组行为的灵活操作语义
PLDI 10(PLDI)2026匹配度 2/10 · 该论文研究GPU子组SIMT执行的形式操作语义与TLA+验证,属于编程语言/体系结构形式化方向,但未涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户画像中PL与AI/LLM交叉的核心问题基本无关。虽然兼具形式化与工程验证,但研究目标不在用户当前追踪方向上。引用 2 inbox
Zheyuan Chen, Naomi Rehman, Guido Martínez, Tyler Sorensen
crossref: 2026-09-10

AI 速览

一句话:提出 SIMT-Step 操作语义,以动态基本块精确刻画 GPU 子组同步执行,并在 TLA+ 与多厂商 GPU 上验证。

GPU 硬件采用 SIMT 执行模型,子组(warp)内线程同步执行,语言通过高性能子组 API 暴露该行为。但编译器可能变换程序,破坏源级同步语义,且现有 GPU 语言缺乏严格子组语义。本文提出 SIMT-Step:一种灵活的操作语义,核心是动态基本块,可精确描述收敛的子组执行,并将指令执行建模为 collective、synchronous 或 independent。作者设计多种候选实例化及惯用测试来区分它们,在 TLA+ 中实现,测试均可在 1 秒内验证。随后跨 9 种 GPU、7 家厂商进行模糊测试,发现尽管官方规范不作保证,多数 GPU 仍表现出强同步行为。该工作为 GPU 子组语义提供理论基础与实践工具。

问题
GPU 子组同步执行缺乏严格的源语言级语义,编译器变换可能破坏源级同步行为。
方法
提出 SIMT-Step 操作语义,引入动态基本块,支持 collective、synchronous 或 independent 指令执行,并给出候选实例化与 TLA+ 实现。
评估
通过惯用测试区分不同实例化,并在 9 种 GPU、7 家厂商上开展模糊测试,验证多数硬件呈强同步行为。
原文摘要(Abstract)

GPU hardware implements a SIMT execution model, where small groups of threads, called subgroups (or warps in CUDA), execute synchronously. Languages expose this through high-performance subgroup-level APIs. However, providing precise subgroup semantics in languages is challenging, as compilers may transform the program, potentially disrupting source-level synchronous behavior even if the hardware is synchronous. As a result, no GPU programming language provides rigorous semantics for subgroup execution. In this work, we present SIMT-Step, a formal and flexible operational semantics for subgroup execution. At its core is a new semantic object, dynamic basic blocks, which enables precise specification of converged subgroup execution. SIMT-Step then provides flexibility for the execution of instructions, which can be collective, synchronous, or independent. We propose several candidate instantiations of SIMT-Step and design a suite of idiomatic tests to distinguish them, highlighting counter-intuitive behavior that arises under relaxed variants. We implement SIMT-Step in TLA+ and validate the behavior of the idiomatic tests, all of which can be verified in under one second. Finally, to investigate how closely SIMT-Step models real-world GPU behavior, we conduct a large fuzzing campaign, spanning nine GPUs and seven vendors. Our results show that, despite hesitancy to provide guarantees in official specifications, most GPUs exhibit strongly synchronous behavior. Combined, these contributions provide both a theoretical foundation and practical tools for reasoning about subgroup semantics in GPU programming languages.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot3763,
  title = {SIMT-Step Execution: A Flexible Operational Semantics for GPU Subgroup Behavior},
  author = {Zheyuan Chen and Naomi Rehman and Guido Martínez and Tyler Sorensen},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {PLDI},
  year = {2026},
  doi = {10.1145/3808297}
}