A New Programming Paradigm for GPGPU

Julio Toss 1 Thierry Gautier 1
1 MOAIS - PrograMming and scheduling design fOr Applications in Interactive Simulation
Inria Grenoble - Rhône-Alpes, LIG - Laboratoire d'Informatique de Grenoble
Abstract : Graphics Processing units (GPU) have become a valuable support for High Performance Computing (HPC) applications. However, despite the many improvements of General Purpose GPUs, the current programming paradigms available, such as NVIDIA's CUDA, are still low-level and require strong programming effort, especially for irregular applications where dynamic load balancing is a key point to reach high performances. This paper introduces a new hybrid programming scheme for general purpose graphics processors using two levels of parallelism. In the upper level, a program creates, in a lazy fashion, tasks to be scheduled on the different Streaming Multiprocessors (MP), as defined in the NVIDIA's architecture. We have embedded inside GPU a well-known work stealing algorithm to dynamically balance the workload. At lower level, tasks exploit each Streaming Processor (SP) following a data-parallel approach. Preliminary comparisons on data-parallel iteration over vectors show that this approach is competitive on regular workload over the standard CUDA library Thrust, based on a static scheduling. Nevertheless, our approach outperforms Thrust-based scheduling on irregular workloads.
Liste complète des métadonnées

https://hal.inria.fr/hal-00796257
Contributor : Grégory Mounié <>
Submitted on : Tuesday, March 5, 2013 - 11:29:13 AM
Last modification on : Friday, October 12, 2018 - 1:18:03 AM

Identifiers

Collections

Citation

Julio Toss, Thierry Gautier. A New Programming Paradigm for GPGPU. EUROPAR 2012, 2012, Rhodes Island, Greece. ⟨10.1007/978-3-642-32820-6_88⟩. ⟨hal-00796257⟩

Share

Metrics

Record views

177