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.
Type de document :
Communication dans un congrès
EUROPAR 2012, 2012, Rhodes Island, Greece. 2012, 〈10.1007/978-3-642-32820-6_88〉
Liste complète des métadonnées

https://hal.inria.fr/hal-00796257
Contributeur : Grégory Mounié <>
Soumis le : mardi 5 mars 2013 - 11:29:13
Dernière modification le : jeudi 11 janvier 2018 - 06:22:02

Identifiants

Collections

Citation

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

Partager

Métriques

Consultations de la notice

165