2015
DOI: 10.1145/2743017
|View full text |Cite
|
Sign up to set email alerts
|

The Design and Implementation of a Verification Technique for GPU Kernels

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 synchronous, delayed visibility (SDV) 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 d… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
41
0
1

Year Published

2016
2016
2023
2023

Publication Types

Select...
5
3
2

Relationship

4
6

Authors

Journals

citations
Cited by 54 publications
(42 citation statements)
references
References 53 publications
0
41
0
1
Order By: Relevance
“…We also plan to use our memory model as a basis for reasoning about OpenCL programs, extending the capabilities of tools such as GPUVerify [12], where existing support for atomic operations is limited and not based on formal foundations [5].…”
Section: Resultsmentioning
confidence: 99%
“…We also plan to use our memory model as a basis for reasoning about OpenCL programs, extending the capabilities of tools such as GPUVerify [12], where existing support for atomic operations is limited and not based on formal foundations [5].…”
Section: Resultsmentioning
confidence: 99%
“…GPU program analysis Current GPU program analysis tools focus on data-race freedom, barrier properties and memory safety: GKLEE [28] uses concolic execution, while GPUVERIFY [10,11] is based on verification conditions and invariant generation. Extensions of these methods support atomic operations to a limited extent [9,14], but neither provides a precise analysis accounting for weak behaviours.…”
Section: Related Workmentioning
confidence: 99%
“…In our study, we target GPU programs written in CUDA, the environment and language for GPU programs, and use ordinary symbolic execution. In Utah university's study, they target GPU In Imperial College London, A. Betts et al study verification for GPU programs with Boogie [3]. Boogie is the verification language proposed by Microsoft Research [4].…”
Section: Related Workmentioning
confidence: 99%