Wait-Free Programming for General Purpose Computations on Graphics Processors
Journal article, 2017

The fact that graphics processors (GPUs) are today's most powerful computational hardware for the dollar has motivated researchers to utilize the ubiquitous and powerful GPUs for general-purpose computing. However, unlike CPUs, GPUs are optimized for processing 3D graphics (e.g., graphics rendering), a kind of data-parallel applications, and consequently, several GPUs do not support strong synchronization primitives to coordinate their cores. This prevents the GPUs from being deployed more widely for general-purpose computing. This paper aims at bridging the gap between the lack of strong synchronization primitives in the GPUs and the need for strong synchronization mechanisms in parallel applications. Based on the intrinsic features of typical GPU architectures, we construct strong synchronization objects such as wait-free and t-resilient read-modify-write objects for a general model of GPU architectures without hardware synchronization primitives such as test-and-set and compare-and-swap. Accesses to the wait-free objects have time complexity O(N), where N is the number of processes. The wait-free objects have the optimal space complexity O(N-2) . Our result demonstrates that it is possible to construct wait-free synchronization mechanisms for GPUs without strong synchronization primitives in hardware and that wait-free programming is possible for such GPUs.

Concurrent programming

interprocess synchronization

fault-tolerance

multicore computing

GPGPU

Author

P. H. Ha

University of Tromsø – The Arctic University of Norway

Philippas Tsigas

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

O. J. Anshus

University of Tromsø – The Arctic University of Norway

IEEE Transactions on Computers

0018-9340 (ISSN)

Vol. 66 8 1407-1420 6357187

Subject Categories

Computer Science

DOI

10.1109/tc.2012.274

More information

Latest update

4/5/2022 6