• 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