Hybridizing S3D into an Exascale Application using OpenACC: An Approach for Moving to Multi-Petaflops and Beyond

John M. Levesque, Ramanan Sankaran, Ray Grout

Research output: Contribution to conferencePaperpeer-review

47 Scopus Citations

Abstract

Hybridization is the process of converting an application with a single level of parallelism to an application with multiple levels of parallelism. Over the past 15 years a majority of the applications that run on High Performance Computing systems have employed MPI for all of the parallelism within the application. In the Peta-Exascale computing regime, effective utilization of the hardware requires multiple levels of parallelism matched to the macro architecture of the system to achieve good performance. A hybridized code base is performance portable when sufficient parallelism is expressed in an architecture agnostic form to achieve good performance on a range of available systems. The hybridized S3D code is performance portable across today's leading many core and GPU accelerated systems. The OpenACC framework allows a unified code base to be deployed for either (Manycore CPU or Manycore CPU+GPU) while permitting architecture specific optimizations to expose new dimensions of parallelism to be utilized.

Original languageAmerican English
Number of pages11
DOIs
StatePublished - 2012
Event2012 24th International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2012 - Salt Lake City, UT, United States
Duration: 10 Nov 201216 Nov 2012

Conference

Conference2012 24th International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2012
Country/TerritoryUnited States
CitySalt Lake City, UT
Period10/11/1216/11/12

NREL Publication Number

  • NREL/CP-2C00-59076

Keywords

  • Accelerators
  • Communication overlap
  • Directives
  • Hybrid Architectures
  • Hybrid Programming
  • MPI
  • Multi-core
  • OpenACC
  • OpenMP

Fingerprint

Dive into the research topics of 'Hybridizing S3D into an Exascale Application using OpenACC: An Approach for Moving to Multi-Petaflops and Beyond'. Together they form a unique fingerprint.

Cite this