9. グローバル構築版とローカル構築版
𝐀𝐀 → [MUMPS] → 𝐒𝐒 = 𝐀𝐀BB − 𝐀𝐀BI 𝐀𝐀II
†
𝐀𝐀IB
グローバル構築版(global-schur-ver)
本来, DDMでは部分領域で並列性があるが, 組み立て済み方程式を入力
とする方法では不明な成分がある
𝐒𝐒 = �
i=1
N
𝐑𝐑B
i T
𝐀𝐀BB
i
− 𝐀𝐀BI
i
𝐀𝐀II
i
†
𝐀𝐀IB
i
𝐑𝐑B
i
MUMPSがマルチフロンタル法による並列行列分解と求解で構築
- 長所: 全体係数行列とベクトルを入力するのみで実装が容易
- 短所: 台数効果が低い
𝐀𝐀 = �
i=1
N
𝐑𝐑 i T 𝐀𝐀II
i
𝐀𝐀IB
i
𝐀𝐀BI
i
𝟎𝟎
𝐑𝐑 i
+
𝟎𝟎 𝟎𝟎
𝟎𝟎 𝐀𝐀BB
ローカル構築版(local-schur-ver)
→ [MUMPS] → 𝐒𝐒 i ′
= −𝐀𝐀BI
i
𝐀𝐀II
i
†
𝐀𝐀IB
i
MUMPSが局所Schur補行列を構築
- 長所: 台数効果が高い
- 短所: 実装が少し複雑になる
14. LexADV_TryDDMのビルド
• グローバル構築版
$ cd src/global-schur-ver
$ vi Makefile
$ make
$ ls ../../lib/
libtry_ddm_gl.a
• ローカル構築版
$ cd src/local-schur-ver
$ vi Makefile
$ make
$ ls ../../lib/
libtry_ddm_loc.a