A New Programming Paradigm for GPGPU - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2012

A New Programming Paradigm for GPGPU

Résumé

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.

Dates et versions

hal-00796257 , version 1 (05-03-2013)

Identifiants

Citer

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⟩
135 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More