Fill-in LevelつきIC分解による 前処理について

Slides:



Advertisements
Similar presentations
1 広島大学 理学研究科 尾崎 裕介 石川 健一. 1. Graphic Processing Unit (GPU) とは? 2. Nvidia CUDA programming model 3. GPU の高速化 4. QCD with CUDA 5. 結果 6. まとめ 2.
Advertisements

Absolute Orientation. Absolute Orientation の問題 二つの座標系の間における剛体 (rigid body) 変換を復元す る問題である。 例えば: 2 台のステレオカメラから得られた3次元情報の間の関 係を推定する問題。 2 台のステレオカメラから得られた3次元情報の間の関.
大規模な三角 Toeplitz 線形方 程式の高速解法とその応用 ○ 安村 修一(法政大学 4 年) 李 磊(法政大学) 日本応用数理学会「行列・固有値の解法とその応用」研究部会 第6回研究会.
利用者のプライバシを保護す る協調フィルタリング方式の 提案 7adrm011 木澤寛厚. 背景 商品の量が多い 見つからな い orz ネットショップ.
MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
データ解析
有限差分法による 時間発展問題の解法の基礎
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
Intel AVX命令を用いた並列FFTの実現と評価
一般化Bi-CGSTAB(s, L) (=一般化IDR(s, L))
A Q R QR分解とは? → × ◆QR分解 QTQ = I (単位行列) ◆応用例 ◆主な計算方法 n m 今回はこの方法に注目
Problem J Tile Puzzle 原案:野田 担当:平野,吉田,泉,松本.
三重対角化アルゴリズムの性能評価 早戸拓也・廣田悠輔.
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
4.3 連立1次方程式   Ax = b   (23) と書くことができる。
連立一次方程式 a11x1+a12x2+a13x3+...+a1nxn= b1
スペクトル法による数値計算の原理 -一次元線形・非線形移流問題の場合-
対角マトリックスを用いた3次元剛塑性有限要素法の並列計算 対角マトリックスを用いた剛塑性有限要素法
AllReduce アルゴリズムによる QR 分解の精度について
時空間データからのオブジェクトベース知識発見
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
IT入門B2 ー 連立一次方程式 ー.
PCクラスタ上での 連立一次方程式の解の精度保証
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
半正定値計画問題に対する 行列補完理論の高速実装
理学部情報科学科 金田研究室 指導教官 金田 康正 工藤 誠
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
応用数理工学特論 第5回 計算理工学専攻 張研究室 山本有作.
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
正方行列向け特異値分解の CUDAによる高速化
計算アルゴリズム 計算理工学専攻 張研究室 山本有作.
計算アルゴリズム 計算理工学専攻 張研究室 山本有作.
応用数学 計算理工学専攻 杉原研究室 山本有作.
応用数理工学特論 第6回 計算理工学専攻 張研究室 山本有作.
ひび割れ面の摩擦接触を考慮した損傷モデル
Level-3 BLASに基づく二重対角化 アルゴリズムとその性能評価
確率的学習アルゴリズムを用いた有限状態オートマトンの抽出に関する研究
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
制約条件付問題より生じる 線形方程式反復解法 の 理論的な諸問題について
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(NlogN)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似法
プログラミング演習I 行列計算と線形方程式の求解
LU分解を用いた連立一次方程式.
九州大学情報基盤研究開発センター長 青柳 睦
超弾性体解析で現れる剛性行列の性質とその解法に関して
確率的学習アルゴリズムを用いた有限状態オートマトンの抽出に関する研究
「R入門」  5.7 行列に対する諸機能  10月23日 (木) 発表者 大城亜里沙.
トーリックイデアルの グレブナ基底を求める アルゴリズム – F4およびF5 –
知能システム論I(13) 行列の演算と応用(Matrix) 2008.7.8.
導電性高分子材料の電子状態計算に現れる連立一次方程式に対する 並列直接解法の高性能化
変換されても変換されない頑固ベクトル どうしたら頑固になれるか 頑固なベクトルは何に使える?
パターン認識特論 担当:和田 俊和 部屋 A513 主成分分析
GPUを用いた疎行列の格納形式による行列ベクトル積の評価
FEM勉強会 (第3回).
背景 課題 目的 手法 作業 期待 成果 有限体積法による汎用CFDにおける 流体構造連成解析ソルバーの計算効率の検証
連立一次方程式 a11x1+a12x2+a13x3+...+a1nxn= b1
構造的類似性を持つ半構造化文書における頻度分析
対象:せん断補強筋があるRCはり(約75万要素)
原子核物理学 第7講 殻模型.
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(Nlog2N)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似
メモリ使用量の少ないGCR法の提案 東京大学理学部情報科学科 工藤 誠 東京大学情報基盤センター 黒田 久泰
半正定値計画問題(SDP)の 工学的応用について
密行列固有値解法の最近の発展 (I) - Multiple Relatively Robust Representation アルゴリズム - 2004年11月26日 名古屋大学 計算理工学専攻 山本有作 日立製作所の山本有作です。 「~」について発表いたします。
キャッシュマシン向け三重対角化 アルゴリズムの性能予測方式
目次 はじめに 収束性理論解析 数値実験 まとめ 特異値計算のための dqds 法 シフトによる収束の加速
* Ehime University, Japan
応用数学 計算理工学専攻 張研究室 山本有作.
2008年 7月17日 応用数理工学特論 期末発表 鈴木綾華,程飛
Presentation transcript:

Fill-in LevelつきIC分解による 前処理について 染原一仁 † 藤野清次 ‡ † 九州大学大学院システム情報科学府 ‡ 九州大学情報基盤センター

発表の手順 研究の背景、目的 前処理技法 数値実験 まとめ IC(tol)分解 :閾値によるドロッピング IC(p)分解 :fill-in levelによるドロッピング 数値実験 まとめ そしてその並列化について説明します. 今回はこのようなことに着目しました.

研究の背景、目的 大規模な連立一次方程式 Ax = b を前処理つき共役勾配(CG)法で高速に解きたい (行列Aは対称正定値行列)  ~背景~ 大規模な連立一次方程式 Ax = b を前処理つき共役勾配(CG)法で高速に解きたい (行列Aは対称正定値行列) CG法の収束性を高めるために前処理が併用して用いられることが多く,その種類は様々である  ~目的~ 棄却判定の異なる2つのIC分解(IC(tol)分解,IC(p)分解)によって得られる前処理行列を適用したICCG法の収束性評価を行う.

M-1Ax=M-1b 前処理(1) 連立一次方程式Ax=bに前処理行列M を以下のように作用させる 係数行列M-1Aが単位行列 I に近似される |λ(M-1A)| 固有値の重複,密集 反復法の収束性向上

前処理(2) 対角スケーリング(CG法に適用) IC分解(前処理つきCG法に適用) 前進(後退)代入 行列ベクトル積

A = LLT + R + RT (L-1AL-T) (LTx) = (L-1b) IC(不完全コレスキー)分解 係数行列が対称な場合に適用可能。 以下のように係数行列A を近似分解する。 A = LLT + R + RT 前処理行列M = LLT を作用させる。 (L-1AL-T) (LTx) = (L-1b) 下三角行列 棄却行列 計算時間小、使用メモリ量小⇒実用的。

IC(tol)分解 lij < tol lij = 0 閾値(tolerance)を用いたドロッピングによるIC分解 前処理行列の非零要素数が予測できない

IC(p)分解(1) levij > p lij = 0 Fill-in levelを用いたドロッピングによるIC分解 levij = min{levij, levik+levkj+1} levij = min{levij, max(levik,levkj)+1} (Y.Saad, Iterative methods for Sparse Linear Systems, 2003) 係数行列Aの非零要素パターンによりFill-inの深さを探索 IC(0)分解では前処理行列Lの非零要素数と係数行列Aの下三角部分は等しくなる

IC(p)分解(2) IC(1) 分解 IC(0) 分解 係数行列:A 行列:L

数値実験 計算機 :IBM eServer p5 モデル 595 CPU :IBM POWER5 (1CPU使用) クロック周波数 :1.9 GHz メモリ容量 :3 GB プロセッサ/メモリ 間帯域幅(ピーク時) :811.0GBps キャッシュサイズ :1.9MB コンパイラ :IBM XL Fortran version 9.1 オプション :-O3 -qarch=pwr5 -qtune=pwr5 -qhot

計算条件 計算は全て倍精度演算 プログラム言語はfortran90を使用 前処理つきCG法の収束判定は相対残差 ||rk+1||/||r0|| < 10-12 初期近似解 x0 はすべて 0 固有値計算は数値計算ライブラリLAPACKを使用 テスト行列はフロリダ大学,Matrix Marketのデータベース, http://www.cise.ufl.edu/research/sparse/matrices/index.html http://math.nist.gov/MatrixMarket/

実験に用いた解法 (反復法はすべてCG法) 前処理 DIAG 対角スケーリングのみ適用 SIC(tol) DIAG+シフトつきIC(tol)分解 SIC(p) DIAG+シフトつきIC(p)分解 IC分解途中に対角要素が負にならないようにシフトを適用 A+αIを分解(α:シフト量),今回は0.2に固定 条件数:cond=||A|| ||A-1|| = (最大固有値) / (最小固有値) 実対称正定値行列

テスト行列(1) 次元数:1万以下 行列 次元数 下三角部分の非零要素数 半帯幅 分野 bcsstk15 3,948 60,882 437 sts4098 4,098 38,227 3,323 nasa4704 4,704 54,730 423 bcsstk16 4,884 147,631 140 構造解析 Muu 7,102 88,618 4,696 Kuu 173,651 4,697 bcsstk38 8,032 181,746 6,029

行列bcsstk15 非零要素パターン 次元数 :3,948 非零要素数:60,882 半帯幅 :437

IC(tol)分解による 行列Lの非零要素パターン 非零要素数 = 15,125 tol = 0.005 非零要素数 = 53,518

IC(p)分解による 行列Lの非零要素パターン 非零要素数 = 60,882 p = 1 非零要素数 = 126,535

IC(p)分解による 行列Lの非零要素パターン 非零要素数 = 60,882 p = 2 非零要素数 = 191,225

行列bcsstk15 次元数:3,948 条件数:6.54×109 tol=0.1 p=0 p=1 p=2 tol=0.005

行列bcsstk15 (条件数:6.54×109) 解法 閾値/level Lの非零要素数 条件数 反復回数 DIAG - 8.21×104 665 0.1 15,125 8.55×103 217 SIC(tol) 0.05 21,525 4.71×103 174 0.01 41,149 4.04×103 161 0.005 53,518 3.93×103 159 60,882 5.77×103 187 SIC(p) 1 126,535 4.18×103 163 2 191,225 3.89×103 158

行列sts4098 次元数:4,098 条件数:2.17×108 tol=0.1 p=0 p=1 p=2 tol=0.005

行列sts4098 (条件数:2.17×108) 解法 閾値/level Lの非零要素数 条件数 反復回数 DIAG - 6.72×103 547 0.1 14,782 3.62×102 137 SIC(tol) 0.05 21,235 3.07×102 119 0.01 36,714 2.52×102 115 0.005 46,369 38,227 4.20×102 140 SIC(p) 1 389,651 2.65×102 117 2 1,051,689 2.53×102 114

テスト行列(2) 次元数:5万以上 行列 次元数 下三角部分の 非零要素数 半帯幅 分野 nasasrb 54,870 1,366,097 893 s3dkt3m2 90,449 1,921,955 614 構造解析 shipsec8 114,919 3,384,159 4,627 bmwcra_1 148,770 5,396,386 141,050 thremal2 1,228,045 4,904,179 1,226,000 熱解析 G3_circuit 1,585,478 4,623,152 947,128 回路問題

各前処理つきCG法の収束性 行列:nasasrb

IC(p)CG法の収束性 行列:nasasrb

行列nasasrb 次元数:54,870 解法 閾値/level 行列Lの 非零要素数 反復回数 計算時間 [sec] DIAG - 19,779 118.11 SIC(tol) 0.05 481,328 5,573 59.83 0.01 940,936 4,821 66.93 SIC(p) 1,366,097 4,360 75.88 1 2,192,348 3,852 108.88

各前処理つきCG法の収束性 行列:G3_circuit

各前処理つきCG法の収束性 行列:G3_circuit

行列G3_circuit 次元数:1,585,478 解法 閾値/level 行列Lの 非零要素数 反復回数 合計時間 [sec] DIAG - 3,299 328,54 SIC(tol) 0.01 6,741,212 1,022 253.61 0.005 7,554,105 1,013 262.54 SIC(p) 4,623,152 1,181 267.93 1 6,075,667 1,044 253.29 2 7,817,649 1,014 264.53

行列6ケース(合計時間) 行列 解法 閾値/level 反復回数 合計時間 nasasrb IC(tol) 0.05 5,573 59.83 s3dkt3m2 0.1 12,102 186.21 shipsec8 0.005 1,743 66.63 bmwcra_1 2,013 113.53 thermal2 0.01 2,067 506.03 G3_circuit IC(p) 1 1,044 253.29

まとめ 次元数5万以上の行列において6ケース中5ケースはIC(tol)分解によるICCG法の計算時間が最も短くなった. Fill-in levelによるIC(p)分解では許容するlevelを大きくすることにより,L-1AL-Tの条件数は1に近づき,ICCG法の収束性は向上する. しかし,行列Lの非零要素数が多くなり,収束までの計算時間は増加する.

固有値分布 bcsstk15

固有値分布 sts4098