GPUMC: A Stateless Model Checker for GPU Weak Memory Concurrency

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Chakraborty, Soham, Krishna, S., Pavlogiannis, Andreas, Tuppe, Omkar
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866916759919919104
author Chakraborty, Soham
Krishna, S.
Pavlogiannis, Andreas
Tuppe, Omkar
author_facet Chakraborty, Soham
Krishna, S.
Pavlogiannis, Andreas
Tuppe, Omkar
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2505_20207
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle GPUMC: A Stateless Model Checker for GPU Weak Memory Concurrency
Chakraborty, Soham
Krishna, S.
Pavlogiannis, Andreas
Tuppe, Omkar
Logic in Computer Science
Programming Languages
Software Engineering
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.
title GPUMC: A Stateless Model Checker for GPU Weak Memory Concurrency
topic Logic in Computer Science
Programming Languages
Software Engineering
url https://arxiv.org/abs/2505.20207