応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
DESCRIPTION
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング. 2008 年 6 月 19 日 名古屋大学 計算理工学専攻 山本有作. 期末発表について. 概要 日時: 7/10 および 7/17 1~3人のグループで1つの発表を行う。 論文を読んでまとめるか,あるいは講義で勉強したことをもとに自分たちで数値実験を行った結果を発表 グループの決定 本日の講義後に,グループを申告してください。 未決定の人は,今週末までに決めてメールで申告してください。 発表テーマの決定 テーマの候補をホームページに掲載します。 - PowerPoint PPT PresentationTRANSCRIPT
応用数理工学特論
線形計算とハイパフォーマンスコンピューティング
2008 年 6 月 19 日
名古屋大学 計算理工学専攻山本有作
期末発表について
• 概要– 日時: 7/10 および 7/17– 1~3人のグループで1つの発表を行う。– 論文を読んでまとめるか,あるいは講義で勉強したことをも
とに自分たちで数値実験を行った結果を発表
• グループの決定– 本日の講義後に,グループを申告してください。– 未決定の人は,今週末までに決めてメールで申告してくださ
い。
• 発表テーマの決定– テーマの候補をホームページに掲載します。– 来週の講義までに,自分たちのテーマを決めて報告してくだ
さい。
前回の概要
3 . 非対称行列の固有値計算のための前処理
・ ハウスホルダー法によるヘッセンベルグ化
4 . ヘッセンベルグ行列の固有値計算
・ べき乗法
・ 直交化付き同時反復法
・ QR 法
今回の内容
4 . ヘッセンベルグ行列の固有値計算(続き)
・ シフト付き QR 法
・ 減次(デフレーション)
・ QR 法の演算量
・ ヘッセンベルグ行列に対する QR 法
今回の内容
5 . ヘッセンベルグ行列の固有値計算の高性能化
・ QR 法の問題点
・ マルチシフト QR 法
・ level-3 BLAS の利用
6 . 三重対角行列の固有値計算の高性能化
QR 法の基礎
• アルゴリズム( Francis, 1961 & Kublanovskaya, 1961 )– 行列 A0 から始めて次のように QR 分解と相似変換を繰り返す。
• A0 = Q1R1
• A1 = R1Q1 (= Q1–1A0 Q1 )
• A1 = Q2R2
• A2 = R2Q2 (= Q2–1A1 Q2 = Q2
–1Q1–1A0 Q1Q2 )
• 収束定理– 適当な条件の下で, Ak は(ブロック)上三角行列に収束– A0 の固有値を絶対値の大きい順に 1, 2, … , n とすると,対角要素
aij は i に1次収束– 非対角要素 aij ( j < i )は収束率 ij ≡ |i| / |j| で 0 に1次収束
各部分の実行時間
• 全固有値を求める場合の演算量– ヘッセンベルグ 化: (10/3) n3
– QR 法: 10n3 (経験値)
– 演算量(時間)の大部分を QR 法が占める。– QR 法の高速化が必要
0
5
10
15
20
25
30
35
40
45
OLM10
00
TUB1
000
RDB1
250
TOLS
2000
PDE2
961
MHD32
00B
QR
Hessenberg reduction
Execution time (min)
Origin2000 1PU ( R12000 , 400MHz )上での実行時間K. Braman et al: “The Multishift QR Algorithm I” より抜粋Hessenberg 化の時間は推定値
• 更新処理の分割– m/2 個のバルジをそれぞれ r 行追跡する際, まず対角ブロックのみを更新– 非対角ブロックは,更新に使ったハウスホル
ダー変換を 1 個の行列に蓄積し,後でまとめて更新
非対角ブロックの更新で レベル 3 BLAS が使用可能
• r の決め方– 演算量の点から, r ~ 3m とするのが最適– このとき,演算量は方式1の約 2 倍 (非ゼロ構造を利用した場合)
レベル 3 BLAS の利用
0
バルジ( 3×3 )最初に更新
まとめて BLAS3 で更新
蓄積されたハウスホルダー変換の非ゼロ構造
マルチシフト QR 法の性能
• 流体力学の問題に対する計算時間の例– PowerPC G5 2.0GHz ( 1CPU )– 行列は金田研究室 水野氏提供
0
200
400
600
800
1000
1200
1400
1600
8 (DHSEQR) 8 (HQR_M)
QR法
Hessenberg 化
行列生成
0
5000
10000
15000
20000
25000
30000
35000
40000
45000
11 (DHSEQR) 11 (HQR_M)
QR法
Hessenberg 化
行列生成
N=3645 N=11232