SlideShare a Scribd company logo
1 of 45
Download to read offline
計算科学技術特論B
大規模地震シミュレーション1
2022/6/23
東京大学 地震研究所
藤田 航平
1
自己紹介:藤田航平
2010年 東京大学 工学部 社会基盤学科 卒業
2014年 東京大学 大学院工学系研究科 社会基盤学専攻 修了、博士(工学)
2014年 理化学研究所 計算科学研究機構 訪問研究員
日本学術振興会 特別研究員(PD)
2015年 理化学研究所 計算科学研究機構 特別研究員
2017年 東京大学 地震研究所 助教
2021年 東京大学 地震研究所 准教授(現職)
2
自己紹介:藤田航平
• 京コンピュータ・Oakforest-PACS, Summit, 富岳等のスパコン
を用いて地震関連の高性能計算プログラム・実装を開発
理化学研究所
京コンピュータ
JCAHPC(東大・筑波大)
Oakforest-PACS
3
米国オークリッジ研究所
Summit
内容・スケジュール
• 6/23 1300-
• 地震シミュレーションの概要
• 有限要素法の基礎
• 大規模連立方程式の求解方法(共役勾配法)
• 共役勾配法における並列化
• 共役勾配法における前処理
• 大規模地震シミュレーションの例
• 6/30 1300-
• 有限要素法における大規模線連立程式求解方法の高速化(SIMD・マル
チコア・時間並列アルゴリズム等)
4
地震シミュレーション概要
5
地震シミュレーション概要
• 断層~地殻~地盤~構造物
• 領域サイズ: 100 km
• 空間分解能: 0.1 m
• 従来は構造が比較的単純な地殻中の波動伝播では有限差分法が使われてきた
• より複雑構造をもつ都市などを高精度で求解するため、近年では有限要素法
が広まりつつある
• 都市規模の問題は数千億自由度規模の超大規模問題になるうえに、有限要素
法ではランダムアクセスが主体となり計算効率が下がる傾向にあるため、高
性能計算技術が必須
非構造格子(有限要素法など)
構造格子(差分法など)
Example code:
do i=1,nx
do j=1,ny
a(i,j)=b(i,j)+b(i+1,j)+….
enddo
enddo
Example code:
do i=1,n
do j=ptr(i)+1,ptr(i+1)
a(i)=a(i)+b(index(j))
enddo
enddo
6
解析例
• ターゲット:断層~地殻~地盤~構造物~社会活動
7
a) Earthquake wave propagation
-7 km
0 km
c) Resident evacuation
b) City response simulation
Shinjuku
Two million agents evacuating to nearest safe
site
Tokyo station
Ikebukuro
Shibuya
Shinbashi
Ueno
Earthquake Post earthquake
京コンピュータ全系を使った
地震シミュレーション例
T. Ichimura et al., Implicit Nonlinear Wave Simulation with 1.08T DOF and 0.270T Unstructured Finite Elements to Enhance
Comprehensive Earthquake Simulation, SC15 Gordon Bell Prize Finalist
断層-都市-社会応答シミュレーションでできるように
なること
• 物理シミュレーションの積み重ねとして,断層から社会応答までの地
震シミュレーションを実現
• 統計・経験式ベースの被害想定に比べて,科学的合理性が向上
• 耐震補強の優先順位付け・地震保険料の合理的設定など,地震対策の高度化
につながると期待
15
断層-都市シミュレーション 都市シミュレーション 都市-社会シミュレーション
有限要素法の基礎
16
有限要素法(1次元)
• ターゲット問題(支配方程式): 𝑓 𝑢(𝑥) = 0
• e.g.: 𝑓 𝑢 𝑥 = 1 −
𝑑2𝑢(𝑥)
𝑑𝑥2 for 0 < 𝑥 < 1 with boundary conditions 𝑢 0 = 0, 𝑢 1 = 1/2
• 有限要素法では未知関数𝑢 𝑥 をオーバーラップの無い区間(要素)で分割する
• 𝑢 𝑥 = σ𝑖 𝑢𝑖𝜑𝑖(𝑥)
• ここで𝑢𝑖は定数(未知) 、𝜑𝑖(𝑥)は形状関数(既知)
• 𝑢𝑖が決まれば𝑢 𝑥 が求まる→どうやって𝑢𝑖を求めるか?
𝑦
𝑥
𝜑𝑖(𝑥)
𝑥
要素
節点
節点𝑖
𝑢 𝑥
𝑦
1
0
17
有限要素法(1次元)
• 重み付き残差法
• 支配方程式(𝑓 𝑢(𝑥) = 0)をそのまま解かずに、任意の重み関数𝑤 𝑥 を
使って、以下の式に変換して解く
‫׬‬ 𝑤(𝑥)𝑓 𝑢(𝑥) 𝑑𝑥 = 0
• 𝑓 𝑢 𝑥 = 1 −
𝑑2𝑢(𝑥)
𝑑𝑥2 の場合(0 < 𝑥 < 1)では、
‫׬‬
0
1
𝑤 𝑥 1 −
𝑑2𝑢 𝑥
𝑑𝑥2 𝑑𝑥 = ‫׬‬
0
1
𝑤 𝑥 +
𝑑𝑤 𝑥
𝑑𝑥
𝑑𝑢 𝑥
𝑑𝑥
𝑑𝑥 − 𝑤 𝑥
𝑑𝑢 𝑥
𝑑𝑥 0
1
= 0
• 微分の階数が減り(この場合は2→1)、結果として、低次の形状関数を
使えるようになる(弱形式)
18
有限要素法(1次元)
• さらに、重み付き残差法の重み関数𝑤に、𝑢の離散化に使った形状関数を
用いる(i.e., 𝑤 𝑥 = 𝜑𝑖(𝑥))(ガラーキン法)
• ‫׬‬
0
1
𝑤 𝑥 1 −
𝑑2𝑢 𝑥
𝑑𝑥2 𝑑𝑥 = ‫׬‬
0
1
𝑤 𝑥 +
𝑑𝑤 𝑥
𝑑𝑥
𝑑𝑢 𝑥
𝑑𝑥
− 𝑤 𝑥
𝑑𝑢 𝑥
𝑑𝑥 0
1
𝑑𝑥
= ‫׬‬
0
1 𝑑𝜑𝑖 𝑥
𝑑𝑥
σ𝑗 𝑢𝑗
𝑑𝜑𝑗 𝑥
𝑑𝑥
+ 𝜑𝑖(𝑥) 𝑑𝑥
= σ𝑗 ‫׬‬
0
1 𝑑𝜑𝑖 𝑥
𝑑𝑥
𝑑𝜑𝑗 𝑥
𝑑𝑥
𝑑𝑥 𝑢𝑗 − ‫׬‬
0
1
−𝜑𝑖 𝑥 𝑑𝑥
= σ𝑗 𝑎𝑖𝑗𝑢𝑗 − 𝑓𝑖 = 0
• マトリクス形で書くと 𝐀𝐮 = 𝐟
• 有限要素法の形状関数を使うことで 𝐀は疎行列となる
𝑎𝑖𝑗 𝑓𝑖
境界でのみ値を持つ→
今回は𝑢が境界で固定(ディリ
クレ境界条件)のため省略
19
有限要素法(1次元)例題
• 𝑎𝑖𝑗 = ‫׬‬0
1 𝑑𝜑𝑖 𝑥
𝑑𝑥
𝑑𝜑𝑗 𝑥
𝑑𝑥
𝑑𝑥
3要素(4節点)の場合
𝑥
𝑦
0 1
1/3 3/4
𝜑1(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑2(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑3(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑4(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑1 𝑥
𝑑𝑥
−3
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑2 𝑥
𝑑𝑥
3
−
12
5
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑3 𝑥
𝑑𝑥
12
5
−4
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑4 𝑥
𝑑𝑥
4
𝑥
𝑢 𝑥
𝑦
0 1
1/3 3/4
𝑢1
𝑢2
𝑢3 𝑢4
① ② ③ ④: 節点番号
20
有限要素法(1次元)例題
• 𝑎𝑖𝑗 = ‫׬‬0
1 𝑑𝜑𝑖 𝑥
𝑑𝑥
𝑑𝜑𝑗 𝑥
𝑑𝑥
𝑑𝑥
• 𝑎11 = ‫׬‬0
1/3
(−3)(−3) 𝑑𝑥
• = 3
3要素(4節点)の場合
𝑥
𝑦
0 1
1/3 3/4
𝜑1(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑2(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑3(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑4(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑1 𝑥
𝑑𝑥
−3
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑2 𝑥
𝑑𝑥
3
−
12
5
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑3 𝑥
𝑑𝑥
12
5
−4
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑4 𝑥
𝑑𝑥
4
𝑥
𝑢 𝑥
𝑦
0 1
1/3 3/4
𝑢1
𝑢2
𝑢3 𝑢4
① ② ③ ④: 節点番号
21
有限要素法(1次元)例題
• 𝑎𝑖𝑗 = ‫׬‬0
1 𝑑𝜑𝑖 𝑥
𝑑𝑥
𝑑𝜑𝑗 𝑥
𝑑𝑥
𝑑𝑥
• 𝑎12 = ‫׬‬0
1/3
(−3)(3) 𝑑𝑥
• = −3
3要素(4節点)の場合
𝑥
𝑦
0 1
1/3 3/4
𝜑1(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑2(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑3(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑4(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑1 𝑥
𝑑𝑥
−3
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑2 𝑥
𝑑𝑥
3
−
12
5
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑3 𝑥
𝑑𝑥
12
5
−4
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑4 𝑥
𝑑𝑥
4
𝑥
𝑢 𝑥
𝑦
0 1
1/3 3/4
𝑢1
𝑢2
𝑢3 𝑢4
① ② ③ ④: 節点番号
22
有限要素法(1次元)例題
• 𝑎𝑖𝑗 = ‫׬‬0
1 𝑑𝜑𝑖 𝑥
𝑑𝑥
𝑑𝜑𝑗 𝑥
𝑑𝑥
𝑑𝑥
• 𝑎13 = 0
3要素(4節点)の場合
𝑥
𝑦
0 1
1/3 3/4
𝜑1(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑2(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑3(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑4(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑1 𝑥
𝑑𝑥
−3
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑2 𝑥
𝑑𝑥
3
−
12
5
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑3 𝑥
𝑑𝑥
12
5
−4
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑4 𝑥
𝑑𝑥
4
𝑥
𝑢 𝑥
𝑦
0 1
1/3 3/4
𝑢1
𝑢2
𝑢3 𝑢4
① ② ③ ④: 節点番号
23
有限要素法(1次元)例題
• 𝑎𝑖𝑗 = ‫׬‬0
1 𝑑𝜑𝑖 𝑥
𝑑𝑥
𝑑𝜑𝑗 𝑥
𝑑𝑥
𝑑𝑥
• 𝑎14 = 0
3要素(4節点)の場合
𝑥
𝑦
0 1
1/3 3/4
𝜑1(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑2(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑3(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑4(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑1 𝑥
𝑑𝑥
−3
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑2 𝑥
𝑑𝑥
3
−
12
5
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑3 𝑥
𝑑𝑥
12
5
−4
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑4 𝑥
𝑑𝑥
4
𝑥
𝑢 𝑥
𝑦
0 1
1/3 3/4
𝑢1
𝑢2
𝑢3 𝑢4
① ② ③ ④: 節点番号
24
有限要素法(1次元)例題
• 𝑎𝑖𝑗 = ‫׬‬0
1 𝑑𝜑𝑖 𝑥
𝑑𝑥
𝑑𝜑𝑗 𝑥
𝑑𝑥
𝑑𝑥
• 𝑎22 = ‫׬‬0
1/3
(3)(3) 𝑑𝑥 +
‫׬‬1/3
3/4
(−
12
5
)(−
12
5
) 𝑑𝑥
• = 3 +
12
5
=
27
5
3要素(4節点)の場合
𝑥
𝑦
0 1
1/3 3/4
𝜑1(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑2(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑3(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑4(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑1 𝑥
𝑑𝑥
−3
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑2 𝑥
𝑑𝑥
3
−
12
5
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑3 𝑥
𝑑𝑥
12
5
−4
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑4 𝑥
𝑑𝑥
4
𝑥
𝑢 𝑥
𝑦
0 1
1/3 3/4
𝑢1
𝑢2
𝑢3 𝑢4
① ② ③ ④: 節点番号
25
有限要素法(1次元)例題
• 𝑎𝑖𝑗 = ‫׬‬0
1 𝑑𝜑𝑖 𝑥
𝑑𝑥
𝑑𝜑𝑗 𝑥
𝑑𝑥
𝑑𝑥
• 𝑎23 = ‫׬‬1/3
3/4
(−
12
5
)(
12
5
) 𝑑𝑥
• = −
12
5
3要素(4節点)の場合
𝑥
𝑢 𝑥
𝑦
0 1
1/3 3/4
𝑢1
𝑢2
𝑢3
𝑢4
𝑥
𝑦
0 1
1/3 3/4
𝜑1(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑2(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑3(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝜑4(𝑥)
1
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑1 𝑥
𝑑𝑥
−3
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑2 𝑥
𝑑𝑥
3
−
12
5
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑3 𝑥
𝑑𝑥
12
5
−4
𝑥
𝑦
0 1
1/3 3/4
𝑑𝜑4 𝑥
𝑑𝑥
4
26
有限要素法(1次元)例題
• A =
3 −3
−3
27
5
0 0
−
12
5
0
0 −
12
5
0 0
32
5
−4
−4 4
, 𝑓 =
−1/6
−3/8
−1/3
−1/8
• あとはこれを境界条件 𝑢1 = 0, 𝑢4 =
1
2
を満たすように解けばよい
• この場合は、中央の二式を使って、
−3 × 0 +
27
5
𝑢2 −
12
5
𝑢3 + 0 ×
1
2
= −
3
8
0 × 0 +
12
5
𝑢2 +
32
5
𝑢3 − 4 ×
1
2
= −
1
3
• これを解いて、𝑢2 =
1
18
, 𝑢3 =
9
32
― 解析解
・数値解
27
有限要素法のポイント
• 有限要素法で分割することで、 行列𝐀はスパース(疎)となる
• 行列の行数をNとしたとき、
• →行列の非零成分の数はO(N)になる
• →行列ベクトル積のコストはO(N)になる
• 並列計算機上で大規模有限要素解析を実施する際には上記の特
性に加えて、対象計算システムの特徴を踏まえてアルゴリズ
ム・実装を設計
• 単ノード特性:コア数・SIMD幅等、メモリバンド幅、メモリ容量など
• システム特性:計算ノード数・大域通信・隣接通信のバンド幅・レイ
テンシなど
28
大規模連立方程式の求解方法
29
ソルバー(連立方程式の解法)
• 直接法
• ガウスの消去法・LU分解・コレスキー分解等
• メモリ使用量がO(N2)になり大規模問題の解析には不向き
• 反復法
• ヤコビ法、共役勾配法等
• 疎行列の場合、メモリ使用量がO(N)となることが多い
• ここでは地震関連問題を有限要素法で離散化した際に導かれる
正定値対称行列の大規模連立方程式の求解に広く使われる共役
勾配法を説明
30
共役勾配法の概念説明
(直接法で𝐀𝐮 = 𝐟を解く場合)
• 非零ベクトル𝐩, 𝐪が𝐩T𝐀𝐪 = 0となるとき、 𝐩, 𝐪は正定値対称行列𝐀に対し
て共役であるという
• 共役勾配法では、互いに共役な非零ベクトルの組 𝐩1, 𝐩2, 𝐩3, … , 𝐩𝑁 (i.e.,
𝐩𝑖
T
𝐀𝐩𝑗 = 0 𝑖 ≠ 𝑗 )を基底として解を𝐮 = σ𝑗 𝛼𝑗 𝐩𝑗とあらわし、
𝐩𝑖
T
𝐀𝐮 = 𝐩𝑖
T
𝐀 σ𝑗 𝛼𝑗 𝐩𝑗 = 𝛼𝑖𝐩𝑖
T
𝐀𝐩𝑖 = 𝐩𝑖
T
𝐟
より係数𝛼𝑖は以下のように求められる
𝛼𝑖=
𝐩𝑖
T
𝐟
𝐩𝑖
T
𝐀 𝐩𝑖
• ポイント
• 行列ベクトル積とベクトル内積を多数回実行することで求解可能
• 𝐀自体の変更は不要(=疎行列性を崩さない)
• 効率的に共役ベクトルの組を求めるよう改良したものが反復法バージョン
の共役勾配法(次ページで説明)
31
共役勾配法(反復法)で𝐀𝐮 = 𝐟を解く
• 現在(𝑖反復目)での解𝐮𝑖に対し残差を以下のように定義する
𝐫𝑖+1= 𝐟 − 𝐀𝐮𝑖
• ここで、探索ベクトルが𝑖反復目までの探索ベクトルの組()と共
役となるよう、𝐫𝑖+1に最も近い方向で共役性を満たすようにと
る 𝐩𝑖+𝟏 = 𝐫𝑖+1 −
𝐩𝑖
T
𝐀 𝐫𝑖+1
𝐩𝑖
T𝐀 𝐩𝑖
𝐩𝑖
• ポイント:次の共役ベクトル𝐩𝑖+1を生成するために、これまで
の探索ベクトル 𝐩1, 𝐩2, 𝐩3, … , 𝐩𝑖 の数𝑖に比例した操作が不要
32
• 正定値対称行列𝐀に対して𝐀𝐮 = 𝐟を解く
𝐫0⇐ 𝐟 − 𝐀𝐮0
𝐩0⇐ 𝐫0
do k=0,1,2,…
𝛼𝑘⇐
𝐫𝑘
T
𝐩𝒌
𝐩𝑘
T𝐀𝐩𝒌
𝐮𝒌+𝟏⇐ 𝐮𝒌 + 𝛼𝑘𝐩𝑘
𝐫𝒌+𝟏⇐ 𝐫𝒌 − 𝛼𝑘𝐀𝐩𝑘
if(|𝐫𝒌+𝟏|/|𝐛| < 𝜀) break
𝛽𝑘⇐
𝐫𝑘+1
T
𝐫𝒌+𝟏
𝐫𝑘
T𝐫𝒌
𝐩𝒌+𝟏⇐ 𝐫𝒌+1 + 𝛽𝑘𝐩𝑘
enddo
• ここで |*|はノルム、𝐮0は初期解、𝜀は閾値、求解結果は𝐮𝒌+𝟏
• ポイント
• 最大でもN反復で収束する(実際には残差が小さくなる方向に近い方向で探索ベクトルを構築する
ため、 大幅に少ない反復数で収束することが多い)
• 計算は行列ベクトル積とベクトル内積のみ:これらを高速化すればよい
共役勾配法(反復法)アルゴリズム
33
共役勾配法の並列化
34
共役勾配法の並列化
• ベクトル内積と行列ベクトル積を並列計算する
• 良く使われる方法:要素ベースの分割(領域境界で節点は共有す
る)
• グラフ分割ソフトウェアを利用する(e.g., METIS)
分割前のメッシュ 分割されたメッシュ
内積:
for(i=0;i<localnodes;++i){
localresult += a[i]*b[i]*dupli[i];
}
MPI_ALLREDUCE(localresult,globalresult,MPI_SUM)
// 領域内ではdupli[i]=1, 境界では共有領域数をmとし
たとき、dupli[i]=1/m
// 右の図の場合、
// 領域内部の点(黒)はdupli[i]=1
// 共有節点(赤)はdupli[i]=1/2
35
※行列ベクトル積の並列化については次回
共役勾配法の前処理
36
共役勾配法における前処理
• 行列𝐀の性質を改善し、共役勾配法の反復回数を減らす
• 最大固有値/最小固有値をなるべく小さくする(正定値対称行列では固
有値はすべて正)
• 𝐌 ≈ 𝐀−1のようなMを使い、 𝐀𝐮 = 𝐟を解く代わりに 𝐌𝐀 𝐮 = 𝐌𝐟 を解
く
• 𝐌=𝐀−1の場合は共役勾配法は一反復で終了し、逆に𝐌 = 𝐈(単位行列)の
場合は前処理が無い場合と同じとなる(反復数削減効果なし)
• 計算コスト・メモリ使用量に対して、反復数削減効果の高い𝐌を設定
することとなる
37
共役勾配法における前処理(ヤコビ法)
• ヤコビ法:行列𝐀−1
の近似として、𝐀の対角成分の逆数を用いる
方法
• 計算コストが低く、メモリ使用量は少ない
• 性質がそこまで悪くない問題だと収束する
• 多次元問題で未知数が節点毎に複数定義されている場合、これ
らをブロックとして、ブロック対角行列の逆行列を、全体の
𝐀−1に使う方法
• ヤコビ法より計算コスト・メモリ使用量は増加するものの、近似性能
は改善
38
共役勾配法における前処理(ILU)
• Lower-Upper decomposition (LU分解)
• 直接法。複数の入力fに対して、𝐮 = 𝐀−1𝐟を高効率で計算できる
• 疎行列Aに適用した場合、分解後のL, Uのfill-inパターン(非零成分位置)が
𝐀のfill-inパターンと異なる(成分が増える)ことがある→コスト高・メモリ
使用量が多くなる
• 大局的な依存関係がある→効率的に並列計算するのは難しい
• LU分解の近似としてのIncomplete LU decomposition (ILU)
• ILU(0):fill-inなし(𝐀で零となる成分は強制的に値を0とする)
• ILU(1):fill-inパターンは𝐀2
と同じ(𝐀2
で零となる成分は強制的に値を0とす
る)
• など
• LU分解による求解よりも精度は劣るが、メモリ使用量・計算コストは抑えら
れる
• ただし、LUと同じく依存関係がありそのままでは並列計算に適さない→依存
関係をなくすための近似と組み合わせることが多い
39
共役勾配法における前処理(マルチグリッ
ド法)
• マルチグリッド法
• N x M (M<N)の行列Pを用いて、 𝐑𝐀𝐏 𝐮c = 𝐑𝐟 を𝐮cについて(粗
く)解き、これを𝐮 ≈ 𝐏𝐮cとして用いる
• 上記を再帰的に行うことで、多段の疎化が可能になる
• 共役勾配法が苦手とする長周波成分を効率的に求めることができる
• 𝐑, 𝐏の設定方法により、幾何マルチグリッド、代数マルチグ
リッドに分類される
• 幾何マルチグリッド(Geometric Multigrid):𝐑, 𝐏に幾何拘束を用いる場
合(e.g., 構造格子グリッドにおいて、節点を一個飛ばしで省いたコース
グリッドを使う等)
• 代数マルチグリッド(Algebraic Multigrid): 幾何的情報以外の情報も
使って𝐑, 𝐏を設定した場合
40
大規模並列計算用の前処理
• ヤコビ系
• 大規模問題までスケーリングが容易
• ただし反復回数は多い
• ILU系
• マトリクスを格納する必要あり
• 並列計算のためには工夫をする必要あり
• マルチグリッド系
• 幾何マルチグリッドは低コストだが適用できる問題が限られている
• 代数マルチグリッドは一般問題にも適用可能だが、マトリクスを格納する必
要あり
• このようなアルゴリズム特性と、システムの特性・対象問題の特性
を踏まえて前処理を選択することとなる
41
大規模解析用有限要素法の例
42
ソルバー例1:地震時の地盤増幅解析@京コンピュータ
• Solve preconditioning matrix roughly to reduce number of CG loops
• Use geometric multi-grid method to reduce cost of preconditioner
• Use single precision in preconditioner to reduce computation & communication
Equation to be solved
(double precision)
CG loop
Computations of
outer loop
Outer loop
Solving
preconditioning
matrix
Second ordered
tetrahedron
Solve system roughly using CG solver
(single precision)
Solve system roughly using CG solver
(single precision)
Use as initial solution
Use for preconditioner of outer loop
Solving preconditioning matrix
Inner coarse loop
Inner fine loop
Linear tetrahedron
Second ordered
tetrahedron
T. Ichimura et al., Implicit Nonlinear Wave Simulation with 1.08T DOF and 0.270T Unstructured Finite Elements to Enhance
Comprehensive Earthquake Simulation, SC15 Gordon Bell Prize Finalist 43
ソルバー例1: Performance comparison on full K computer
• Compare with PCGE & SC14 solver
• PCGE: CG + Element-by-Element + simple preconditioner (3x3 block diagonal Jacobi preconditioner)
• SC14 : SC14 Gordon Bell Prize Finalist
• SC15: developed solver
• FLOP (arithmetic) count and elapsed time reduced
44
0
200
400
600
800
1000
PCGE SC14 SC15
Elapsed time (seconds)
0
2
4
6
8
PCGE SC14 SC15
FLOP count (x1017 FLOP)
6.9
3.0
763
328
89.2
1.8
[1] T. Ichimura, et al., Physics-based urban earthquake simulation enhanced by 10.7 BlnDOF x 30 K time-step unstructured FE non-linear seismic wave simulation,
SC14 Gordon Bell Prize Finalist
[2] T. Ichimura, et al., Implicit Nonlinear Wave Simulation with 1.08T DOF and 0.270T Unstructured Finite Elements to Enhance Comprehensive Earthquake
Simulation, SC15 Gordon Bell Prize Finalist
ソルバー例1: Scalability
• Weak-scaling: 96.6% efficiency from 9,216 cores to 663,552 cores
• 18.6% of peak performance attained at full K computer (=1.97 PFLOPS)
• Strong-scaling: 76% efficiency from 9,216 cores to 294,912 cores
• Fast & scalable solver algorithm + fast Element-by-Element method
• Enables very good scalability & peak-performance & convergency & time-to-
solution on K computer
45
1/32
1/16
1/8
1/4
1/2
1
2
Weak-scaling
Strong-scaling
Ideal speedup
Normalized
elapsed time
9216 294912 663552 # of cores
ソルバー例2: Earth’s crust deformation problem
• Compute static elastic response under
faulting
• Input: fault slip distribution
• Output: deformation at surface
• Converged solutions of stress and
strain required for evaluating plate
boundary constitutive relations
• Resolution of O(10 m) required at plate
boundaries, leading to O(trillion) degrees-
of-freedom problem
• Fast and scalable solver with small
memory footprint required
46
0
Earth’s crust deformation problem
ソルバー例2:地殻変動解析@京コンピュータ
Equation to be solved
(double precision)
CG loop
Computations of
outer loop
Outer loop
Solving
preconditioning
matrix
47
Second ordered
tetrahedron
Solve system roughly using CG
solver (single precision)
Solve system roughly using CG
solver (single precision)
Use for preconditioner of outer loop
Solving preconditioning matrix
Inner loop level 1
Inner loop level 0
Linear tetrahedron
Second ordered
tetrahedron
Coarsened equation
(P12
TA1P12)u2=P12
Tf1
Inner loop level 2
Solve system roughly using CG solver
(single precision)
Use u1←P12 u2 as
initial solution
Use u0←P01 u1 as
initial solution
Algebraic
coarsening
Geometric
coarsening
K. Fujita et al., Fast and Scalable Low-Order Implicit Unstructured Finite-Element Solver for Earth’s Crust Deformation Problem,
PASC2017
ソルバー例2: Size-up efficiency on K computer
• Compare performance with PCGE (CG solver with 3x3 block
diagonal preconditioner) and SC14 geometric multi-grid solver
48
0
200
400
600
800
1000
1200
1400
1600
1800
elapsed
time
of
solver
[s]
9,216 18,432 36,864 73,728 147,456 294,912
138.9
s
(21.3%)
272.0
s
(21.9%)
1375
s
(18.5%)
140.0
s
(21.2%)
277.5
s
(21.6%)
1546
s
(18.1%)
144.5
s
(20.9%)
292.7
s
(21.4%)
1572
s
(18.1%)
151.3
s
(20.1%)
311.8
s
(21.3%)
1680
s
(18.3%)
148.7
s
(20.1%)
308.5
s
(20.5%)
1573
s
(17.9%)
146.5
s
(20.6%)
319.7
s
(20.4%)
1629
s
(17.6%)
# of compute cores
Elapsed time
Floating-point
arithmetic
efficiency to peak
• 94.8% scalability from
9216 to 294912 cores
ソルバー例2: Speed-up efficiency on K computer
• Good speed-up efficiency when compared with previous solvers
49
8
32
128
512
2048
elapsed
time
of
solver
[s]
9,216 18,432 36,864 73,728 147,456
1375 s (18.5%) 800 s
(17.7%)
364 s
(17.5%)
229 s (16.6%)
111 s
(16.1%)
272 s
(21.9%) 178 s
(21.0%)
73.7 s
(20.3%)
46.3 s
(19.6%)
27.2 s
(17.1%)
139 s
(21.3%)
72.2 s
(20.3%) 38.2 s
(19.4%)
21.8 s
(17.6%)
13.2 s (14.6%)
# of compute cores
Elapsed time
Floating-point arithmetic
efficiency to peak
ソルバー例2: Performance for practical problem
50
0
250
500
750
1000
elapsed
time
of
solver
[s]
outer inner level 0 inner level 1 inner level 2
0
1000
2000
3000
4000
5000
6000
252.2
s
(13.2%)
16
228
4350
17266
555.8
s
(18.4%)
10
225
19808
----
4966
s
(17.8%)
37373
----
----
----
Developed GAMERA PCGE
2.20 x faster
19.7 x faster
0
Overview of 381,383,242,611 degrees-
of-freedom unstructured finite-element
model with mesh size 125 m
Performance on 294,912 compute cores of K computer
• Apply to East Japan model with eight crust layers with full 3D crust geometry
and surface topography, and input fault slip
Elapse
d time
FP
efficienc
y
# of
iterations
Comparison of stress response
• Stress converged at plate boundaries
51
Structured Unstructured
500m
0
a) Overview of unstructured finite-element model
b) Stress response at cross section y = 300 km
(mesh size 125 m) (mesh size 125 m)
(mesh size 250 m) (mesh size 500 m)
Cross section
in b)
7.5x10-1
2.25x107
Pa (in log scale)
1.0x10-4
Crust layer interface
Unstructured Unstructured
まとめ
• 地震シミュレーションにおける有限要素法の定式化・求解方法
を概説
• 大規模有限要素解析はものづくりなど幅広い他分野で使われており、
これらの分野にも活用可能
• 大規模高速解析を実現することで、数値解の収束確認や多数
ケースの解析など、解析の信頼性向上につながると期待
• 次回(6/30)は今回説明した大規模有限要素法の高効率な実装に
関して説明する
70

More Related Content

What's hot

第3回 配信講義 計算科学技術特論B(2022)
第3回 配信講義 計算科学技術特論B(2022)第3回 配信講義 計算科学技術特論B(2022)
第3回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
第5回 配信講義 計算科学技術特論B(2022)
第5回 配信講義 計算科学技術特論B(2022)第5回 配信講義 計算科学技術特論B(2022)
第5回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
第1回 配信講義 計算科学技術特論B(2022)
第1回 配信講義 計算科学技術特論B(2022)第1回 配信講義 計算科学技術特論B(2022)
第1回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
200604material ozaki
200604material ozaki200604material ozaki
200604material ozakiRCCSRENKEI
 
第8回 配信講義 計算科学技術特論B(2022)
第8回 配信講義 計算科学技術特論B(2022)第8回 配信講義 計算科学技術特論B(2022)
第8回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシンYuta Sugii
 
強化学習初心者が強化学習でニューラルネットワークの設計を自動化してみたい
強化学習初心者が強化学習でニューラルネットワークの設計を自動化してみたい強化学習初心者が強化学習でニューラルネットワークの設計を自動化してみたい
強化学習初心者が強化学習でニューラルネットワークの設計を自動化してみたいTakuma Wakamori
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep LearningSeiya Tokui
 
【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihood
【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihood【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihood
【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihoodDeep Learning JP
 
アプリケーションの性能最適化1(高並列性能最適化)
アプリケーションの性能最適化1(高並列性能最適化)アプリケーションの性能最適化1(高並列性能最適化)
アプリケーションの性能最適化1(高並列性能最適化)RCCSRENKEI
 
「世界モデル」と関連研究について
「世界モデル」と関連研究について「世界モデル」と関連研究について
「世界モデル」と関連研究についてMasahiro Suzuki
 
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−Deep Learning JP
 
【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究について【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究についてDeep Learning JP
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)RCCSRENKEI
 
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Keigo Nishida
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介Deep Learning JP
 
SchNet: A continuous-filter convolutional neural network for modeling quantum...
SchNet: A continuous-filter convolutional neural network for modeling quantum...SchNet: A continuous-filter convolutional neural network for modeling quantum...
SchNet: A continuous-filter convolutional neural network for modeling quantum...Kazuki Fujikawa
 
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some PreliminaryDeep Learning JP
 

What's hot (20)

第3回 配信講義 計算科学技術特論B(2022)
第3回 配信講義 計算科学技術特論B(2022)第3回 配信講義 計算科学技術特論B(2022)
第3回 配信講義 計算科学技術特論B(2022)
 
第5回 配信講義 計算科学技術特論B(2022)
第5回 配信講義 計算科学技術特論B(2022)第5回 配信講義 計算科学技術特論B(2022)
第5回 配信講義 計算科学技術特論B(2022)
 
第1回 配信講義 計算科学技術特論B(2022)
第1回 配信講義 計算科学技術特論B(2022)第1回 配信講義 計算科学技術特論B(2022)
第1回 配信講義 計算科学技術特論B(2022)
 
200604material ozaki
200604material ozaki200604material ozaki
200604material ozaki
 
第8回 配信講義 計算科学技術特論B(2022)
第8回 配信講義 計算科学技術特論B(2022)第8回 配信講義 計算科学技術特論B(2022)
第8回 配信講義 計算科学技術特論B(2022)
 
深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン
 
強化学習初心者が強化学習でニューラルネットワークの設計を自動化してみたい
強化学習初心者が強化学習でニューラルネットワークの設計を自動化してみたい強化学習初心者が強化学習でニューラルネットワークの設計を自動化してみたい
強化学習初心者が強化学習でニューラルネットワークの設計を自動化してみたい
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep Learning
 
【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihood
【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihood【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihood
【DL輪読会】Unbiased Gradient Estimation for Marginal Log-likelihood
 
アプリケーションの性能最適化1(高並列性能最適化)
アプリケーションの性能最適化1(高並列性能最適化)アプリケーションの性能最適化1(高並列性能最適化)
アプリケーションの性能最適化1(高並列性能最適化)
 
「世界モデル」と関連研究について
「世界モデル」と関連研究について「世界モデル」と関連研究について
「世界モデル」と関連研究について
 
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
[DL輪読会]The Neural Process Family−Neural Processes関連の実装を読んで動かしてみる−
 
【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究について【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究について
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)
 
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)
 
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
 
SchNet: A continuous-filter convolutional neural network for modeling quantum...
SchNet: A continuous-filter convolutional neural network for modeling quantum...SchNet: A continuous-filter convolutional neural network for modeling quantum...
SchNet: A continuous-filter convolutional neural network for modeling quantum...
 
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
 

Similar to 第10回 配信講義 計算科学技術特論B(2022)

大規模地震シミュレーション1
大規模地震シミュレーション1大規模地震シミュレーション1
大規模地震シミュレーション1RCCSRENKEI
 
ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章YosukeAkasaka
 
ベイズ統計によるデータ解析
ベイズ統計によるデータ解析ベイズ統計によるデータ解析
ベイズ統計によるデータ解析Kunihiro Hisatsune
 
続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章Roy Ray
 
劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節Hakky St
 
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】Naoki Hayashi
 
Computing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner BasisComputing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner BasisYasu Math
 
3.3節 変分近似法(前半)
3.3節 変分近似法(前半)3.3節 変分近似法(前半)
3.3節 変分近似法(前半)tn1031
 
これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法kenyanonaka
 
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項tomitomi3 tomitomi3
 
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsMath in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsKenji Hiranabe
 
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】Tomoharu ASAMI
 
機械学習のモデルのぞいてみない? ~ブラックボックスのままでいいの?~
機械学習のモデルのぞいてみない? ~ブラックボックスのままでいいの?~機械学習のモデルのぞいてみない? ~ブラックボックスのままでいいの?~
機械学習のモデルのぞいてみない? ~ブラックボックスのままでいいの?~Asako Yanuki
 
150908 math004 関数その2
150908 math004 関数その2150908 math004 関数その2
150908 math004 関数その2elephancube
 
Introduction to mathematics of linear regression and neural network
Introduction to mathematics of linear regression and neural networkIntroduction to mathematics of linear regression and neural network
Introduction to mathematics of linear regression and neural networkHiroyoshiHashimoto
 
El text.tokuron a(2019).yoshii190704
El text.tokuron a(2019).yoshii190704El text.tokuron a(2019).yoshii190704
El text.tokuron a(2019).yoshii190704RCCSRENKEI
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17horihorio
 
ランダムフォレストとそのコンピュータビジョンへの応用
ランダムフォレストとそのコンピュータビジョンへの応用ランダムフォレストとそのコンピュータビジョンへの応用
ランダムフォレストとそのコンピュータビジョンへの応用Kinki University
 

Similar to 第10回 配信講義 計算科学技術特論B(2022) (20)

大規模地震シミュレーション1
大規模地震シミュレーション1大規模地震シミュレーション1
大規模地震シミュレーション1
 
ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章
 
ベイズ統計によるデータ解析
ベイズ統計によるデータ解析ベイズ統計によるデータ解析
ベイズ統計によるデータ解析
 
続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章続・わかりやすいパターン認識第5章
続・わかりやすいパターン認識第5章
 
劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節劣モジュラ最適化と機械学習 2.4節
劣モジュラ最適化と機械学習 2.4節
 
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
 
Computing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner BasisComputing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner Basis
 
機械学習と主成分分析
機械学習と主成分分析機械学習と主成分分析
機械学習と主成分分析
 
3.3節 変分近似法(前半)
3.3節 変分近似法(前半)3.3節 変分近似法(前半)
3.3節 変分近似法(前半)
 
これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法
 
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
 
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsMath in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with Applications
 
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
 
機械学習のモデルのぞいてみない? ~ブラックボックスのままでいいの?~
機械学習のモデルのぞいてみない? ~ブラックボックスのままでいいの?~機械学習のモデルのぞいてみない? ~ブラックボックスのままでいいの?~
機械学習のモデルのぞいてみない? ~ブラックボックスのままでいいの?~
 
150908 math004 関数その2
150908 math004 関数その2150908 math004 関数その2
150908 math004 関数その2
 
Introduction to mathematics of linear regression and neural network
Introduction to mathematics of linear regression and neural networkIntroduction to mathematics of linear regression and neural network
Introduction to mathematics of linear regression and neural network
 
El text.tokuron a(2019).yoshii190704
El text.tokuron a(2019).yoshii190704El text.tokuron a(2019).yoshii190704
El text.tokuron a(2019).yoshii190704
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17
 
ランダムフォレストとそのコンピュータビジョンへの応用
ランダムフォレストとそのコンピュータビジョンへの応用ランダムフォレストとそのコンピュータビジョンへの応用
ランダムフォレストとそのコンピュータビジョンへの応用
 

More from RCCSRENKEI

第12回 配信講義 計算科学技術特論B(2022)
第12回 配信講義 計算科学技術特論B(2022)第12回 配信講義 計算科学技術特論B(2022)
第12回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
Realization of Innovative Light Energy Conversion Materials utilizing the Sup...
Realization of Innovative Light Energy Conversion Materials utilizing the Sup...Realization of Innovative Light Energy Conversion Materials utilizing the Sup...
Realization of Innovative Light Energy Conversion Materials utilizing the Sup...RCCSRENKEI
 
Current status of the project "Toward a unified view of the universe: from la...
Current status of the project "Toward a unified view of the universe: from la...Current status of the project "Toward a unified view of the universe: from la...
Current status of the project "Toward a unified view of the universe: from la...RCCSRENKEI
 
Fugaku, the Successes and the Lessons Learned
Fugaku, the Successes and the Lessons LearnedFugaku, the Successes and the Lessons Learned
Fugaku, the Successes and the Lessons LearnedRCCSRENKEI
 
第2回 配信講義 計算科学技術特論B(2022)
第2回 配信講義 計算科学技術特論B(2022)第2回 配信講義 計算科学技術特論B(2022)
第2回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
210603 yamamoto
210603 yamamoto210603 yamamoto
210603 yamamotoRCCSRENKEI
 
第15回 配信講義 計算科学技術特論A(2021)
第15回 配信講義 計算科学技術特論A(2021)第15回 配信講義 計算科学技術特論A(2021)
第15回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
第14回 配信講義 計算科学技術特論A(2021)
第14回 配信講義 計算科学技術特論A(2021)第14回 配信講義 計算科学技術特論A(2021)
第14回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
第12回 配信講義 計算科学技術特論A(2021)
第12回 配信講義 計算科学技術特論A(2021)第12回 配信講義 計算科学技術特論A(2021)
第12回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
第13回 配信講義 計算科学技術特論A(2021)
第13回 配信講義 計算科学技術特論A(2021)第13回 配信講義 計算科学技術特論A(2021)
第13回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
第11回 配信講義 計算科学技術特論A(2021)
第11回 配信講義 計算科学技術特論A(2021)第11回 配信講義 計算科学技術特論A(2021)
第11回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
第9回 配信講義 計算科学技術特論A(2021)
第9回 配信講義 計算科学技術特論A(2021)第9回 配信講義 計算科学技術特論A(2021)
第9回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
第7回 配信講義 計算科学技術特論A(2021)
第7回 配信講義 計算科学技術特論A(2021)第7回 配信講義 計算科学技術特論A(2021)
第7回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
第6回 配信講義 計算科学技術特論A(2021)
第6回 配信講義 計算科学技術特論A(2021)第6回 配信講義 計算科学技術特論A(2021)
第6回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
第5回 配信講義 計算科学技術特論A(2021)
第5回 配信講義 計算科学技術特論A(2021)第5回 配信講義 計算科学技術特論A(2021)
第5回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
El.slide takada
El.slide takadaEl.slide takada
El.slide takadaRCCSRENKEI
 

More from RCCSRENKEI (17)

第12回 配信講義 計算科学技術特論B(2022)
第12回 配信講義 計算科学技術特論B(2022)第12回 配信講義 計算科学技術特論B(2022)
第12回 配信講義 計算科学技術特論B(2022)
 
Realization of Innovative Light Energy Conversion Materials utilizing the Sup...
Realization of Innovative Light Energy Conversion Materials utilizing the Sup...Realization of Innovative Light Energy Conversion Materials utilizing the Sup...
Realization of Innovative Light Energy Conversion Materials utilizing the Sup...
 
Current status of the project "Toward a unified view of the universe: from la...
Current status of the project "Toward a unified view of the universe: from la...Current status of the project "Toward a unified view of the universe: from la...
Current status of the project "Toward a unified view of the universe: from la...
 
Fugaku, the Successes and the Lessons Learned
Fugaku, the Successes and the Lessons LearnedFugaku, the Successes and the Lessons Learned
Fugaku, the Successes and the Lessons Learned
 
第2回 配信講義 計算科学技術特論B(2022)
第2回 配信講義 計算科学技術特論B(2022)第2回 配信講義 計算科学技術特論B(2022)
第2回 配信講義 計算科学技術特論B(2022)
 
210603 yamamoto
210603 yamamoto210603 yamamoto
210603 yamamoto
 
第15回 配信講義 計算科学技術特論A(2021)
第15回 配信講義 計算科学技術特論A(2021)第15回 配信講義 計算科学技術特論A(2021)
第15回 配信講義 計算科学技術特論A(2021)
 
第14回 配信講義 計算科学技術特論A(2021)
第14回 配信講義 計算科学技術特論A(2021)第14回 配信講義 計算科学技術特論A(2021)
第14回 配信講義 計算科学技術特論A(2021)
 
第12回 配信講義 計算科学技術特論A(2021)
第12回 配信講義 計算科学技術特論A(2021)第12回 配信講義 計算科学技術特論A(2021)
第12回 配信講義 計算科学技術特論A(2021)
 
第13回 配信講義 計算科学技術特論A(2021)
第13回 配信講義 計算科学技術特論A(2021)第13回 配信講義 計算科学技術特論A(2021)
第13回 配信講義 計算科学技術特論A(2021)
 
第11回 配信講義 計算科学技術特論A(2021)
第11回 配信講義 計算科学技術特論A(2021)第11回 配信講義 計算科学技術特論A(2021)
第11回 配信講義 計算科学技術特論A(2021)
 
第9回 配信講義 計算科学技術特論A(2021)
第9回 配信講義 計算科学技術特論A(2021)第9回 配信講義 計算科学技術特論A(2021)
第9回 配信講義 計算科学技術特論A(2021)
 
第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)
 
第7回 配信講義 計算科学技術特論A(2021)
第7回 配信講義 計算科学技術特論A(2021)第7回 配信講義 計算科学技術特論A(2021)
第7回 配信講義 計算科学技術特論A(2021)
 
第6回 配信講義 計算科学技術特論A(2021)
第6回 配信講義 計算科学技術特論A(2021)第6回 配信講義 計算科学技術特論A(2021)
第6回 配信講義 計算科学技術特論A(2021)
 
第5回 配信講義 計算科学技術特論A(2021)
第5回 配信講義 計算科学技術特論A(2021)第5回 配信講義 計算科学技術特論A(2021)
第5回 配信講義 計算科学技術特論A(2021)
 
El.slide takada
El.slide takadaEl.slide takada
El.slide takada
 

第10回 配信講義 計算科学技術特論B(2022)

  • 2. 自己紹介:藤田航平 2010年 東京大学 工学部 社会基盤学科 卒業 2014年 東京大学 大学院工学系研究科 社会基盤学専攻 修了、博士(工学) 2014年 理化学研究所 計算科学研究機構 訪問研究員 日本学術振興会 特別研究員(PD) 2015年 理化学研究所 計算科学研究機構 特別研究員 2017年 東京大学 地震研究所 助教 2021年 東京大学 地震研究所 准教授(現職) 2
  • 3. 自己紹介:藤田航平 • 京コンピュータ・Oakforest-PACS, Summit, 富岳等のスパコン を用いて地震関連の高性能計算プログラム・実装を開発 理化学研究所 京コンピュータ JCAHPC(東大・筑波大) Oakforest-PACS 3 米国オークリッジ研究所 Summit
  • 4. 内容・スケジュール • 6/23 1300- • 地震シミュレーションの概要 • 有限要素法の基礎 • 大規模連立方程式の求解方法(共役勾配法) • 共役勾配法における並列化 • 共役勾配法における前処理 • 大規模地震シミュレーションの例 • 6/30 1300- • 有限要素法における大規模線連立程式求解方法の高速化(SIMD・マル チコア・時間並列アルゴリズム等) 4
  • 6. 地震シミュレーション概要 • 断層~地殻~地盤~構造物 • 領域サイズ: 100 km • 空間分解能: 0.1 m • 従来は構造が比較的単純な地殻中の波動伝播では有限差分法が使われてきた • より複雑構造をもつ都市などを高精度で求解するため、近年では有限要素法 が広まりつつある • 都市規模の問題は数千億自由度規模の超大規模問題になるうえに、有限要素 法ではランダムアクセスが主体となり計算効率が下がる傾向にあるため、高 性能計算技術が必須 非構造格子(有限要素法など) 構造格子(差分法など) Example code: do i=1,nx do j=1,ny a(i,j)=b(i,j)+b(i+1,j)+…. enddo enddo Example code: do i=1,n do j=ptr(i)+1,ptr(i+1) a(i)=a(i)+b(index(j)) enddo enddo 6
  • 7. 解析例 • ターゲット:断層~地殻~地盤~構造物~社会活動 7 a) Earthquake wave propagation -7 km 0 km c) Resident evacuation b) City response simulation Shinjuku Two million agents evacuating to nearest safe site Tokyo station Ikebukuro Shibuya Shinbashi Ueno Earthquake Post earthquake 京コンピュータ全系を使った 地震シミュレーション例 T. Ichimura et al., Implicit Nonlinear Wave Simulation with 1.08T DOF and 0.270T Unstructured Finite Elements to Enhance Comprehensive Earthquake Simulation, SC15 Gordon Bell Prize Finalist
  • 8. 断層-都市-社会応答シミュレーションでできるように なること • 物理シミュレーションの積み重ねとして,断層から社会応答までの地 震シミュレーションを実現 • 統計・経験式ベースの被害想定に比べて,科学的合理性が向上 • 耐震補強の優先順位付け・地震保険料の合理的設定など,地震対策の高度化 につながると期待 15 断層-都市シミュレーション 都市シミュレーション 都市-社会シミュレーション
  • 10. 有限要素法(1次元) • ターゲット問題(支配方程式): 𝑓 𝑢(𝑥) = 0 • e.g.: 𝑓 𝑢 𝑥 = 1 − 𝑑2𝑢(𝑥) 𝑑𝑥2 for 0 < 𝑥 < 1 with boundary conditions 𝑢 0 = 0, 𝑢 1 = 1/2 • 有限要素法では未知関数𝑢 𝑥 をオーバーラップの無い区間(要素)で分割する • 𝑢 𝑥 = σ𝑖 𝑢𝑖𝜑𝑖(𝑥) • ここで𝑢𝑖は定数(未知) 、𝜑𝑖(𝑥)は形状関数(既知) • 𝑢𝑖が決まれば𝑢 𝑥 が求まる→どうやって𝑢𝑖を求めるか? 𝑦 𝑥 𝜑𝑖(𝑥) 𝑥 要素 節点 節点𝑖 𝑢 𝑥 𝑦 1 0 17
  • 11. 有限要素法(1次元) • 重み付き残差法 • 支配方程式(𝑓 𝑢(𝑥) = 0)をそのまま解かずに、任意の重み関数𝑤 𝑥 を 使って、以下の式に変換して解く ‫׬‬ 𝑤(𝑥)𝑓 𝑢(𝑥) 𝑑𝑥 = 0 • 𝑓 𝑢 𝑥 = 1 − 𝑑2𝑢(𝑥) 𝑑𝑥2 の場合(0 < 𝑥 < 1)では、 ‫׬‬ 0 1 𝑤 𝑥 1 − 𝑑2𝑢 𝑥 𝑑𝑥2 𝑑𝑥 = ‫׬‬ 0 1 𝑤 𝑥 + 𝑑𝑤 𝑥 𝑑𝑥 𝑑𝑢 𝑥 𝑑𝑥 𝑑𝑥 − 𝑤 𝑥 𝑑𝑢 𝑥 𝑑𝑥 0 1 = 0 • 微分の階数が減り(この場合は2→1)、結果として、低次の形状関数を 使えるようになる(弱形式) 18
  • 12. 有限要素法(1次元) • さらに、重み付き残差法の重み関数𝑤に、𝑢の離散化に使った形状関数を 用いる(i.e., 𝑤 𝑥 = 𝜑𝑖(𝑥))(ガラーキン法) • ‫׬‬ 0 1 𝑤 𝑥 1 − 𝑑2𝑢 𝑥 𝑑𝑥2 𝑑𝑥 = ‫׬‬ 0 1 𝑤 𝑥 + 𝑑𝑤 𝑥 𝑑𝑥 𝑑𝑢 𝑥 𝑑𝑥 − 𝑤 𝑥 𝑑𝑢 𝑥 𝑑𝑥 0 1 𝑑𝑥 = ‫׬‬ 0 1 𝑑𝜑𝑖 𝑥 𝑑𝑥 σ𝑗 𝑢𝑗 𝑑𝜑𝑗 𝑥 𝑑𝑥 + 𝜑𝑖(𝑥) 𝑑𝑥 = σ𝑗 ‫׬‬ 0 1 𝑑𝜑𝑖 𝑥 𝑑𝑥 𝑑𝜑𝑗 𝑥 𝑑𝑥 𝑑𝑥 𝑢𝑗 − ‫׬‬ 0 1 −𝜑𝑖 𝑥 𝑑𝑥 = σ𝑗 𝑎𝑖𝑗𝑢𝑗 − 𝑓𝑖 = 0 • マトリクス形で書くと 𝐀𝐮 = 𝐟 • 有限要素法の形状関数を使うことで 𝐀は疎行列となる 𝑎𝑖𝑗 𝑓𝑖 境界でのみ値を持つ→ 今回は𝑢が境界で固定(ディリ クレ境界条件)のため省略 19
  • 13. 有限要素法(1次元)例題 • 𝑎𝑖𝑗 = ‫׬‬0 1 𝑑𝜑𝑖 𝑥 𝑑𝑥 𝑑𝜑𝑗 𝑥 𝑑𝑥 𝑑𝑥 3要素(4節点)の場合 𝑥 𝑦 0 1 1/3 3/4 𝜑1(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑2(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑3(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑4(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑1 𝑥 𝑑𝑥 −3 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑2 𝑥 𝑑𝑥 3 − 12 5 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑3 𝑥 𝑑𝑥 12 5 −4 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑4 𝑥 𝑑𝑥 4 𝑥 𝑢 𝑥 𝑦 0 1 1/3 3/4 𝑢1 𝑢2 𝑢3 𝑢4 ① ② ③ ④: 節点番号 20
  • 14. 有限要素法(1次元)例題 • 𝑎𝑖𝑗 = ‫׬‬0 1 𝑑𝜑𝑖 𝑥 𝑑𝑥 𝑑𝜑𝑗 𝑥 𝑑𝑥 𝑑𝑥 • 𝑎11 = ‫׬‬0 1/3 (−3)(−3) 𝑑𝑥 • = 3 3要素(4節点)の場合 𝑥 𝑦 0 1 1/3 3/4 𝜑1(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑2(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑3(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑4(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑1 𝑥 𝑑𝑥 −3 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑2 𝑥 𝑑𝑥 3 − 12 5 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑3 𝑥 𝑑𝑥 12 5 −4 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑4 𝑥 𝑑𝑥 4 𝑥 𝑢 𝑥 𝑦 0 1 1/3 3/4 𝑢1 𝑢2 𝑢3 𝑢4 ① ② ③ ④: 節点番号 21
  • 15. 有限要素法(1次元)例題 • 𝑎𝑖𝑗 = ‫׬‬0 1 𝑑𝜑𝑖 𝑥 𝑑𝑥 𝑑𝜑𝑗 𝑥 𝑑𝑥 𝑑𝑥 • 𝑎12 = ‫׬‬0 1/3 (−3)(3) 𝑑𝑥 • = −3 3要素(4節点)の場合 𝑥 𝑦 0 1 1/3 3/4 𝜑1(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑2(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑3(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑4(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑1 𝑥 𝑑𝑥 −3 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑2 𝑥 𝑑𝑥 3 − 12 5 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑3 𝑥 𝑑𝑥 12 5 −4 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑4 𝑥 𝑑𝑥 4 𝑥 𝑢 𝑥 𝑦 0 1 1/3 3/4 𝑢1 𝑢2 𝑢3 𝑢4 ① ② ③ ④: 節点番号 22
  • 16. 有限要素法(1次元)例題 • 𝑎𝑖𝑗 = ‫׬‬0 1 𝑑𝜑𝑖 𝑥 𝑑𝑥 𝑑𝜑𝑗 𝑥 𝑑𝑥 𝑑𝑥 • 𝑎13 = 0 3要素(4節点)の場合 𝑥 𝑦 0 1 1/3 3/4 𝜑1(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑2(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑3(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑4(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑1 𝑥 𝑑𝑥 −3 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑2 𝑥 𝑑𝑥 3 − 12 5 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑3 𝑥 𝑑𝑥 12 5 −4 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑4 𝑥 𝑑𝑥 4 𝑥 𝑢 𝑥 𝑦 0 1 1/3 3/4 𝑢1 𝑢2 𝑢3 𝑢4 ① ② ③ ④: 節点番号 23
  • 17. 有限要素法(1次元)例題 • 𝑎𝑖𝑗 = ‫׬‬0 1 𝑑𝜑𝑖 𝑥 𝑑𝑥 𝑑𝜑𝑗 𝑥 𝑑𝑥 𝑑𝑥 • 𝑎14 = 0 3要素(4節点)の場合 𝑥 𝑦 0 1 1/3 3/4 𝜑1(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑2(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑3(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑4(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑1 𝑥 𝑑𝑥 −3 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑2 𝑥 𝑑𝑥 3 − 12 5 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑3 𝑥 𝑑𝑥 12 5 −4 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑4 𝑥 𝑑𝑥 4 𝑥 𝑢 𝑥 𝑦 0 1 1/3 3/4 𝑢1 𝑢2 𝑢3 𝑢4 ① ② ③ ④: 節点番号 24
  • 18. 有限要素法(1次元)例題 • 𝑎𝑖𝑗 = ‫׬‬0 1 𝑑𝜑𝑖 𝑥 𝑑𝑥 𝑑𝜑𝑗 𝑥 𝑑𝑥 𝑑𝑥 • 𝑎22 = ‫׬‬0 1/3 (3)(3) 𝑑𝑥 + ‫׬‬1/3 3/4 (− 12 5 )(− 12 5 ) 𝑑𝑥 • = 3 + 12 5 = 27 5 3要素(4節点)の場合 𝑥 𝑦 0 1 1/3 3/4 𝜑1(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑2(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑3(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑4(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑1 𝑥 𝑑𝑥 −3 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑2 𝑥 𝑑𝑥 3 − 12 5 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑3 𝑥 𝑑𝑥 12 5 −4 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑4 𝑥 𝑑𝑥 4 𝑥 𝑢 𝑥 𝑦 0 1 1/3 3/4 𝑢1 𝑢2 𝑢3 𝑢4 ① ② ③ ④: 節点番号 25
  • 19. 有限要素法(1次元)例題 • 𝑎𝑖𝑗 = ‫׬‬0 1 𝑑𝜑𝑖 𝑥 𝑑𝑥 𝑑𝜑𝑗 𝑥 𝑑𝑥 𝑑𝑥 • 𝑎23 = ‫׬‬1/3 3/4 (− 12 5 )( 12 5 ) 𝑑𝑥 • = − 12 5 3要素(4節点)の場合 𝑥 𝑢 𝑥 𝑦 0 1 1/3 3/4 𝑢1 𝑢2 𝑢3 𝑢4 𝑥 𝑦 0 1 1/3 3/4 𝜑1(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑2(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑3(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝜑4(𝑥) 1 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑1 𝑥 𝑑𝑥 −3 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑2 𝑥 𝑑𝑥 3 − 12 5 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑3 𝑥 𝑑𝑥 12 5 −4 𝑥 𝑦 0 1 1/3 3/4 𝑑𝜑4 𝑥 𝑑𝑥 4 26
  • 20. 有限要素法(1次元)例題 • A = 3 −3 −3 27 5 0 0 − 12 5 0 0 − 12 5 0 0 32 5 −4 −4 4 , 𝑓 = −1/6 −3/8 −1/3 −1/8 • あとはこれを境界条件 𝑢1 = 0, 𝑢4 = 1 2 を満たすように解けばよい • この場合は、中央の二式を使って、 −3 × 0 + 27 5 𝑢2 − 12 5 𝑢3 + 0 × 1 2 = − 3 8 0 × 0 + 12 5 𝑢2 + 32 5 𝑢3 − 4 × 1 2 = − 1 3 • これを解いて、𝑢2 = 1 18 , 𝑢3 = 9 32 ― 解析解 ・数値解 27
  • 21. 有限要素法のポイント • 有限要素法で分割することで、 行列𝐀はスパース(疎)となる • 行列の行数をNとしたとき、 • →行列の非零成分の数はO(N)になる • →行列ベクトル積のコストはO(N)になる • 並列計算機上で大規模有限要素解析を実施する際には上記の特 性に加えて、対象計算システムの特徴を踏まえてアルゴリズ ム・実装を設計 • 単ノード特性:コア数・SIMD幅等、メモリバンド幅、メモリ容量など • システム特性:計算ノード数・大域通信・隣接通信のバンド幅・レイ テンシなど 28
  • 23. ソルバー(連立方程式の解法) • 直接法 • ガウスの消去法・LU分解・コレスキー分解等 • メモリ使用量がO(N2)になり大規模問題の解析には不向き • 反復法 • ヤコビ法、共役勾配法等 • 疎行列の場合、メモリ使用量がO(N)となることが多い • ここでは地震関連問題を有限要素法で離散化した際に導かれる 正定値対称行列の大規模連立方程式の求解に広く使われる共役 勾配法を説明 30
  • 24. 共役勾配法の概念説明 (直接法で𝐀𝐮 = 𝐟を解く場合) • 非零ベクトル𝐩, 𝐪が𝐩T𝐀𝐪 = 0となるとき、 𝐩, 𝐪は正定値対称行列𝐀に対し て共役であるという • 共役勾配法では、互いに共役な非零ベクトルの組 𝐩1, 𝐩2, 𝐩3, … , 𝐩𝑁 (i.e., 𝐩𝑖 T 𝐀𝐩𝑗 = 0 𝑖 ≠ 𝑗 )を基底として解を𝐮 = σ𝑗 𝛼𝑗 𝐩𝑗とあらわし、 𝐩𝑖 T 𝐀𝐮 = 𝐩𝑖 T 𝐀 σ𝑗 𝛼𝑗 𝐩𝑗 = 𝛼𝑖𝐩𝑖 T 𝐀𝐩𝑖 = 𝐩𝑖 T 𝐟 より係数𝛼𝑖は以下のように求められる 𝛼𝑖= 𝐩𝑖 T 𝐟 𝐩𝑖 T 𝐀 𝐩𝑖 • ポイント • 行列ベクトル積とベクトル内積を多数回実行することで求解可能 • 𝐀自体の変更は不要(=疎行列性を崩さない) • 効率的に共役ベクトルの組を求めるよう改良したものが反復法バージョン の共役勾配法(次ページで説明) 31
  • 25. 共役勾配法(反復法)で𝐀𝐮 = 𝐟を解く • 現在(𝑖反復目)での解𝐮𝑖に対し残差を以下のように定義する 𝐫𝑖+1= 𝐟 − 𝐀𝐮𝑖 • ここで、探索ベクトルが𝑖反復目までの探索ベクトルの組()と共 役となるよう、𝐫𝑖+1に最も近い方向で共役性を満たすようにと る 𝐩𝑖+𝟏 = 𝐫𝑖+1 − 𝐩𝑖 T 𝐀 𝐫𝑖+1 𝐩𝑖 T𝐀 𝐩𝑖 𝐩𝑖 • ポイント:次の共役ベクトル𝐩𝑖+1を生成するために、これまで の探索ベクトル 𝐩1, 𝐩2, 𝐩3, … , 𝐩𝑖 の数𝑖に比例した操作が不要 32
  • 26. • 正定値対称行列𝐀に対して𝐀𝐮 = 𝐟を解く 𝐫0⇐ 𝐟 − 𝐀𝐮0 𝐩0⇐ 𝐫0 do k=0,1,2,… 𝛼𝑘⇐ 𝐫𝑘 T 𝐩𝒌 𝐩𝑘 T𝐀𝐩𝒌 𝐮𝒌+𝟏⇐ 𝐮𝒌 + 𝛼𝑘𝐩𝑘 𝐫𝒌+𝟏⇐ 𝐫𝒌 − 𝛼𝑘𝐀𝐩𝑘 if(|𝐫𝒌+𝟏|/|𝐛| < 𝜀) break 𝛽𝑘⇐ 𝐫𝑘+1 T 𝐫𝒌+𝟏 𝐫𝑘 T𝐫𝒌 𝐩𝒌+𝟏⇐ 𝐫𝒌+1 + 𝛽𝑘𝐩𝑘 enddo • ここで |*|はノルム、𝐮0は初期解、𝜀は閾値、求解結果は𝐮𝒌+𝟏 • ポイント • 最大でもN反復で収束する(実際には残差が小さくなる方向に近い方向で探索ベクトルを構築する ため、 大幅に少ない反復数で収束することが多い) • 計算は行列ベクトル積とベクトル内積のみ:これらを高速化すればよい 共役勾配法(反復法)アルゴリズム 33
  • 28. 共役勾配法の並列化 • ベクトル内積と行列ベクトル積を並列計算する • 良く使われる方法:要素ベースの分割(領域境界で節点は共有す る) • グラフ分割ソフトウェアを利用する(e.g., METIS) 分割前のメッシュ 分割されたメッシュ 内積: for(i=0;i<localnodes;++i){ localresult += a[i]*b[i]*dupli[i]; } MPI_ALLREDUCE(localresult,globalresult,MPI_SUM) // 領域内ではdupli[i]=1, 境界では共有領域数をmとし たとき、dupli[i]=1/m // 右の図の場合、 // 領域内部の点(黒)はdupli[i]=1 // 共有節点(赤)はdupli[i]=1/2 35 ※行列ベクトル積の並列化については次回
  • 30. 共役勾配法における前処理 • 行列𝐀の性質を改善し、共役勾配法の反復回数を減らす • 最大固有値/最小固有値をなるべく小さくする(正定値対称行列では固 有値はすべて正) • 𝐌 ≈ 𝐀−1のようなMを使い、 𝐀𝐮 = 𝐟を解く代わりに 𝐌𝐀 𝐮 = 𝐌𝐟 を解 く • 𝐌=𝐀−1の場合は共役勾配法は一反復で終了し、逆に𝐌 = 𝐈(単位行列)の 場合は前処理が無い場合と同じとなる(反復数削減効果なし) • 計算コスト・メモリ使用量に対して、反復数削減効果の高い𝐌を設定 することとなる 37
  • 31. 共役勾配法における前処理(ヤコビ法) • ヤコビ法:行列𝐀−1 の近似として、𝐀の対角成分の逆数を用いる 方法 • 計算コストが低く、メモリ使用量は少ない • 性質がそこまで悪くない問題だと収束する • 多次元問題で未知数が節点毎に複数定義されている場合、これ らをブロックとして、ブロック対角行列の逆行列を、全体の 𝐀−1に使う方法 • ヤコビ法より計算コスト・メモリ使用量は増加するものの、近似性能 は改善 38
  • 32. 共役勾配法における前処理(ILU) • Lower-Upper decomposition (LU分解) • 直接法。複数の入力fに対して、𝐮 = 𝐀−1𝐟を高効率で計算できる • 疎行列Aに適用した場合、分解後のL, Uのfill-inパターン(非零成分位置)が 𝐀のfill-inパターンと異なる(成分が増える)ことがある→コスト高・メモリ 使用量が多くなる • 大局的な依存関係がある→効率的に並列計算するのは難しい • LU分解の近似としてのIncomplete LU decomposition (ILU) • ILU(0):fill-inなし(𝐀で零となる成分は強制的に値を0とする) • ILU(1):fill-inパターンは𝐀2 と同じ(𝐀2 で零となる成分は強制的に値を0とす る) • など • LU分解による求解よりも精度は劣るが、メモリ使用量・計算コストは抑えら れる • ただし、LUと同じく依存関係がありそのままでは並列計算に適さない→依存 関係をなくすための近似と組み合わせることが多い 39
  • 33. 共役勾配法における前処理(マルチグリッ ド法) • マルチグリッド法 • N x M (M<N)の行列Pを用いて、 𝐑𝐀𝐏 𝐮c = 𝐑𝐟 を𝐮cについて(粗 く)解き、これを𝐮 ≈ 𝐏𝐮cとして用いる • 上記を再帰的に行うことで、多段の疎化が可能になる • 共役勾配法が苦手とする長周波成分を効率的に求めることができる • 𝐑, 𝐏の設定方法により、幾何マルチグリッド、代数マルチグ リッドに分類される • 幾何マルチグリッド(Geometric Multigrid):𝐑, 𝐏に幾何拘束を用いる場 合(e.g., 構造格子グリッドにおいて、節点を一個飛ばしで省いたコース グリッドを使う等) • 代数マルチグリッド(Algebraic Multigrid): 幾何的情報以外の情報も 使って𝐑, 𝐏を設定した場合 40
  • 34. 大規模並列計算用の前処理 • ヤコビ系 • 大規模問題までスケーリングが容易 • ただし反復回数は多い • ILU系 • マトリクスを格納する必要あり • 並列計算のためには工夫をする必要あり • マルチグリッド系 • 幾何マルチグリッドは低コストだが適用できる問題が限られている • 代数マルチグリッドは一般問題にも適用可能だが、マトリクスを格納する必 要あり • このようなアルゴリズム特性と、システムの特性・対象問題の特性 を踏まえて前処理を選択することとなる 41
  • 36. ソルバー例1:地震時の地盤増幅解析@京コンピュータ • Solve preconditioning matrix roughly to reduce number of CG loops • Use geometric multi-grid method to reduce cost of preconditioner • Use single precision in preconditioner to reduce computation & communication Equation to be solved (double precision) CG loop Computations of outer loop Outer loop Solving preconditioning matrix Second ordered tetrahedron Solve system roughly using CG solver (single precision) Solve system roughly using CG solver (single precision) Use as initial solution Use for preconditioner of outer loop Solving preconditioning matrix Inner coarse loop Inner fine loop Linear tetrahedron Second ordered tetrahedron T. Ichimura et al., Implicit Nonlinear Wave Simulation with 1.08T DOF and 0.270T Unstructured Finite Elements to Enhance Comprehensive Earthquake Simulation, SC15 Gordon Bell Prize Finalist 43
  • 37. ソルバー例1: Performance comparison on full K computer • Compare with PCGE & SC14 solver • PCGE: CG + Element-by-Element + simple preconditioner (3x3 block diagonal Jacobi preconditioner) • SC14 : SC14 Gordon Bell Prize Finalist • SC15: developed solver • FLOP (arithmetic) count and elapsed time reduced 44 0 200 400 600 800 1000 PCGE SC14 SC15 Elapsed time (seconds) 0 2 4 6 8 PCGE SC14 SC15 FLOP count (x1017 FLOP) 6.9 3.0 763 328 89.2 1.8 [1] T. Ichimura, et al., Physics-based urban earthquake simulation enhanced by 10.7 BlnDOF x 30 K time-step unstructured FE non-linear seismic wave simulation, SC14 Gordon Bell Prize Finalist [2] T. Ichimura, et al., Implicit Nonlinear Wave Simulation with 1.08T DOF and 0.270T Unstructured Finite Elements to Enhance Comprehensive Earthquake Simulation, SC15 Gordon Bell Prize Finalist
  • 38. ソルバー例1: Scalability • Weak-scaling: 96.6% efficiency from 9,216 cores to 663,552 cores • 18.6% of peak performance attained at full K computer (=1.97 PFLOPS) • Strong-scaling: 76% efficiency from 9,216 cores to 294,912 cores • Fast & scalable solver algorithm + fast Element-by-Element method • Enables very good scalability & peak-performance & convergency & time-to- solution on K computer 45 1/32 1/16 1/8 1/4 1/2 1 2 Weak-scaling Strong-scaling Ideal speedup Normalized elapsed time 9216 294912 663552 # of cores
  • 39. ソルバー例2: Earth’s crust deformation problem • Compute static elastic response under faulting • Input: fault slip distribution • Output: deformation at surface • Converged solutions of stress and strain required for evaluating plate boundary constitutive relations • Resolution of O(10 m) required at plate boundaries, leading to O(trillion) degrees- of-freedom problem • Fast and scalable solver with small memory footprint required 46 0 Earth’s crust deformation problem
  • 40. ソルバー例2:地殻変動解析@京コンピュータ Equation to be solved (double precision) CG loop Computations of outer loop Outer loop Solving preconditioning matrix 47 Second ordered tetrahedron Solve system roughly using CG solver (single precision) Solve system roughly using CG solver (single precision) Use for preconditioner of outer loop Solving preconditioning matrix Inner loop level 1 Inner loop level 0 Linear tetrahedron Second ordered tetrahedron Coarsened equation (P12 TA1P12)u2=P12 Tf1 Inner loop level 2 Solve system roughly using CG solver (single precision) Use u1←P12 u2 as initial solution Use u0←P01 u1 as initial solution Algebraic coarsening Geometric coarsening K. Fujita et al., Fast and Scalable Low-Order Implicit Unstructured Finite-Element Solver for Earth’s Crust Deformation Problem, PASC2017
  • 41. ソルバー例2: Size-up efficiency on K computer • Compare performance with PCGE (CG solver with 3x3 block diagonal preconditioner) and SC14 geometric multi-grid solver 48 0 200 400 600 800 1000 1200 1400 1600 1800 elapsed time of solver [s] 9,216 18,432 36,864 73,728 147,456 294,912 138.9 s (21.3%) 272.0 s (21.9%) 1375 s (18.5%) 140.0 s (21.2%) 277.5 s (21.6%) 1546 s (18.1%) 144.5 s (20.9%) 292.7 s (21.4%) 1572 s (18.1%) 151.3 s (20.1%) 311.8 s (21.3%) 1680 s (18.3%) 148.7 s (20.1%) 308.5 s (20.5%) 1573 s (17.9%) 146.5 s (20.6%) 319.7 s (20.4%) 1629 s (17.6%) # of compute cores Elapsed time Floating-point arithmetic efficiency to peak • 94.8% scalability from 9216 to 294912 cores
  • 42. ソルバー例2: Speed-up efficiency on K computer • Good speed-up efficiency when compared with previous solvers 49 8 32 128 512 2048 elapsed time of solver [s] 9,216 18,432 36,864 73,728 147,456 1375 s (18.5%) 800 s (17.7%) 364 s (17.5%) 229 s (16.6%) 111 s (16.1%) 272 s (21.9%) 178 s (21.0%) 73.7 s (20.3%) 46.3 s (19.6%) 27.2 s (17.1%) 139 s (21.3%) 72.2 s (20.3%) 38.2 s (19.4%) 21.8 s (17.6%) 13.2 s (14.6%) # of compute cores Elapsed time Floating-point arithmetic efficiency to peak
  • 43. ソルバー例2: Performance for practical problem 50 0 250 500 750 1000 elapsed time of solver [s] outer inner level 0 inner level 1 inner level 2 0 1000 2000 3000 4000 5000 6000 252.2 s (13.2%) 16 228 4350 17266 555.8 s (18.4%) 10 225 19808 ---- 4966 s (17.8%) 37373 ---- ---- ---- Developed GAMERA PCGE 2.20 x faster 19.7 x faster 0 Overview of 381,383,242,611 degrees- of-freedom unstructured finite-element model with mesh size 125 m Performance on 294,912 compute cores of K computer • Apply to East Japan model with eight crust layers with full 3D crust geometry and surface topography, and input fault slip Elapse d time FP efficienc y # of iterations
  • 44. Comparison of stress response • Stress converged at plate boundaries 51 Structured Unstructured 500m 0 a) Overview of unstructured finite-element model b) Stress response at cross section y = 300 km (mesh size 125 m) (mesh size 125 m) (mesh size 250 m) (mesh size 500 m) Cross section in b) 7.5x10-1 2.25x107 Pa (in log scale) 1.0x10-4 Crust layer interface Unstructured Unstructured
  • 45. まとめ • 地震シミュレーションにおける有限要素法の定式化・求解方法 を概説 • 大規模有限要素解析はものづくりなど幅広い他分野で使われており、 これらの分野にも活用可能 • 大規模高速解析を実現することで、数値解の収束確認や多数 ケースの解析など、解析の信頼性向上につながると期待 • 次回(6/30)は今回説明した大規模有限要素法の高効率な実装に 関して説明する 70