paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Automating CUDA Synchronization via Program Transformation

通过程序变换自动实现 CUDA 同步
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019匹配度 4/10 · 该论文属于编译器/程序变换与 GPU 并发正确性方向,使用 LLVM 级静态变换自动插入 CUDA 同步屏障,与 PL 及静态分析有间接关联;但它未涉及用户核心关注的 LLM/Agent、浮点程序分析、贝叶斯程序分析,也不是面向机器学习系统或 Agentic 程序的静态分析工作。引用 20 inbox
Mingyuan Wu, Lingming Zhang, Cong Liu, Shin Hwei Tan, Yuqun Zhang
crossref: 2026-09-12

AI 速览

一句话:提出 AuCS,首个在 LLVM 级对 CUDA 内核自动插入同步屏障的通用框架,可处理数据竞争、屏障分歧与冗余屏障。

CUDA 是通用 GPU 计算的主流并行编程模型,但其复杂的并行执行机制和编程实践使同步成为程序员的重大挑战。本文提出 AuCS,这是首个面向 CUDA 内核函数自动实现同步的通用框架。AuCS 以语义保持的方式变换 LLVM 级 CUDA 程序控制流图,以探索可能的屏障函数插入位置,并进一步设计机制在多种错误同步场景中正确放置屏障函数,包括数据竞争、屏障分歧与冗余屏障。为了评估有效性与效率,作者进行了大量实验,结果表明 AuCS 能够自动处理 24 个错误同步场景中的 20 个。

问题
CUDA 同步因并行机制复杂、编码实践多样而难以由程序员正确编写,常见错误包括数据竞争、屏障分歧和冗余屏障。
方法
AuCS 在 LLVM 级对 CUDA 程序控制流图进行语义保持变换,以此探索屏障函数可能的位置,并通过专门机制为不同同步错误场景正确插入屏障。
评估
作者开展了大量实验,验证框架的有效性与效率;结果显示 AuCS 能自动处理 24 个错误同步场景中的 20 个。
原文摘要(Abstract)

While CUDA has been the most popular parallel computing platform and programming model for general purpose GPU computing, CUDA synchronization undergoes significant challenges for GPU programmers due to its intricate parallel computing mechanism and coding practices. In this paper, we propose AuCS, the first general framework to automate synchronization for CUDA kernel functions. AuCS transforms the original LLVM-level CUDA program control flow graph in a semantic-preserving manner for exploring the possible barrier function locations. Accordingly, AuCS develops mechanisms to correctly place barrier functions for automating synchronization in multiple erroneous (challenging-to-be-detected) synchronization scenarios, including data race, barrier divergence, and redundant barrier functions. To evaluate the effectiveness and efficiency of AuCS, we conduct an extensive set of experiments and the results demonstrate that AuCS can automate 20 out of 24 erroneous synchronization scenarios.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5272,
  title = {Automating CUDA Synchronization via Program Transformation},
  author = {Mingyuan Wu and Lingming Zhang and Cong Liu and Shin Hwei Tan and Yuqun Zhang},
  booktitle = {ASE},
  year = {2019},
  doi = {10.1109/ase.2019.00075}
}