A case study of CUDA FORTRAN and OpenACC for an atmospheric climate kernel

Abstract The porting of a key kernel in the tracer advection routines of the Community Atmosphere Model – Spectral Element (CAM-SE) to use Graphics Processing Units (GPUs) using OpenACC is considered in comparison to an existing CUDA FORTRAN port. The development of the OpenACC kernel for GPUs was substantially simpler than that of the CUDA port. Also, OpenACC performance was about 1.5× slower than the optimized CUDA version. Particular focus is given to compiler maturity regarding OpenACC implementation for modern FORTRAN, and it is found that the Cray implementation is currently more mature than the PGI implementation. Still, for the case that ran successfully on PGI, the PGI OpenACC runtime was slightly faster than Cray. The results show encouraging performance for OpenACC implementation compared to CUDA while also exposing some issues that may be necessary before the implementations are suitable for porting all of CAM-SE. Most notable are that GPU shared memory should be used by future OpenACC implementations and that derived type support should be expanded.

[1]  Katherine J. Evans,et al.  Emulation to simulate low-resolution atmospheric data , 2014, Int. J. Comput. Math..

[2]  Nils Wedi,et al.  High-Resolution Global Climate Simulations with the ECMWF Model in Project Athena: Experimental Design, Model Climate, and Seasonal Forecast Skill , 2012 .

[3]  Pier Luigi Vidale,et al.  Atmospheric blocking in a high resolution climate model: influences of mean state, orography and eddy forcing , 2013 .

[4]  P. Lauritzen Numerical techniques for global atmospheric models , 2011 .

[5]  Mark A. Taylor,et al.  CAM-SE: A scalable spectral element dynamical core for the Community Atmosphere Model , 2012, Int. J. High Perform. Comput. Appl..

[6]  J D Annan,et al.  Efficient estimation and ensemble generation in climate modelling , 2007, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences.

[7]  C. Hannay,et al.  Exploratory High-Resolution Climate Simulations using the Community Atmosphere Model (CAM) , 2014 .

[8]  Luis Kornblueh,et al.  Sensitivity of Simulated Climate to Horizontal and Vertical Resolution in the ECHAM5 Atmosphere Model , 2006 .

[9]  J. Bacmeister,et al.  Effects of vertical resolution and nonorographic gravity wave drag on the simulated climate in the Community Atmosphere Model, version 5 , 2014 .

[10]  Mark A. Taylor,et al.  Progress towards accelerating HOMME on hybrid multi-core systems , 2013, Int. J. High Perform. Comput. Appl..

[11]  D. Randall,et al.  Simulations of the Atmospheric General Circulation Using a Cloud-Resolving Model as a Superparameterization of Physical Processes , 2005 .

[12]  G. Vecchi,et al.  Simulated Climate and Climate Change in the GFDL CM2.5 High-Resolution Coupled Climate Model , 2012 .

[13]  Stephen J. Thomas,et al.  A mass and energy conserving spectral element atmospheric dynamical core on the cubed-sphere grid , 2007 .