一句话:提出 SuperCollider,一种仅跟踪线程级状态、无内存开销且可扩展的 CUDA 数据竞争检测器。
CUDA 数据竞争源于多线程在缺乏适当同步时错误访问同一内存位置,可导致数据损坏、死锁或活锁,且极难复现。现有动态 GPU 竞争检测器通过忠实跟踪数万线程的内存操作、屏障和内存栅栏来发现隐蔽竞争,但带来高内存开销(如超过 9 倍)和/或运行时开销(如 1000 倍),并容易误报。本文提出 SuperCollider,一种简单且可扩展的 CUDA 竞争检测器:它只跟踪线程级状态,不依赖同步协议,不引入内存占用开销,可无缝处理 shared、global 和 tensor 内存空间,不产生误报,且速度相对较快。虽然 SuperCollider 不能检测所有竞争,但在专业编写的 CUDA 程序中有效捕获了大量数据竞争,包括现有工作无法发现的竞争。该方法在库和 CUDA 基准中暴露了 90 多个数据竞争,甚至在 CUDA 编程指南中发现了一个竞争,并能运行于现代 GPU 工作负载所需的极端规模。
Data races, which occur when two or more threads incorrectly access the same memory location without appropriate synchronization, cause CUDA programmers considerable pain. Even experts struggle to reason about extreme parallelism, multiple memory spaces and scopes, and diverse synchronization mechanisms. Races can manifest as subtle data corruption, deadlock, or livelock, which are difficult to reproduce in a debugging environment. To date, there is no generally reliable tool for identifying races in GPU programs at scale. State-of-the-art dynamic GPU race detectors attempt to detect data races by faithfully tracking the memory operations, barriers, and memory fences executed by tens of thousands of threads. While this complexity enables the detection of subtle races, it comes with a cost: existing tools incur substantial memory-footprint overheads (e.g., greater than 9x) and/or runtime overheads (e.g., 1000x), and tend to report false positives. This paper introduces SuperCollider, a simple race detector for CUDA that tracks only thread-level state, is agnostic to synchronization protocols, introduces no memory-footprint overhead, seamlessly handles shared, global, and tensor memory spaces, does not produce false positives, and is relatively fast. Although SuperCollider cannot detect all races, we demonstrate that it effectively catches many data races in professionally authored CUDA programs, including races that prior art cannot. Our approach exposed over 90 data races across libraries and CUDA benchmarks, and even found a race in the CUDA Programming Guide. Unlike prior art, SuperCollider can operate at the extreme scales required by modern GPU workloads.
@article{StephensonDZLG26,
title = {SuperCollider: Scalable and Effective Data Race Detection for CUDA},
author = {Mark Stephenson and Sana Damani and Mohamed Tarek Ibn Ziad and Anis Ladram and Michael Garland},
journal = {Proceedings of the ACM on Programming Languages},
volume = {10},
number = {PLDI},
year = {2026},
doi = {10.1145/3808339}
}