Skip to main content
Kent Academic Repository

Portable Inter-workgroup Barrier Synchronisation for GPUs

Sorensen, Tyler and Donaldson, Alastair F. and Batty, Mark and Gopalakrishnan, Ganesh and Rakamarić, Zvonimir (2016) Portable Inter-workgroup Barrier Synchronisation for GPUs. In: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. SPLASH Systems, Programming, and Applications . ACM, New York, USA, pp. 39-58. ISBN 978-1-4503-4444-9. (doi:10.1145/2983990.2984032) (KAR id:57941)

Abstract

Despite the growing popularity of GPGPU programming, there is not yet a portable and formally-specified barrier that one can use to synchronise across workgroups. Moreover, the occupancy-bound execution model of GPUs breaks assumptions inherent in traditional software execution barriers, exposing them to deadlock. We present an occupancy discovery protocol that dynamically discovers a safe estimate of the occupancy for a given GPU and kernel, allowing for a starvation-free (and hence, deadlock-free) inter-workgroup barrier by restricting the number of workgroups according to this estimate. We implement this idea by adapting an existing, previously non-portable, GPU inter-workgroup barrier to use OpenCL 2.0 atomic operations, and prove that the barrier meets its natural specification in terms of synchronisation.

We assess the portability of our approach over eight GPUs spanning four vendors, comparing the performance of our method against alternative methods. Our key findings include: (1) the recall of our discovery protocol is nearly 100%; (2) runtime comparisons vary substantially across GPUs and applications; and (3) our method provides portable and safe inter-workgroup synchronisation across the applications we study.

Item Type: Book section
DOI/Identification number: 10.1145/2983990.2984032
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 75 Electronic computers. Computer science
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Mark Batty
Date Deposited: 18 Oct 2016 14:37 UTC
Last Modified: 09 Dec 2022 02:09 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/57941 (The current URI for this page, for reference purposes)

University of Kent Author Information

  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.