English

New High Performance GPGPU Code Transformation Framework Applied to Large Production Weather Prediction Code

Distributed, Parallel, and Cluster Computing 2018-02-19 v1 Atmospheric and Oceanic Physics

Abstract

We introduce "Hybrid Fortran", a new approach that allows a high performance GPGPU port for structured grid Fortran codes. This technique only requires minimal changes for a CPU targeted codebase, which is a significant advancement in terms of productivity. It has been successfully applied to both dynamical core and physical processes of ASUCA, a Japanese mesoscale weather prediction model with more than 150k lines of code. By means of a minimal weather application that resembles ASUCA's code structure, Hybrid Fortran is compared to both a performance model as well as today's commonly used method, OpenACC. As a result, the Hybrid Fortran implementation is shown to deliver the same or better performance than OpenACC and its performance agrees with the model both on CPU and GPU. In a full scale production run, using an ASUCA grid with 1581 x 1301 x 58 cells and real world weather data in 2km resolution, 24 NVIDIA Tesla P100 running the Hybrid Fortran based GPU port are shown to replace more than 50 18-core Intel Xeon Broadwell E5-2695 v4 running the reference implementation - an achievement comparable to more invasive GPGPU rewrites of other weather models.

Keywords

Cite

@article{arxiv.1802.05839,
  title  = {New High Performance GPGPU Code Transformation Framework Applied to Large Production Weather Prediction Code},
  author = {Michel Müller and Takayuki Aoki},
  journal= {arXiv preprint arXiv:1802.05839},
  year   = {2018}
}

Comments

Preprint as accepted for ACM TOPC

R2 v1 2026-06-23T00:24:15.517Z