• Home
  • Search
  • The Design and Implementation of a Verification Technique for GPU Kernels
  • Cite Icon58
  • https://doi.org/10.1145/2743017Copy DOI Icon

The Design and Implementation of a Verification Technique for GPU Kernels

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

We present a technique for the formal verification of GPU kernels, addressing two classes of correctness properties: data races and barrier divergence. Our approach is founded on a novel formal operational semantics for GPU kernels termed <i>synchronous, delayed visibility (SDV)</i> semantics, which captures the execution of a GPU kernel by multiple groups of threads. The SDV semantics provides operational definitions for barrier divergence and for both inter- and intra-group data races. We build on the semantics to develop a method for reducing the task of verifying a massively parallel GPU kernel to that of verifying a sequential program. This completely avoids the need to reason about thread interleavings, and allows existing techniques for sequential program verification to be leveraged. We describe an efficient encoding of data race detection and propose a method for automatically inferring the loop invariants that are required for verification. We have implemented these techniques as a practical verification tool, GPUVerify, that can be applied directly to OpenCL and CUDA source code. We evaluate GPUVerify with respect to a set of 162 kernels drawn from public and commercial sources. Our evaluation demonstrates that GPUVerify is capable of efficient, automatic verification of a large number of real-world kernels.

Similar Papers
  • Conference Article
  • Citations53

Acculock: Accurate and efficient detection of data races

  • Apr 02, 2011
  • Xinwei Xie +1
  • Conference Article
  • Citations43

Acculock: Accurate and efficient detection of data races

  • Apr 01, 2011
  • Xinwei Xie +1
  • Conference Article
  • Citations13

Work-In-Progress: Protecting Real-Time GPU Applications on Integrated CPU-GPU SoC Platforms

  • Apr 01, 2017
  • Waqar Ali +1
  • Research Article
  • Citations21

GRace

  • Feb 12, 2011
  • ACM SIGPLAN Notices
  • Mai Zheng +3
  • Conference Article
  • Citations2

An OpenMP Analyzer for Detecting Concurrency Errors

  • Sep 01, 2012
  • Hongyi Ma +4
  • PDF
  • Research Article
  • Citations138

Leveraging rust types for modular specification and verification

  • Oct 10, 2019
  • Proceedings of the ACM on Programming Languages
  • Vytautas Astrauskas +3
  • Research Article
  • Citations81

Race detection for Android applications

  • Jun 05, 2014
  • ACM SIGPLAN Notices
  • Pallavi Maiya +2
  • Research Article
  • Citations10

AutoGraph: Optimizing DNN Computation Graph for Parallel GPU Kernel Execution

  • Jun 26, 2023
  • Proceedings of the AAAI Conference on Artificial Intelligence
  • Yuxuan Zhao +4
  • Research Article
  • Citations35

Complementarity Between Public and Commercial Databases: New Opportunities in Medicinal Chemistry Informatics

  • Aug 01, 2007
  • Current Topics in Medicinal Chemistry
  • Christopher Southan +2
  • Conference Article
  • Citations3

Teaching Design by Contract using Snap!

  • May 01, 2021
  • Marieke Huisman +1
  • Research Article
  • Citations3

Distributed eXplode: A High-Performance Model Checking Engine to Scale Up State-Space Coverage

  • Jan 01, 2008
  • Columbia Academic Commons (Columbia University)
  • Nageswar Keetha +3
  • Research Article
  • Citations257

Predicting program execution times by analyzing static and dynamic program paths

  • Mar 01, 1993
  • Real-Time Systems
  • Chang Yun Park
  • Research Article

Dynamic Robustness Verification against Weak Memory

  • Jun 10, 2025
  • Proceedings of the ACM on Programming Languages
  • Roy Margalit +3
  • Conference Article
  • Citations22

Modular verification of interrupt-driven software

  • Oct 01, 2017
  • Chungha Sung +2
  • Conference Article
  • Citations1

An abstraction refinement approach combining precise and approximated techniques for efficient program verification

  • Aug 25, 2009
  • Natasha Sharygina +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.