• DocumentCode
    1915008
  • Title

    Experiences with OpenMP, PGI, HMPP and OpenACC Directives on ISO/TTI Kernels

  • Author

    Ghosh, Sudip ; Liao, Tingdi ; Calandra, H. ; Chapman, Barbara M.

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Houston, Houston, TX, USA
  • fYear
    2012
  • fDate
    10-16 Nov. 2012
  • Firstpage
    691
  • Lastpage
    700
  • Abstract
    GPUs are slowly becoming ubiquitous devices in High Performance Computing, as their capabilities to enhance the performance per watt of compute intensive algorithms as compared to multicore CPUs have been identified. The primary shortcoming of a GPU is usability, since vendor specific APIs are quite different from existing programming languages, and it requires a substantial knowledge of the device and programming interface to optimize applications. Hence, lately a growing number of higher level programming models are targeting GPUs to alleviate this problem. The ultimate goal for a high-level model is to expose an easy-to-use interface for the user to offload compute intensive portions of code (kernels) to the GPU, and tune the code according to the target accelerator to maximize overall performance with a reduced development effort. In this paper, we share our experiences of three of the notable high-level directive based GPU programming models - PGI, CAPS and OpenACC (from CAPS and PGI) on an Nvidia M2090 GPU. We analyze their performance and programmability against Isotropic (ISO)/Tilted Transversely Isotropic (TTI) finite difference kernels, which are primary components in the Reverse Time Migration (RTM) application used by oil and gas exploration for seismic imaging of the sub-surface. When ported to a single GPU using the mentioned directives, we observe an average 1.5-1.8x improvement in performance for both ISO and TTI kernels, when compared with optimized multi-threaded CPU implementations using OpenMP.
  • Keywords
    finite difference methods; graphics processing units; multiprocessing systems; parallel processing; user interfaces; GPU; GPU programming model; HMPP directive; ISO-TTI finite difference kernel; Nvidia M2090 GPU; OpenACC directive; OpenMP directive; PGI directive; RTM application; application program interface; compute intensive algorithm; easy-to-use user interface; graphics processing unit; high performance computing; isotropic kernel; multicore CPU; programming interface; programming language; reverse time migration; tilted transversely isotropic kernel; vendor specific API; CAPS; Finite Difference Stencils; GPGPU; HMPP; ISO; OpenACC; OpenMP; PGI; RTM; TTI;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High Performance Computing, Networking, Storage and Analysis (SCC), 2012 SC Companion:
  • Conference_Location
    Salt Lake City, UT
  • Print_ISBN
    978-1-4673-6218-4
  • Type

    conf

  • DOI
    10.1109/SC.Companion.2012.95
  • Filename
    6495877