@inproceedings{c48633cb598649b3a67ce8031f460963,
title = "Hybridizing S3D into an exascale application using OpenACC: An approach for moving to multi-petaflops and beyond",
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.",
keywords = "Accelerators, Communication overlap, Directives, Hybrid Architectures, Hybrid Programming, MPI, Multi-core, OpenACC, OpenMP",
author = "Levesque, {John M.} and Ramanan Sankaran and Ray Grout",
year = "2012",
doi = "10.1109/SC.2012.69",
language = "English",
isbn = "9781467308069",
series = "International Conference for High Performance Computing, Networking, Storage and Analysis, SC",
booktitle = "2012 International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2012",
note = "2012 24th International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2012 ; Conference date: 10-11-2012 Through 16-11-2012",
}