13385

GPU concurrency: Weak behaviours and programming assumptions

Jade Alglave, Mark Batty, Alastair F. Donaldson, Ganesh Gopalakrishnan, Jeroen Ketema, Daniel Poetzl, Tyler Sorensen, John Wickerson
University College London
20th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2015), 2015

@inproceedings{alglave2015gpu,

   title={GPU concurrency Weak behaviours and programming assumptions},

   author={Alglave, Jade and Batty, Mark and Donaldson, Alastair F and Gopalakrishnan, Ganesh and Ketema, Jeroen and Poetzl, Daniel and Sorensen, Tyler and Wickerson, John},

   booktitle={Architectural Support for Programming Languages and Operating Systems, ASPLOS},

   volume={15},

   pages={14–18},

   year={2015}

}

Download Download (PDF)   View View   Source Source   

1198

views

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.
Rating: 1.8. From 6 votes.
Please wait...

* * *

* * *

HGPU group © 2010-2017 hgpu.org

All rights belong to the respective authors

Contact us: