ABSTRACT
An emerging trend in the field of Graphics Processing Unit (GPU) computing is the harnessing of multiple devices to cope with scalability and performance requirements. However, multi-GPU execution adds new challenges to the already complex world of General Purpose computing on GPUs (GPGPU), such as the efficient problem decomposition, and dealing with device heterogeneity. To this extent, we propose the use of the Marrow algorithmic skeleton framework (ASkF) to abstract most of the details intrinsic to the programming of such platforms. To the best of our knowledge, Marrow is the first ASkF to support skeleton nesting on single and (now) multiple GPU systems. In this paper we present how it can transparently distribute the execution of skeleton compositions among a set of, possibly, heterogeneous devices. An experimental evaluation assesses the proposal's effectiveness, from a scalability and performance perspective, with good results.
- AMD Corporation. Bolt C++ Template Library. http://developer.amd.com/tools/heterogeneous-computing/, last visited in June 2013.Google Scholar
- C. Augonnet, S. Thibault, R. Namyst, and P.-A. Wacrenier. StarPU: A unified platform for task scheduling on heterogeneous multicore architectures. In Euro-Par'09, pages 863--874. Springer, 2009. Google ScholarDigital Library
- M. Cole. Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming. Parallel Computing, pages 389--406, 2004. Google ScholarDigital Library
- A. Danalis et al. The scalable heterogeneous computing (SHOC) benchmark suite. In GPGPU'10, pages 63--74. ACM, 2010. Google ScholarDigital Library
- U. Dastgeer, J. Enmyren, and C. Kessler. Auto-tuning SkePU: a multi-backend skeleton programming framework for multi-GPU systems. In IWMSE'11, pages 25--32. ACM, 2011. Google ScholarDigital Library
- S. Ernsting and H. Kuchen. Algorithmic skeletons for multi-core, multi-GPU systems and clusters. IJHPCN, 7(2): 129--138, 2012. Google ScholarDigital Library
- H. P. Huynh, A. Hagiescu, W.-F. Wong, and R. S. M. Goh. Scalable framework for mapping streaming applications onto multi-GPU systems. In PPOPP'12, pages 1--10. ACM, 2012. Google ScholarDigital Library
- R. Marques, H. Paulino, F. Alexandre, and P. D. Medeiros. Algorithmic skeleton framework for the orchestration of GPU computations. In Euro-Par'13, pages 874--885, 2013. Google ScholarDigital Library
- A. Munshi et al. The OpenCL Specification. Khronos OpenCL Working Group, 2009.Google ScholarCross Ref
- NVIDIA Corporation. NVIDIA CUDA. http://www.nvidia.com/object/cuda_home_new.html, last visited in June 2013.Google Scholar
- M. Repplinger and P. Slusallek. Stream processing on GPUs using distributed multimedia middleware. Concurrency and Computation: Practice and Experience, pages 669--680, 2011. Google ScholarDigital Library
- M. Steuwer, P. Kegel, and S. Gorlatch. Towards High-Level Programming of Multi-GPU Systems Using the SkelCL Library. In IPDPSW'12, pages 1858--1865. IEEE Computer Society, 2012. Google ScholarDigital Library
Index Terms
- On the support of task-parallel algorithmic skeletons for multi-GPU computing
Recommendations
On the Efficacy of a Fused CPU+GPU Processor (or APU) for Parallel Computing
SAAHPC '11: Proceedings of the 2011 Symposium on Application Accelerators in High-Performance ComputingThe graphics processing unit (GPU) has made significant strides as an accelerator in parallel computing. However, because the GPU has resided out on PCIe as a discrete device, the performance of GPU applications can be bottlenecked by data transfers ...
Data Parallel Algorithmic Skeletons with Accelerator Support
Hardware accelerators such as GPUs or Intel Xeon Phi comprise hundreds or thousands of cores on a single chip and promise to deliver high performance. They are widely used to boost the performance of highly parallel applications. However, because of ...
Multi-dimensional Homomorphisms and Their Implementation in OpenCL
Homomorphisms (traditionally defined on lists) are functions that can be parallelized by the divide-and-conquer paradigm. In this paper, we introduce an extension of the traditional homomorphism concept--multi-dimensional homomorphisms (MDHs)--which ...
Comments