Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation 2016
DOI: 10.1145/2908080.2908114
|View full text |Cite
|
Sign up to set email alerts
|

Exposing errors related to weak memory in GPU applications

Abstract: We present the systematic design of a testing environment that uses stressing and fuzzing to reveal errors in GPU applications that arise due to weak memory effects. We evaluate our approach on seven GPUs spanning three Nvidia architectures, across ten CUDA applications that use fine-grained concurrency. Our results show that applications that rarely or never exhibit errors related to weak memory when executed natively can readily exhibit these errors when executed in our testing environment. Our testing envir… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
10
0

Year Published

2016
2016
2020
2020

Publication Types

Select...
6
1

Relationship

1
6

Authors

Journals

citations
Cited by 30 publications
(11 citation statements)
references
References 28 publications
1
10
0
Order By: Relevance
“…The Fence-SC order can prevent weak memory ordering behaviors that acquire/release alone cannot prevent, such as the well-known store buffering (SB) pattern of Figure 6. The introduction of fence.sc in the newest generation of PTX corrects the weak SB behavior seen with membar in previous NVIDIA GPU architectures [51] ( §9.7.12.3).…”
Section: Fence-sc Ordermentioning
confidence: 76%
See 2 more Smart Citations
“…The Fence-SC order can prevent weak memory ordering behaviors that acquire/release alone cannot prevent, such as the well-known store buffering (SB) pattern of Figure 6. The introduction of fence.sc in the newest generation of PTX corrects the weak SB behavior seen with membar in previous NVIDIA GPU architectures [51] ( §9.7.12.3).…”
Section: Fence-sc Ordermentioning
confidence: 76%
“…NVIDIA GPUs since Kepler have occasionally had memory model issues [6,51,58]. The analysis in this paper aims to place NVIDIA GPU architectures starting from Volta and the PTX ISA from version 6.0 on a solid and more reliable theoretical foundation.…”
Section: Gpu Programming and Memory Modelsmentioning
confidence: 99%
See 1 more Smart Citation
“…Our experiments show that our implementation, an extension to tsan, can detect races that are beyond the scope of the original tool, and that our extended instrumentation still enables analysis of large applications-the Firefox and Chromium web browsers. Avenues for future work include: developing more advanced heuristics for exploring captured weak behaviours; devising further instrumentation techniques to capture a larger fragment of the memory model; conducting a larger-scale experimental study of data race defects in C++11 software, to understand the extent to which weak memory-related bugs, vs. bugs that can already manifest under SC semantics, are a problem in practice; and designing extensions our technique to cater for the OpenCL memory model [8], facilitating weak-memory aware data race detection for software running on GPU architectures, which are known to have weak memory models [4] that can lead to subtle defects in practical applications [44].…”
Section: Resultsmentioning
confidence: 99%
“…Our method is based on random differential testing [20], though we emphasize that this is not a general purpose approach and is tailored specifically for our use case. For example, we anticipate a false positive rate for kernels with subtle sources of non-determinism which more thorough methods may expose [21][22][23], however we deemed such methods unnecessary for our purpose of performance modeling.…”
Section: Assertmentioning
confidence: 99%