（様式 20）成果報告書

TSUBAME 共同利用 平成２８年度 学術利用 成果報告書

利用課題名 高性能・高生産性を達成する垂直統合型アプリケーションフレームワーク
英文：High Performance, Highly Productive Application Frameworks
丸山直也
Naoya Maruyama
理化学研究所計算科学研究機構
RIKEN Advanced Institute for Computational Science
http://mt.aics.riken.jp/
邦文抄録（300 字程度） 本課題では気候モデルを対象として性能と生産性を両立するためのドメイン特化型フレームワークの評価を行う。気候モデルとしては正 20 面体による全球モデルを対象とし、フレームワークとしては GridTools を中心に用いる。 TSUBAME2 の GPU を用いた性能評価を行い、フレームワークによる生産性と性能の評価を実施する。

英文抄録（100 words 程度） / Abstract (100 words) This research is focused on performance
portability for climate models. To that end, we investigate using a high-level framework to enable a
performance portable and highly performant version of an atmospheric icosahedral model. WithGPU-accelerated supercomputers being a strong candidate architecture for exascale, we conduct
experiments using large-scale heterogeneous supercomputers such as TSUBAME2.

Keywords:

背景と目的 / BackgroundTraditionally, climate models are one of theNICAM codebase is more than 50K lines of code.

main class of applications that run on HPCHence,systems.

optimized for different target architectures isSupercomputers

increasingly

complexareandbecoming

divergentin

maintaining

different

codebasesforinfeasible.

architectures. As a consequence, one of the main

To that end, we consider a high-level framework

challenges to advancing climate models, andbased on C++ template programming as aother scientific applications at large, is topathway for achieving performance portability

guarantee

overwhile maintaining a single code base. The

different

high-level framework, GridTools, provides aperformancesupercomputers

thatportability

haveveryarchitectures.

robust and performant backend for GPUs (basedon CUDA), and other architectures.

概要 / Overview
In this project, our target is to navigate the結果および考察 / Results

challenges of achieving performance portability

To evaluate the efficiency of GridTools, we usefor climate models. More specifically, we targetaNICAM,

model

dynamical core; the costliest component ofchosen as a target application for the current andNICAM. Figure 1 shows the execution time ofnext-generation supercomputers in Japan (i.e.

preliminary runs, on a single GPU, of three

Oakforest-PACS, Tsubame3, and Post-K).

kernels: diffusion, divdamp, and vi_rhow_solver.

anicosahedral

atmosphericsetofkernelsextracted

fromNICAM’s

（様式 20）成果報告書

Figure 1: Execution time (Seconds)
The

GridTools

generatedcode

iscloseinperformance, and speedup over OpenMP CPUcode, to the manually optimized CUDA code. It is
importanttonote

that

hand-writtenoptimizations for CUDA code is a complex task
and requires significant time.

まとめ、今後の課題 / Summary and Future Plans
Our experimentation with kernels extracted
from NICAM’s dynamical core show that thehigh-level framework GridTools can generate code
comparableinperformance

tomanuallyoptimized code. One main challenge remains to beporting the entire dynamical core to C++ from theoriginal Fortran code. Another challenge is theintroduction

ofconvolutedcode,

typicaloftemplate programming in C++. Finally, a main
point of work is to investigate the performance ofother backends provided by GridTools, namely
OpenMP for Intel’s KNL.