Kajikazawa in Kai Province, from the series Thirty-six Views of Mount Fuji
(Fugaku sanjūrokkei), K. Hokusai(1615-1868)

気象・気候アプリケーションソフトにおける緩やかな変革、また異なる計算手法との緩やかな融合に向けて八代尚 (Hisashi YASHIRO)

2021/06/18

自己紹介• 八代 尚 (Hisashi Yashiro)• 1978年生 : 青森県弘前市• 専門：大気化学、高性能計算、大気科学• 海洋研究開発機構→理研R-CCS(AICS)→国立環境研究所• 温室効果ガス観測衛星「GOSAT」プロジェクトが現在の本務• 全球非静力大気モデルNICAMの開発番頭：富岳での超高解像度・大アンサンブルデータ同化実験で昨年のGB Finalistに温室効果ガス観測技術衛星（いぶき, GOSAT）

温室効果ガス観測技術衛星2号
スバールバル島ニーオルスン基地(北緯79度)

JAXA三陸大気球観測所（岩手県大船渡市）

PCクラスタワークショップ, 2021年6月18日（いぶき2号, GOSAT-2）

気象・気候アプリケーションとは？
気象シミュレーション：数時間〜数ヶ月• 大気の状態を予測するのが主• 初期値問題、データ同化の利用• 解像度重視、リアルタイム性重視

気候シミュレーション：数年〜数百年• 大気＋海洋＋海氷＋陸上生態系を含めた再現と予測• 境界値問題• 計算速度重視

PCクラスタワークショップ, 2021年6月18日

http://www.jma.go.jp/jma/kishou/know/whitep/1-3-1.html

日本の気象・気候研究が使ってきたスパコンの変遷
Total Memory Throughput [PB/s]

LINPACK Performance [PFLOPS]

1E+03

Fugaku1E+02

Oakforest-PACS
K computer

1E+01

XC50

1E+00
1E-01

HA-8000
ES2

16000x

SR16000M1

1E-04
2002

2012

1000x

1E+01

K computer
Oakforest-PACS
XC50

HA-8000
Earth Simulator

1E-02
1E-03

JMA

2007

1E+02

1E-01

SR11000/K1+J1

SR-8000E1

Fugaku1E+00

Earth Simulator

1E-02
1E-03

10000x

1E+03

2017

2022

ES2600x

SR16000M1

SR11000/K1+J1JMA

SR-8000E1

1E-04
2002

2007

PCクラスタワークショップ, 2021年6月18日

2012

2017

2022

Dynamics

Physics

Comm.

80
Elapse time of 50 step
NICAM simulation [sec]100File I/O

7514km, DP56km, DP

60
40
200
110100

1000

10000

100000

Number of process
50

Odyssey, Strong Scaling (NICAM)
14km, Mixed
28km, DP56km, DP25

Odyssey, Weak Scaling (NICAM)ix
ed3,5km,mix
ed,m7kmix
ed,mkm,mix
ed1428,mkm
56kmixed

P,Dm
5k3,,DPm7k,DPkm

14,DPkm

28km,DP0

Elapse time of 50 step NICAMsimulation [sec]

900

56

Elapse time of 50 step NICAM simulation [sec]Wisteria/BDEC-01 ベンチマーク

14km, Mixed
56km, Mixed

28km, Mixed
56km, Mixed

600

300

01Aquarious, Strong Scaling (NICAM)
PCクラスタワークショップ, 2021年6月18日

10100
Number of GPU

1000

計算リソースはまだ足りない・より精緻な雲微物理

・積雲を陽に解像できない

・この解像度でもLESに・雲が凝結できる湿度に到達しないので、雲量を診断はならず、境界層乱流はクロージャーモデル
Low resolution

High resolution

なぜ高い空間解像度を欲するのか？
• 気象シミュレーションは第一原理計算ではない• 現象と計算領域の大きさがあまりにかけ離れている• ある空間解像度の仮定をもった粗視化・簡略化モデルがある：不確実性の温床
PCクラスタワークショップ, 2021年6月18日

気象・気候アプリは如何に最新スパコンに追随してきたか：全球非静力大気モデルNICAMの場合（１）開発当時(2000年)の設計コンセプト• 地球シミュレータで性能を出すための設計：数百、数千プロセス並列に耐える、長いベクトル長を確保する

ESから京コンピュータへ• 変えたこと：メモリ性能に頼ったコーディング、スレッド並列の利用• 変えなかったこと：データレイアウト（SoA）• 後回しにしたこと：OpenMPの適用（自動並列化の積極的利用）

京から富岳へ• 変えたこと：混合精度の積極的利用、（OpenACCの利用）• 変えなかったこと：データレイアウト（SoA）• 後回しにしたこと：DSLによるFortranコードの置き換え

PCクラスタワークショップ, 2021年6月18日

気象・気候アプリは如何に最新スパコンに追随してきたか：全球非静力大気モデルNICAMの場合（２）巨大レガシーソフトウェア開発にとって重要なこと• いちから作り直さない• 大胆な変更を拒絶しない• 小さな変更を積み重ねていく：結果の後方互換が大事

プロジェクト推進にとって重要なこと• 出来ない理由が「まだ計算リソースが足りないから」になるように準備する• 計算リソースを無駄遣いして研究を先に進めることを恐れない• 計算リソースを効率よく使えていないことを定量的に把握する：出来てないアプリが多すぎ

PCクラスタワークショップ, 2021年6月18日

次の10年をどうするか？

