An Ocean General Circulation Model (LICOM) Running on GPUs
Date:2019-12-27
Recently, there is a growing need for ever more accurate climate and weather simulations to be delivered at higher resolution and shorter timescales. Graphics Processing Units (GPUs) have become a feasible approach to accelerating high-resolution models. Most of the existing work on climate models now uses code rewritten using Compute Unified Device Architecture (CUDA) to achieve a limited speedup. This restriction also greatly limits follow-up development and applications. Dr.s LIN Pengfei and LIU Hailong from the State Key Laboratory of Numerical Modeling for Atmospheric Sciences and Geophysical Fluid Dynamics (LASG) at the Institute of Atmospheric Physics, Chinese Academy of Sciences, working with Dr. JIANG Jinrong from Computer Network Information Center, Chinese Academy of Sciences, and Dr. Joey WANG from Nvidia Corporation (NIVDA) have designed and implemented a GPU-based acceleration of the LASG/IAP Climate system Ocean Model (LICOM) version 2, called LICOM2-gpu to demonstrate how to parallelize an oceanic model to make it run effectively on GPU architecture.
Considering the extremely large codebase of the model and the special need to modify the code, the model is implemented completely in OpenACC, a programming language used in computing science. In addition to conventional optimization methods such as local memory blocking, loop fusion and communication optimization, there are four key optimizations in LICOM2-gpu: local memory blocking, loop fusion, overlapping communication optimization and improving the code and algorithm to fit the OpenACC.
"Comparing the experimental results on 4 NVIDIA K80 cards with those on 4 Intel(R) Xeon(R) CPU E5-2690 v2 GPUs, we achieved a speedup of up to 6.6 times. This implies GPUs have become an important acceleration solution for scientific applications." Dr. Lin introduced.
The diagram of LICOM.
The result also indicates that OpenACC programming can be implemented with relative few changes to the source codes, which means the original structure and readability of the program can be maintained meanwhile obtaining good speedup values. Development using OpenACC for GPUs is substantially simpler than development through CUDA porting, which implies that it is a suitable GPU programming model for complex systems, such as the Earth System Model and its component models.
The study is published in IEEE Access.
Citation: Jiang, Jinrong, Pengfei Lin, Joey Wang, Hailong Liu, Xuebin Chi, Huiqun Hao, Yuzhu Wang, Wu Wang, and Linghan Zhang. "Porting LASG/IAP Climate System Ocean Model to GPUs Using OpenAcc." IEEE Access 7 (2019): 154490-154501. https://ieeexplore.ieee.org/document/8784044
Media Contact: Ms. LIN Zheng, jennylin@mail.iap.ac.cn