Computational & Technology Resources
an online resource for computational,
engineering & technology publications
Computational Science, Engineering & Technology Series
PATTERNS FOR PARALLEL PROGRAMMING ON GPUS
Edited by: F. Magoulès
High Level GPGPU Programming with Parallel Skeletons
M. Bourgoin, E. Chailloux and J.-L. Lamotte
Laboratoire d'Informatique de Paris 6 (LIP6 - UMR 7606), Universitée Pierre et Marie Curie (UPMC - Paris 6), Sorbonne Universités, Paris, France
M. Bourgoin, E. Chailloux, J.-L. Lamotte, "High Level GPGPU Programming with Parallel Skeletons", in F. Magoulès, (Editor), "Patterns for Parallel Programming on GPUs", Saxe-Coburg Publications, Stirlingshire, UK, Chapter 3, pp 57-71, 2014. doi:10.4203/csets.34.3
Keywords: GPGPU, parallel skeletons, OCaml, parallel abstractions, design patterns.
General purposeGPU programming implies associating highly parallel graphical computing units with classic CPUs to achieve great performance on applications commonly handled by CPU only. This hybrid system leads to complex programming designs combining multiple paradigms to manage each hardware architecture (CPU and GPGPU devices). In this chapter, we present how parallel skeletons can help tackle this challenge by abstracting some of these programming designs while automatizing optimizations. Through a simple example using the OCaml programming language to develop and compose skeletons, we will present how simple modifications to use parallel skeletons can ease GPGPU programming while offering performance speedups.
purchase the full-text of this chapter (price £20)