Skip to main content

GPU Concurrency: Weak Behaviours and Programming Assumptions

Alglave, Jade, Batty, Mark, Donaldson, Alastair F., Gopalakrishnan, Ganesh, Ketema, Jeroen, Poetzl, Daniel, Sorensen, Tyler, Wickerson, John (2015) GPU Concurrency: Weak Behaviours and Programming Assumptions. In: ACM SIGPLAN Notices. Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS '15, Istanbul, Turkey, March 14-18, 2015. . pp. 577-591. ACM Press ISBN 978-1-4503-2835-7. (doi:10.1145/2694344.2694391) (KAR id:50272)

PDF Author's Accepted Manuscript
Language: English
Download (283kB) Preview
[img]
Preview
Official URL
http://doi.acm.org/10.1145/2694344.2694391

Abstract

Concurrency is pervasive and perplexing, particularly on graphics processing units (GPUs). Current specifications of languages and hardware are inconclusive; thus programmers often rely on folklore assumptions when writing software.

To remedy this state of affairs, we conducted a large empirical study of the concurrent behaviour of deployed GPUs. Armed with litmus tests (i.e. short concurrent programs), we questioned the assumptions in programming guides and vendor documentation about the guarantees provided by hardware. We developed a tool to generate thousands of litmus tests and run them under stressful workloads. We observed a litany of previously elusive weak behaviours, and exposed folklore beliefs about GPU programming---often supported by official tutorials---as false.

As a way forward, we propose a model of Nvidia GPU hardware, which correctly models every behaviour witnessed in our experiments. The model is a variant of SPARC Relaxed Memory Order (RMO), structured following the GPU concurrency hierarchy.

Item Type: Conference or workshop item (Paper)
DOI/Identification number: 10.1145/2694344.2694391
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 75 Electronic computers. Computer science
Divisions: Faculties > Sciences > School of Computing > Programming Languages and Systems Group
Depositing User: Mark Batty
Date Deposited: 03 Nov 2015 08:26 UTC
Last Modified: 20 Feb 2020 04:07 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/50272 (The current URI for this page, for reference purposes)
Batty, Mark: https://orcid.org/0000-0001-7053-4364
  • Depositors only (login required):

Downloads

Downloads per month over past year