GPUMC: A Stateless Model Checker for GPU Weak Memory Concurrency

📅 2025-05-26
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
GPU programming under the weak memory model scoped-RC11 is prone to data races, barrier divergence, and assertion violations. Method: We propose GPUMC, a stateless model checker that formally encodes GPU-specific semantics—namely scoping, thread divergence, and hierarchical execution—into the scoped-RC11 model. GPUMC combines stateless depth-first search with constraint solving to enable full-path exploration and automatic error repair. Contributions/Results: (1) The first stateless model checking framework supporting native GPU concurrency semantics; (2) High-precision bug detection coupled with verifiable, automated fixes; (3) Comprehensive detection of known defects in real-world and benchmark GPU programs, with significantly lower time and memory overhead than state-of-the-art tools. GPUMC is the only tool to successfully verify several large-scale cases—others timed out.

Technology Category

Application Category

📝 Abstract
GPU computing is embracing weak memory concurrency for performance improvement. However, compared to CPUs, modern GPUs provide more fine-grained concurrency features such as scopes, have additional properties like divergence, and thereby follow different weak memory consistency models. These features and properties make concurrent programming on GPUs more complex and error-prone. To this end, we present GPUMC, a stateless model checker to check the correctness of GPU shared-memory concurrent programs under scoped-RC11 weak memory concurrency model. GPUMC explores all possible executions in GPU programs to reveal various errors - races, barrier divergence, and assertion violations. In addition, GPUMC also automatically repairs these errors in the appropriate cases. We evaluate GPUMC with benchmarks and real-life GPU programs. GPUMC is efficient both in time and memory in verifying large GPU programs where state-of-the-art tools are timed out. In addition, GPUMC identifies all known errors in these benchmarks compared to the state-of-the-art tools.
Problem

Research questions and friction points this paper is trying to address.

Verifies GPU shared-memory concurrency under scoped-RC11 model
Detects races, barrier divergence, and assertion violations
Automatically repairs errors in GPU weak memory programs
Innovation

Methods, ideas, or system contributions that make the work stand out.

Stateless model checker for GPU concurrency
Explores all possible GPU program executions
Automatically repairs concurrency errors
🔎 Similar Papers
No similar papers found.