DocumentCode
1997447
Title
Exploring Programming Multi-GPUs Using OpenMP and OpenACC-Based Hybrid Model
Author
Rengan Xu ; Chandrasekaran, S. ; Chapman, Barbara
Author_Institution
Dept. of Comput. Sci., Univ. of Houston, Houston, TX, USA
fYear
2013
fDate
20-24 May 2013
Firstpage
1169
Lastpage
1176
Abstract
Heterogeneous computing come with tremendous potential and is a leading candidate for scientific applications that are becoming more and more complex. Accelerators such as GPUs whose computing momentum is growing faster than ever offer application performance when compute intensive portions of an application are offloaded to them. It is quite evident that future computing architectures are moving towards hybrid systems consisting of multi-GPUs and multi-core CPUs. A variety of high-level languages and software tools can simplify programming these systems. Directive-based programming models are being embraced since they not only ease programming complex systems but also abstract low-level details from the programmer. We already know that OpenMP has been making programming CPUs easy and portable. Similarly, a directive-based programming model for accelerators is OpenACC that is gaining popularity since the directives play an important role in developing portable software for GPUs. A combination of OpenMP and OpenACC, a hybrid model, is a plausible solution to port scientific applications to heterogeneous architectures especially when there is more than one GPU on a single node to port an application to. However OpenACC meant for accelerators is yet to provide support for multi-GPUs. But using OpenMP we could conveniently exploit features such as for and section to distribute compute intensive kernels to more than one GPU. We demonstrate the effectiveness of this hybrid approach with some case studies in this paper.
Keywords
application program interfaces; graphics processing units; high level languages; multiprocessing systems; parallel programming; software tools; OpenACC-based hybrid model; OpenMP; directive-based programming models; heterogeneous architectures; heterogeneous computing; high-level languages; multi-GPU; multicore CPU; portable software; software tools; Computational modeling; Computer architecture; Data transfer; Graphics processing units; Instruction sets; Kernel; Programming; GPUs; OpenACC; OpenMP;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2013 IEEE 27th International
Conference_Location
Cambridge, MA
Print_ISBN
978-0-7695-4979-8
Type
conf
DOI
10.1109/IPDPSW.2013.263
Filename
6651003
Link To Document