Video: OpenACC Eases GPU Programming for HPC at SC17

Print Friendly, PDF & Email

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:

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.

See our complete coverage of SC17

Sign up for our insideHPC Newsletter