In this video from SC17, Sunita Chandrasekaran from OpenACC.org and Stan Posey from NVIDIA describe how OpenACC eases GPU programming for HPC.
OpenACC, a directive-based high-level parallel programming model, has gained rapid momentum among scientific application users – the key drivers of specification. The user-friendly programming model has facilitated migration of several applications such as CAM, ANSYS Fluent, Gaussian, VASP, COSMO and is also seen as the entry-level programming model on the top 5 supercomputers on the TOP500 list.
At SC17, OpenACC.org announced milestones highlighting OpenACC’s broad adoption in weather and climate models that simulate the Earth’s atmosphere, including one of this year’s Gordon Bell finalist. Additionally, the organization announced their hackathon momentum and the new OpenACC 2.6 specification.
OpenACC is a user-driven directive-based performance-portable parallel programming model designed for scientists and engineers interested in porting their codes to a wide-variety of heterogeneous HPC hardware platforms and architectures including x86 and OpenPOWER CPUs, GPUs, Xeon Phis and more with significantly less programming effort.
The National Center for Atmospheric Research (NCAR) has developed an atmospheric model called Model for Prediction Across Scales (MPAS). In collaboration with the University of Wyoming, and the Korea Institute of Science and Technology Information (KISTI), the team evaluated various platforms and programming models, and implemented the MPAS with OpenACC directives to utilize fine grain parallel processing on GPUs. Scientists at NCAR and University of Wyoming developed OpenACC code for the MPAS dynamical core, and scientists at KISTI developed OpenACC code for the MPAS physics, in a project that will implement the full MPAS model on GPUs.
Our team has been investigating OpenACC as a pathway to performance portability for the MPAS global atmospheric model,” said Dr. Rich Loft, Director of Technology Development at the NCAR Computational and Information Systems Laboratory. “Using this approach for the MPAS dynamical core, we have achieved speedups ranging between 2.5 and 2.7, relative to a dual-socket, 18-core Intel Xeon v4 node.”
Additional models worldwide using OpenACC to solve challenges in weather and climate include:
- COSMO: Scientists at MeteoSwiss, ETH Zurich, and the Swiss National Supercomputing Center (CSCS) have developed the physics of the COSMO regional atmospheric model in OpenACC to deploy on GPUs for use in operational numerical weather prediction, and climate research.
- IFS: Collaboration with ECMWF in the ESCAPE Project has demonstrated speedups of more than an order of magnitude when optimizing existing GPU code for the spectral transform operations in the IFS model. Detailswere presented at the ESCAPE Workshop during Sep 2017.
- NICAM: Computational scientists at RIKEN have achieved GPU factors speedup over CPU-only, for the NICAM-DC (dynamical core) project using OpenACC on more than 1000 GPU nodes of the TSUBAME 2.5 supercomputer at the Tokyo Institute of Technology.
- NIM: The paper “Parallelization and Performance of the NIM Weather Model on CPU, GPU, and MIC Processors,” published in the Oct 2017 edition of BAMS , describes the OpenACC and GPU developments by scientists at the NOAA Earth System Research Laboratory to achieve performance portability with the same FORTRAN code compiled across various types of HPC platforms.
Gordon Bell Finalists Tap Into OpenACC
Computational scientists in China, including Haohuan Fu, Junfeng Liao, Nan Ding, Xiaohui Duan, Lin Gan, Yishuang Liang, Xinliang Wang, Jinzhe Yang, Yan Zheng, Weiguo Liu, Lanning Wang and Guangwen Yang were nominated for the prestigious Gordon Bell Prize that recognizes outstanding achievement in high-performance computing applications. Using OpenACC directives, they used the Sunway TaihuLight Supercomputer to reach petascale-level application performance for the widely used Community Atmosphere Model (CAM) from NCAR.
OpenACC allowed us to scale the CAM-SE to over 1.8 million Sunway cores with a simulation speed of over 3 simulated years per day,” said Prof. Haohuan Fu, deputy director of the National Supercomputing Center in Wuxi. “Without OpenACC, the team would have spent years coding for the complexity of the components in the TaihuLight Supercomputer.”
Hackathon Momentum in 2018
The Hackathon initiative that started back in 2014 has enabled over 85 large-scale scientific and engineering applications to launch on GPUs with OpenACC and other programming models. In the coming year, Hackathons will be hosted around the world with the help of a growing community of programmers and mentors. Several Earth system models and components like MPAS, ACME, NUMA, RRTMGP, FVCOM, COAMPS, HYCOM, ECHAM6, ICON, and others have been the focus of previous Hackathons, and now the National Oceanic and Atmospheric Administration(NOAA), OpenACC member will be hosting a Hackathon during June 2018 to accelerate additional Earth system models with OpenACC.
The Launch of OpenACC 2.6 Specification
OpenACC 2.6 specification has just been approved. User requested features have been added including the deep copy feature simplifies programming for applications with complex data types. View the full specification here.
About the OpenACC.org
OpenACC.org is a nonprofit organization founded to help scientists and researchers do more science and less programming by providing a high-level directives-based programming model for high performance computing. The charter of OpenACC.org is to develop and deliver the OpenACC specification, and to help educate and support scientists and researchers using or considering using OpenACC directives. The organization is run by academic and industry members in collaboration with the OpenACC User Community. Please visit www.openacc.org for more information.