大規模並列GPU計算による地震波伝播シミュレーション

岡元 太郎
東京工業大学 理工学研究科 地球惑星科学専攻
日本計算工学会 第6回 S&V (Simulation & Visualization) 研究会
2013年11月26日 中央大学 後楽園キャンパス 6号館 7階 6701室

Outline
1. GPUによる地震波シミュレーション• Finite-Difference Time Domain（FDTD）• TSUBAMEのGPU• FDTDのGPU最適化• 計算例
2. 地震の破壊過程解析への応用• 2011年 東北地方太平洋沖地震

地震波シミュレーションには何が必要か？
• 3次元不規則地形・海水層• 堆積物層TOHOKU• 3次元不均質構造• 地震波・津波
大規模シミュレーション• 高性能・並列ソフトウェア

FDTD（時間領域差分法）• 高性能演算デバイス
2011年 東北地方太平洋沖地震の余震（気象庁）

GPU

FDTD：時間領域差分法• 食い違い格子
空間4次精度・時間2次精度
弾性波動・電磁波問題• 不規則な固体・流体境界
岡元・竹中（2005）• 不規則地形との統合
Takenaka et al. （2009）中村・他（2011） HOTーFDM

食い違い格子の単位セル• 不均質構造• 非弾性減衰（メモリ変数法）
Blanch et al. （1995）

GPU: Graphics Processing Unit
演算加速器として利用• High Performance and Low Cost
• Low Energy Consumption

4thKepler GPU
2012
3.95 TFlops

TSUBAME 2.5
5.7 PFlops (DP)

3rdFermi GPU2010
1.03 TFlops

TSUBAME 2.0
2.4 PFlops (DP)TSUBAME1.2

2ndC1060 GPU
2008
0.936 TFlops

GPU: 階層的なメモリ構成
オンチップ：高速・小容量• 共有メモリ• レジスタオフチップ：大容量• 全てのデータを記憶
PCIe Bus

ホスト・コンピュータ
MPI

他のコンピュータ
Fermi GPU (NIVIDIA M2050)

FDTDに施したGPU最適化
GPU単体での最適化• 大きな配列へのアクセスをブロック化• ブロックサイズの最適化• 共有メモリとレジスタの利用• 物性パラメータのLook-up tableの利用

並列化のための最適化• 袖領域（ゴースト領域）専用のバッファ• 演算と通信のオーバーラッピング

GPU最適化

共有メモリの2次元ブロック

GPU最適化レジスタと共有メモリ
400 - 600
cyclesof Latency“Pipeline” with SM
and registers to reduce
access to global memory

On-Chip Memory
Micikevicius, 2009; Abdelkhalem 2009; Michea and Komatitsch 2010; Okamoto et al.2010

並列化の最適化

３次元領域分割• 標準的な手法• GPU：袖領域の問題• 袖領域データ交換• GPUからホストメモリへのデータ転送が発生• データ転送をどう高速化
するか
副領域• 袖領域用のメモリバッファを利用

並列化の最適化

袖領域メモリの配置a) 内部領域の配列を延長• 簡単、しばしば利用される• 袖領域ではメモリが不連続• GPUーホスト間のメモリ転送
関数を何度も呼び出す必要• 長い時間がかかるため、実用にならないb) 独立の配列• メモリが連続• データ転送が一度でできる• 複雑なメモリマッピング並列化の最適化

GPU内での袖領域マッピング
GlobalMemory

SharedMemory並列化の最適化

演算と通信のオーバーラッピング
SubdomainFlowchart
Initialization
End

StressSide Blocks

Time StepContinue

GPUVelocity
Side Blocks

StressInner Blocks

Ghost Point
Exchange(MPI)

Source Term
Velocity
Inner Blocks

Ghost Point
Exchange(MPI)
END

TSUBAME-2.0／2.5• 演算ノード：1408台• Intel Xeon 5670（6cores x 2）
• Infiniband QDR x 2（10GB/s）• GPU：4224個• T2.0：NVIDIA M2050計算ノード
1408台
CPU 2個GPU 3個• T2.5：NVIDIA K20X
• 理論ピーク性能（単精度）• T2.0：4.8 PFLOPS• T2.5：17 PFLOPS

マルチGPUでのスケーラビリティ（TSUBAME2.0）• 最大領域サイズ– 3840×3200×3200– 1200 GPUs（400ノード）• 副領域サイズ– 320x320x320に固定– 弱スケーリング• 良好なスケーラビリティ– Up to 800 GPUs
• 2 GPUs / node

– 1200 GPUs
• 3 GPUs / node

地形・海水層効果の検証
WaterSolid• Grid spacing: 50 m
• Good match with DWM
waveforms（DWM：離散波数積分法）

2011年 東北地方太平洋沖地震
TSUBAME2.0による地震波伝播シミュレーションの例

hoTukoPafi iccOcnae

GPU数
格子サイズ
格子点数
実サイズ
上限周波数時間ステップ数
シミュレート時間
計算時間

1000
6400x3200x1600
330億
960x480x240 km
0.61 Hz
44000
200 s
5768 s• 陸上・海底地形、海水層• 3次元不均質構造• 地動を可視化– 赤：上向き、青：下向き

地震発生10秒後のスナップショット• 暫定震源モデル– Okamoto et al.（AGU 2011）

2011年 東北地方太平洋沖地震
TSUBAME2.0による地震波伝播シミュレーションの例

ここまでの参考文献• Taro Okamoto, Hiroshi Takenaka, Takeshi Nakamura, and Takayuki Aoki, 2013.
Accelerating Large-Scale Simulation of Seismic Wave Propagation by Multi-GPUs
and Three-Dimensional Domain Decomposition, in GPU Solutions to Multi-scale
Problems in Science and Engineering, D.A. Yuen et al. (eds.), Chapter 24, 375-389,
doi:10.1007/978-3-642-16405-7_24, Springer-Verlag Berlin Heidelberg.
• Taro Okamoto, Hiroshi Takenaka, Takeshi Nakamura, and Takayuki Aoki, 2012.
Large-scale simulation of seismic-wave propagation of the 2011 Tohoku-Oki M9earthquake, Proceedings of the International Symposium on Engineering Lessons
Learned from the 2011 Great East Japan Earthquake, 349-360. (http://www.jaee.gr.jp/event/seminar2012/eqsympo/pdf/papers/94.pdf)• Takeshi Nakamura, Hiroshi Takenaka, Taro Okamoto and Yoshiyuki Kaneda, 2012.
FDM simulation of seismic-wave propagation for an aftershock of the 2009 Suruga
Bay earthquake: effects of ocean-bottom topography and seawater layer, Bulletin of
the Seismological Society of America. 102, 2420-2435, doi: 10.1785/0120110356.
• Taro Okamoto, Hiroshi Takenaka, Takeshi Nakamura, and Takayuki Aoki, 2010.
Accelerating large-scale simulation of seismic wave propagation by multi-GPUs
and threedimensional domain decomposition, Earth Planets and Space, 62, 939–
942. (http://www.terrapub.co.jp/journals/EPS/pdf/2010/6212/62120939.pdf)（後半は発表の際での紹介とさせていただきます。地震の破壊過程解析への応用とKepler GPUでの計算例を予定しています。）