Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation 2012
DOI: 10.1145/2254064.2254110
|View full text |Cite
|
Sign up to set email alerts
|

Verifying GPU kernels by test amplification

Abstract: We present a novel technique for verifying properties of data parallel GPU programs via test amplification. The key insight behind our work is that we can use the technique of static information flow to amplify the result of a single test execution over the set of all inputs and interleavings that affect the property being verified. We empirically demonstrate the effectiveness of test amplification for verifying race-freedom and determinism over a large number of standard GPU kernels, by showing that the resul… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

1
20
0

Year Published

2013
2013
2018
2018

Publication Types

Select...
5

Relationship

0
5

Authors

Journals

citations
Cited by 44 publications
(21 citation statements)
references
References 34 publications
1
20
0
Order By: Relevance
“…Interleaving semantics for GPU kernels has been defined by [15,17,12]. These are similar to our semantics except that [15,12] do not give a semantics for barriers.…”
Section: Related Work and Conclusionmentioning
confidence: 98%
See 2 more Smart Citations
“…Interleaving semantics for GPU kernels has been defined by [15,17,12]. These are similar to our semantics except that [15,12] do not give a semantics for barriers.…”
Section: Related Work and Conclusionmentioning
confidence: 98%
“…Interleaving semantics for GPU kernels has been defined by [15,17,12]. These are similar to our semantics except that [15,12] do not give a semantics for barriers. Contrary to our lock-step approach, [15,17] battle the state space explosion due to arbitrary interleavings of threads by considering one particular schedule.…”
Section: Related Work and Conclusionmentioning
confidence: 98%
See 1 more Smart Citation
“…Several recent works have focused on GPU kernel verification using SMT solving [13,3], combined static and dynamic analysis [12] and separation logic with permissions [8]. The closest work to GPUVerify is the PUG technique and tool [13], and the methods have been compared qualitatively and experimentally [3].…”
Section: Related Workmentioning
confidence: 99%
“…Data races lead to non-determinism, incorrect computation and undefined behavior. There has been recent interest in the program analysis community on methods for formal or semi-formal analysis of GPU kernels, leading to methods for finding bugs in [14,5] or proving correctness properties of [13,3,8,12] GPU kernels, principally focused on data races.…”
Section: Introductionmentioning
confidence: 99%