NGACI (Next-Generation Advanced Computing Infrastructure) 白書• 次期フラッグシップマシンに対する展望• メモリ性能（4x）とメモリ容量（2x）に関しては気象・気候アプリにとって絶望的な内容• 不揮発性メモリの積極的な利用は不可欠だろう• 電力性能の向上のために、HWは今以上にアルゴリズムの並列度を要求してくる• が、アプリ側はもう限界が近づいている• 異なるアーキテクチャにどう追随していくか？
• DSLの必要性• が、あくまでポータビリティのためであり、性能限界を越えられるわけではない

PCクラスタワークショップ, 2021年6月18日

気候シミュレーションの直面する問題

Simulation Year Per Day (SYPD)

100• 解像度を２倍にすると問題サイズは８倍（空間方向４倍、時間方向２倍）

10• 利用プロセス数を８倍利用して高速化しようとするとストロングスケーリング問題になる

1• 気候シミュレーションの高解像
0.1

度化に待ち受ける壁は高い
1

10

100

1000

10000

100000

Number of Nodes
PCクラスタワークショップ, 2021年6月18日

• HW性能が見込めず、アルゴリズム並列化では限界があるのなら、計算精度を落としてでも「データを移動させない」「計算しない」• 混合精度の積極的な利用は富岳時代の取り組み• 従来の物理モデルと機械学習による「代理モデル」を使い分ける→Yet Another "Approximate Computing”（物理モデル屋さんからしたら機械学習は心理的にApproximateな手法）

カプラーを用いたフレキシブルな開発
カップラーとは？
C• 異なるソフトウェアを結合する

C• MPI通信によってデータを交換し、必要に応じて時空間的な変換を行う

CCC

ppOpen-MATH/MP• カップリングライブラリJcup (Arakawa et al., 2014, 2020)をベースに持つ• 疎結合・弱連成：ソフトウェア統合よりも分散開発が良い場合もある• 機能を強化し、ツールとしての可用性を拡大→h3-Open-UTIL/MP• 科研費基盤S「（計算＋データ＋学習）融合によるエクサスケール時代の革新的シミュレーション手法（PI:東大中島研吾先生）」での取り組み

PCクラスタワークショップ, 2021年6月18日

Multi Physics Coupling• 例えば：大気海洋結合
・異なる格子系の相互マッピング

・MPI並列（100-1000proc.）

・MPI並列（100-10000proc.）

・３極格子系・正20面体格子系（北緯63度あたりで正距円筒図法とステレオ図法を結合）

Picture from Miyakawa et al., 2017, GRL

PCクラスタワークショップ, 2021年6月18日

I/O Node Coupling
Model Simulation(s)J-cup

J-cupCoupling

I/O nodecollection,
remapping

Icosahedral grid
Lat-Lon grid

Post-process (remapping)• ポストプロセス時間が長い
Lat-Lon grid

• On-the- yで格子系変換

fl

PCクラスタワークショップ, 2021年6月18日

fi

Multi Detailed-level CouplingHigh resolution←使っている物理スキームが違う→

J-cup

Coupling• 低解像度側がより正しいケース
lterdナッジング法：
低波数成分のみニュートン緩和

Low resolution

J-cup• 高解像度側がより正しいケース
陽的に計算された結果と粗視化モデルで計算された結果を同じ解像度で比較出来る

PCクラスタワークショップ, 2021年6月18日

fi

Multi Detailed-level Coupling + Ensemble
High resolution

Low resolution Ensemble

J-cup

Coupling

J-cup• 低解像度側がより正しいケース
lterdナッジング法：
低波数成分のみニュートン緩和
Data assimilation
PCクラスタワークショップ, 2021年6月18日

Multi Approach Coupling

J-cup

Coupling

J-cup

Physics-based model

Data-driven model• 教師データをOn-the- yで供給
• アプリ全体ではなく、ターゲットとなるモデルコンポーネント毎にプラグイン

flPCクラスタワークショップ, 2021年6月18日

Wistria/BDEC-01を用いたマルチカップリング構想
Multi Detailed-level＋Multi Approach
ML App(Python)

Input
Component

Coupling
w/ Grid Remapping

OutputHigh Resolution Atmospheric Model(Convection-Resolving Mode)

Low Resolution Atmospheric Model(Convection-Parameterization Mode)• 低解像度シミュレーションで使っている粗視化モデルを、高解像度シミュレーション結果を教師にした機械学習モデルに置き換える

PCクラスタワークショップ, 2021年6月18日

高解像度気候シミュレーションの壁を越えるために
ML-based Approximate computing + Parallel in Space&Time

2nd Iteration

Coupling

Coupling
2nd Iteration

Coupling

2nd Iteration• 空間方向だけではなく、時間方向を並列化することでストロングスケーリング問題を打破したい• 詳細度の大きく異なるモデルを用いたPinSTは収束性が悪い：低解像度モデルの精度向上が大事！
PCクラスタワークショップ, 2021年6月18日

Wistria/BDEC-01を用いたマルチカップリング構想
Multi Detailed-level＋Multi Approach＋Multi HPC SystemOdyssey

Aquarious• h3-Open-SYS/WaitIOとの連携• O-A間の通信を実現

PCクラスタワークショップ, 2021年6月18日

まとめと今後の課題

気象・気候モデルはBig Simulation志向であり、まだまだ計算リソースを必要としている• しかし、これまでの延長線上のマシンでは、ただ待っていても出来ることが増えない• アプリケーション側は一歩一歩、しかし着実に変革する必要がある• AI技術をさらなるapproximate computingと捉える• 引き続き、HPCシステムとの密なコデザインが重要

PCクラスタワークショップ, 2021年6月18日