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 language | American English |
---|---|
Number of pages | 11 |
DOIs | |
State | Published - 2012 |
Event | 2012 24th International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2012 - Salt Lake City, UT, United States Duration: 10 Nov 2012 → 16 Nov 2012 |
Conference
Conference | 2012 24th International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2012 |
---|---|
Country/Territory | United States |
City | Salt Lake City, UT |
Period | 10/11/12 → 16/11/12 |
NREL Publication Number
- NREL/CP-2C00-59076
Keywords
- Accelerators
- Communication overlap
- Directives
- Hybrid Architectures
- Hybrid Programming
- MPI
- Multi-core
- OpenACC
- OpenMP