地球シミュレータにおける
大気大循環モデルの並列化
2000.6.13
日本原子力研究所
地球シミュレータ開発特別チーム
地球シミュレータハードウェア開発グループ
新宮 哲
目次
■
地球シミュレータの紹介
■
大気大循環モデル
■
基礎方程式
■
スペクトル法(コアとなる計算部分)
■
並列化手法
■
実行性能
■
問題点と今後の予定
「地球シミュレータ」計画
■
地球変動現象の解明・予測の研究開発を推進
■
大規模,高精度シミュレーションにより「仮想地球」を実現
数値シミュレーション
数値シミュレーション
数値シミュレーション
数値シミュレーション
地球シミュレータの開発
地球シミュレータの開発
地球シミュレータの開発
地球シミュレータの開発
応用ソフトウェアの開発
応用ソフトウェアの開発
応用ソフトウェアの開発
応用ソフトウェアの開発
基礎研究
基礎研究
基礎研究
基礎研究
地球変動モデルの研究
地球変動モデルの研究
地球変動モデルの研究
地球変動モデルの研究
(地球フロンティア研究システム)
(地球フロンティア研究システム)
(地球フロンティア研究システム)
(地球フロンティア研究システム)
観測システム
観測システム
観測システム
観測システム
地球観測によるデータ収集,解析
地球観測によるデータ収集,解析
地球観測によるデータ収集,解析
地球観測によるデータ収集,解析
地球観測衛星「TRMM」
地球観測衛星「TRMM」
地球観測衛星「TRMM」
地球観測衛星「TRMM」
海洋観測研究船「みらい」
海洋観測研究船「みらい」
海洋観測研究船「みらい」
海洋観測研究船「みらい」
一体的に推進
「地球シミュレータ」計画の目標
■
気象,気候変動現象の解明
★ エルニーニョ現象,地球温暖化現象等のグローバル現象の理解
• 現状の全球モデルで水平方向約60Km,鉛直方向20層
• 計算格子数の増加による詳細なシミュレーション
• 大気・海洋結合モデルの高精度化
★ 集中豪雨,ダウンバースト等の局所的気象現象の理解
• 現状の局所モデルで水平方向約20Km
• 計算格子数の増加による詳細なシミュレーション
• 積乱雲等のパラメータ化の削減
■
固体地球変動の解明
★ マントル対流,地殻変動等の現象の理解
Processor Node Cabinets Interconnection Network Cabinets Air Conditioning System
Power Supply System Disks Cartridge Library System Double Floor for PN-IN Cables Earth Simulator
50m
65m
共有メモリ
16GB
共有メモリ
16GB
地球シミュレータの全体構成
共有メモリ
16GB
Processor Node #0
Processor Node #1
Processor Node #639
• 総ノード数:
640
• 総プロセッサ数:
5120
• ピーク性能:
40Tflop/s
• 主記憶容量:
10TB
• 計算プロセッサ(AP)のPeak性能:
8Gflop/s
• 1ノード当たりのAP数:
8
• 1ノード当たりのピーク性能:
64Gflop/s
• 1ノード当たりの主記憶容量:
16GB
クロスバネットワーク
スループット:送受信双方向可能で16GB/s x 2,レイテンシ:3~6μs
計算プロセッサ(AP)の構成
Mai
n
Memory
Scalar
Registers
I -Cache
Vector
Registers
×
×
×
×8 units
Scalar
Pipelines
Vector Unit
D-Cache
Scalar Unit
AP
(Arithmetic Processor)
DIVIDE ADD/SHIFT MULTIPLY LOGICAL MASK LOAD/STOREMask
Registers
NJR-SAGCMとは?
■
NJR
★NASDA:宇宙開発事業団
★JAMSTEC:海洋科学技術センター
★RIST:(財)高度情報科学技術研究機構
■
SAGCM
★スペクトル法
(Spectral method)
を用いた全球3次元の大
気大循環モデル
(Atmospheric General Circulation Model)
• 採用したモデルはCCSR/NIES AGCM5.4のものと同等
CCSR:東京大学 気候システム研究センター
NIES:国立環境研究所
★現在、地球シミュレータ向けに地球シミュレータ研究
開発センターで高速化作業中
力学過程の特徴
■
断熱過程
★ 熱の出入りがないと仮定
■
静力学プリミティブ方程式
■
水平方向に依存性があり,鉛直方向には独立
■
ルジャンドル変換の計算量が水平解像度(H)の3乗に比
例して増加し高解像度になるほど支配的になる
■
フーリエ変換はH^2logH
■
非断熱過程
★ 放射,凝結,蒸発などの熱の出入りを考慮
■
鉛直方向に依存性があり,水平方向には独立
■
力学過程で解かれた場のもとで、各物理過程を間接的に
パラメタリゼーションによって計算
★ パラメタリゼーションとは?
• マクロ(格子スケール)の場を用いて、ミクロ(格子スケールよ
り小さなサブグリッドスケール)の現象がマクロに及ぼす影響
をパラメータを用いてモデル化すること
■
性能で問題のあるのは積雲対流過程
★ 計算量が鉛直層数の2乗に比例
★ 積雲の有無により計算量が変化する
物理過程の特徴
NJR-SAGCMにおける物理過程モデル
積雲対流過程
積雲対流過程
積雲対流過程
積雲対流過程
凝結、降水、対流
(Arakawa and Schubert, 1974;Moorthi and Suarez, 1992)
大規模凝結過程
大規模凝結過程
大規模凝結過程
大規模凝結過程
積雲対流以外の雲過程、雲水量予測
(Le Treut & Li, 1990)
放射過程
放射過程
放射過程
放射過程
放 射 の 吸 収 、 射 出 、 散 乱 Discrete Oridinate Method /
k-Distribution Method (Nakajima and Tanaka, 1986)
鉛直拡散過程
鉛直拡散過程
鉛直拡散過程
鉛直拡散過程
大気境界層での熱・水蒸気・運動量の輸送
(Mellor and Yamada, 1974,1982 の level 2 scheme)
地表面フラックス
地表面フラックス
地表面フラックス
地表面フラックス
接地境界層での熱・水蒸気・運動量のフラックス(Louis, 1979)
対流による影響の考慮 (Mellor et al., 1992)
地表面・地中過程
地表面・地中過程
地表面・地中過程
地表面・地中過程 多層熱伝導、バケツモデル、
多層土壌水移動(Manabe et al., 1965)、
凍土過程(Clapp and Hornberger, 1978),
海氷過程、海洋混合層等
重力波抵抗
重力波抵抗
重力波抵抗
重力波抵抗
山岳効果 (McFarlane, 1987)
その他
その他
その他
その他
乾燥対流調節
■
Leap frog法
★力学過程と物理過程は基本的にLeap frog法による陽
解法
時間積分
phys
dyn
t
t
t
t
t
t
t
t
∂
∂
∆
+
∂
∂
∆
+
=
−
∆
∆
+
ψ
ψ
ψ
ψ
2
2
■
Asselin時間フィルター
★Leap frog法に特有の数値計算上の時間振動モードを
除去
■
Semi-implicit法
★重力波に関連する項のみ陰解法で計算
力学過程
物理過程
■
球面座標系
★経度方向(λ):等間隔
水平方向の座標系と離散化
J
j
j
j
sin
1
(
:
),
1
,
2
,...,
1
≤
=
≤
=
−
µ
φ
φ
緯度
I
i
I
i
i
2
,
1
,
2
,...,
1
2
0
≤
λ
=
π
−
<
π
=
★緯度方向(μ):不等間隔
• ガウス緯度(J次のルジャンドル多項式の0点)
■
スペクトル法により離散化
I: 経度方向の格子点数
J:緯度方向の格子点数
■
シグマ座標系(σ-p座標系):不等間隔
★ 各地点の地表面気圧で規格化した気圧
鉛直方向の座標系と離散化
s
p
p
=
σ
p
k
k
k
k
k
k
k
C
R /
,
1
1
2
/
1
2
/
1
/
1
1
2
/
1
1
2
/
1
=
−
=
∆
∆
−
+
=
−
+
+
−
+
+
κ
σ
σ
σ
σ
σ
σ
κ
σ
κ
κ
κ
★ Half (半整数)sigma levelでのσ値を固定で与え、Full(整数)
sigma levelでのσ値は次式で計算(Arakawa & Suarez 1983)
★ 各物理量ψはFull sigma levelで定義
p
p
=
=
=
1
,
σ
0
,
σ
&
2
/
1
2
/
1
,
−
−
K
K
σ
σ
&
K
K
ψ
σ
,
1
1
,
−
−
K
K
ψ
σ
0
,
0
,
0
1
/
2
1
/
2
2
/
1
=
σ
=
p
=
σ
&
2
/
3
2
/
3
,
σ
σ
&
2
/
1
2
/
1
,
−
−
k
k
σ
σ
&
1
1
,
ψ
σ
k
k
ψ
σ
,
2
/
1
2
/
1
,
+
+
k
k
σ
σ
&
Full sigma level
Half sigma level
top
k
σ
∆
1
1
,
−
−
k
k
ψ
σ
1
1
,
+
+
k
k
ψ
σ
Half Sigma Level (L20) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 5 10 15 20 K H a lf S ig m a
シグマ座標での差分表現の例
[
(
)
(
)
]
2
1
2
2
1
)
(
1
2
/
1
1
2
/
1
2
/
1
2
/
1
1
2
/
1
1
2
/
1
−
−
+
+
−
+
−
−
+
+
−
+
−
∆
=
∆
−
−
+
−
+
∆
=
∂
∂
−
∂
∂
=
∂
∂
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
ψ
ψ
σ
ψ
ψ
σ
σ
σ
σ
σ
ψ
ψ
ψ
σ
ψ
ψ
σ
σ
σ
σ
ψ
ψ
σ
σ
σ
ψ
σ
&
&
&
&
&
&
&
&
&
このようにしてFull Sigma Levelでの差分表現が得られる
(左辺の最初の式のままだとHalf Sigma Levelでの定義)
プリミティブ方程式(状態方程式)
■
状態方程式
v
d
T
R
p
=
ρ
)
(
:
)
(
)
(
)
(
,
)
(
,
)
(
,
,
water
liquid
l
humidity
specific
q
e
temperatur
vertual
T
vapor
R
air
dry
R
air
moist
T
p
v
v
v
d
d
雲水
:比湿
:仮温度
の密度、気体定数
:水蒸気
の密度、気体定数
:乾燥大気
の気圧、密度、温度
:湿潤大気
ρ
ρ
ρ
★仮温度の式
T
l
q
R
R
T
d
v
v
−
−
+
=
1
1
v
d
v
q
ρ
ρ
ρ
+
=
★比湿の式
プリミティブ方程式(運動方程式)
■
水平方向
p
v
dt
dv
z
h
h
=
−
Ω
×
−
∇
ρ
1
2
クトル
:地球の自転角速度ベ
ベクトル
:水平方向の風の速度
Ω
=
( v
u
,
,
0
)
v
h
コリオリ力
気圧傾度力
■
鉛直方向(静力学方程式)
★ 鉛直方向の速度を無視(w=0)
v
d
T
R
−
=
∂
Φ
∂
)
(ln
σ
Φ
∇
−
=
∂
∂
ρ
z
p
水平方向の運動方程式から渦度・発散方程
式へ
■
座標変換とu,vから渦度及び発散への変換
2
,
sin
,
cos
,
cos
)
cos
(
cos
1
)
cos
(
cos
1
sin
2
,
2
2
v
u
E
v
V
u
U
v
u
a
u
v
a
f
f
+
=
=
=
=
∂
∂
+
∂
∂
=
∂
∂
−
∂
∂
=
Ω
≡
+
=
φ
µ
φ
φ
φ
φ
λ
φ
δ
φ
φ
λ
φ
ζ
φ
ζ
η
;発散
;相対渦度
タ
はコリオリのパラメー
;絶対渦度
プリミティブ方程式(渦度・発散方程式)
[
d
s
]
h
v
u
u
v
p
T
R
E
N
a
N
a
t
N
a
N
a
t
ln
1
)
1
(
1
1
)
1
(
1
0
2
2
2
+
Φ
+
∇
−
∂
∂
+
∂
∂
−
=
∂
∂
∂
∂
−
∂
∂
−
=
∂
∂
µ
λ
µ
δ
µ
λ
µ
ζ
σ
µ
η
σ
σ
λ
η
∂
−
∂
−
′
−
−
=
∂
∂
−
∂
∂
′
−
=
V
p
T
R
U
N
U
p
a
T
R
V
N
u
d
v
s
&
&
ln
1
ln
1
2
★ 非線形項
重力波に関する項
はimplicitに計算
変動成分
標準気温
)
(
)
,
,
,
(
)
,
,
,
(
λ
µ
σ
t
T
λ
µ
σ
t
T
0
σ
T
v
=
v
′
+
■
質量保存式
0
)
(
=
⋅
∇
+
∂
∂
h
v
t
ρ
ρ
■
比湿(水蒸気)の保存式
0
=
dt
dq
0
=
dt
dl
■
雲水の保存式
プリミティブ方程式(保存式)
σ
σ
δ
σ
+
−
∂
∂
∇
⋅
−
=
∂
∂
&
)
ln
(
ln
s
h
s
v
p
t
p
σ
σ
δ
µ
λ
µ
∂
∂
−
+
∂
∂
−
∂
∂
−
−
=
∂
∂
q
q
Vq
a
Uq
a
t
q
&
)
(
1
)
(
)
1
(
1
2
σ
σ
δ
µ
λ
µ
∂
∂
−
+
∂
∂
−
∂
∂
−
−
=
∂
∂
l
l
Vl
a
Ul
a
t
l
&
)
(
1
)
(
)
1
(
1
2
プリミティブ方程式(熱力学方程式)
■
熱力学第1法則
Q
d
pd
dT
c
vm
+
α
=
′
:湿潤大気の比容
:湿潤大気の定圧比熱
:湿潤大気の定積比熱
C
C
pm
vm
ρ
α
=
1
0
=
′
′
Q
d
Q
d
力学過程では
えられた熱
は単位質量の気体に加
内部エネルギーの増加
外部に対してする仕事
p
C
RT
dt
dT
p
pm
v
ω
=
■
熱力学方程式
p
C
T
R
T
T
T
V
a
T
U
a
t
T
p
pm
v
d
ω
σ
σ
δ
µ
λ
µ
∂
+
∂
−
′
+
′
∂
∂
−
′
∂
∂
−
−
=
∂
′
∂
&
)
(
1
)
(
)
1
(
1
2
)
(
)
,
,
,
(
)
,
,
,
(
λ
µ
σ
t
T
λ
µ
σ
t
T
0
σ
T
=
′
+
σ
δ
σ
ω
σ
σ
σ
p
v
p
d
v
p
h
s
h
s
p
)
ln
(
1
ln
0
⋅
∇
+
−
∇
⋅
=
∫
★ 鉛直p速度の式
プリミティブ方程式(熱力学方程式)
スペクトル空間のサイズ
■
スペクトル空間のサイズパラメータ
★ M:経度方向に対応したフーリエ空間での最大波数
★ N:緯度方向に対応したLegendre陪関数の最大次数
★ L:波数m=0に対するLegendre陪関数の最大次数
■
Legendre変換における波数切断
★ 三角形切断(Triangular)
N=L=M
N(m)=min(m+L,N)=N
N(m)=N
m
n
スペクトル法(球面調和関数)
■
球面調和関数
1
ˆ
;
)
(
)
,
(
=
P
e
ˆ
i
=
−
Y
n
m
λ
µ
n
m
µ
i
m
λ
λ
µ
ψ
µ
λ
ψ
M
i
m
M
m
m
N
m
n
m
n
m
n
P
e
ˆ
)
(
|
|
)
(
)
,
(
∑ ∑
−
=
=
≈
■
球面調和関数による展開
■
スペクトル係数
µ
µ
λ
µ
λ
ψ
π
ψ
π
λ
d
P
d
e
i
m
n
m
m
n
(
,
)
(
)
2
1
1
1
2
0
ˆ
∫
−
∫
−
=
スペクトル法の並列化
格子点数: 7680x3840x96
I(経度)×J(緯度)×K(鉛直層 )
スペクトル空間(波数分割) T2559xL96
M,N(波数)×K(鉛直層)
J=3840
(M+1)×2=(2559+1)×2(実部・虚部)
M=2559+1
N=2559+
1
K=96
I=7680
PN640.
.
.
PN02 PN03 PN01K=96
格子空間(緯度分割)
J=3840
PN640.
.
.
PN02 PN03 PN01K=96
フーリエ空間(緯度分割)
トランスポーズ
(MPI通信)
順FFT
逆FFT
順LT
逆LT
PN 01 PN 01 PN 640 PN 640 PN02 PN 02)
,
(
λ
i
µ
j
ψ
ψ
m
(
µ
j
)
K=96
k)
J=3840
(Vector)
PN01 PN 01 PN 02 PN02 PN 640 PN640)
(
j
m
µ
ψ
m
n
ψ
i
m
i
j
i
I
i
j
m
e
I
λ
µ
λ
ψ
µ
ψ
ˆ
1
)
,
(
1
)
(
−
=
∑
=
)
(
)
(
)
(
m
m
N
m
m
P
µ
ψ
µ
ψ
=
∑
∑
=
M
m
i
m
ie
λ
µ
ψ
µ
λ
ψ
ˆ
)
(
)
,
(
j
j
m
n
j
J
j
m
m
n
(
)
P
(
)
w
1
µ
µ
ψ
ψ
∑
=
=
格子空間
i=1,I
j=1,J/NP 分割
k=1,K
フーリエ空間
m=0,M
j=1,J/NP 分割
k=1,K
スペクトル空間
m=0,M/NP 分割
n=0,N(m)
k=1,K
Fourier順変換
Fourier逆変換
Legendre順変換(Gauss積分)
Legendre逆変換
微分操作
時間積分
物理過程の並列化
I=7680
J=3840
PN640.
.
.
PN02 PN03 PN01K=96
分散メモリ向け並列化
MPIプロセス(緯度分割)
共有メモリ向け並列化
Microtask指示行
(水平方向を一次元化して分割)
J’
=J/P=3840/640=6
I=7680
AP1 AP2 AP3 AP4 AP5 AP6 AP7 AP8K=96
1つのMPIプロセスで処理
IJ’=7680x6/8=5760
1
K=96
AP8ベクトル処理
最内側ループ長
=5760=22*256+128
1
1
AP8格子点数: 7680x3840x96
I(経度)×J(緯度)×K(鉛直層 )
物理過程では依存性
があるので分割不可
並列実行特性1 (SX-4,T159L20)
NJR-SAGCM T159L20 SX-4(SDRAM) RealTime ( 1 Time Step)
22.51 11.38 5.76 2.96 0.00 5.00 10.00 15.00 20.00 25.00 1 2 3 4 5 6 7 8 #PE Re a lT im e (s e c ) RealTime NJR-SAGCM T159L20 SX-4(SDRAM) Mflop/s 725 1,431 2,817 5,468 0 1000 2000 3000 4000 5000 6000 1 2 3 4 5 6 7 8 #PE Mfl o p/ s Mflop/s
並列実行特性2 (SX-4,T159L20)
NJR-SAGCM T159L20 SX-4(SDRAM) SpeedUp for MPI
1 1.977 3.908 7.604 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 #PE Spe e d U p Speedup Ideal NJR-SAGCM T159L20 SX-4(SDRAM) Effective Parallel Ratio for MPI
98.85% 99.21% 99.26% 98.8% 99.0% 99.2% 99.4% 99.6% 99.8% 100.0% 1 2 3 4 5 6 7 8 #PE E ff e ct iv e P a ra ll el Rat io