メモリ使用量の少ないGCR法の提案 東京大学理学部情報科学科 工藤 誠 東京大学情報基盤センター 黒田 久泰

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回研究会.
1 線形代数学. 2 履修にあたって 電子情報システム学科 必修 2005 年度1セメスタ開講 担当 草苅良至 (電子情報システム学科) 教官室: G I 511 内線: 2095 質問等は上記のいずれかに行なうこと。 注意計算用のノートを準備すること。
陰関数定理と比較静学 モデルの連立方程式体系で表されるとき パラメータが変化したとき 如何に変数が変化するか 至るところに出てくる.
Determining Optical Flow. はじめに オプティカルフローとは画像内の明る さのパターンの動きの見かけの速さの 分布 オプティカルフローは物体の動きの よって変化するため、オプティカルフ ローより速度に関する情報を得ること ができる.
MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
到着時刻と燃料消費量を同時に最適化する船速・航路計画
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
Fill-in LevelつきIC分解による 前処理について
一般化Bi-CGSTAB(s, L) (=一般化IDR(s, L))
A Q R QR分解とは? → × ◆QR分解 QTQ = I (単位行列) ◆応用例 ◆主な計算方法 n m 今回はこの方法に注目
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
ラベル付き区間グラフを列挙するBDDとその応用
Problem J Tile Puzzle 原案:野田 担当:平野,吉田,泉,松本.
三重対角化アルゴリズムの性能評価 早戸拓也・廣田悠輔.
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
4.3 連立1次方程式   Ax = b   (23) と書くことができる。
整数計画法を用いた スリザーリンクの解法 杉村 由花 (東京大学)
Extremal Combinatorics 14.1 ~ 14.2
対角マトリックスを用いた3次元剛塑性有限要素法の並列計算 対角マトリックスを用いた剛塑性有限要素法
AllReduce アルゴリズムによる QR 分解の精度について
時空間データからのオブジェクトベース知識発見
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
整数計画法を用いた ペグソリティアの解法 ver. 2.1
IT入門B2 ー 連立一次方程式 ー.
周期境界条件下に配置されたブラックホールの変形
PCクラスタ上での 連立一次方程式の解の精度保証
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
理学部情報科学科 金田研究室 指導教官 金田 康正 工藤 誠
応用数理工学特論 第5回 計算理工学専攻 張研究室 山本有作.
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
計算アルゴリズム 計算理工学専攻 張研究室 山本有作.
計算アルゴリズム 計算理工学専攻 張研究室 山本有作.
文献名 “Performance Tuning of a CFD Code on the Earth Simulator”
応用数学 計算理工学専攻 杉原研究室 山本有作.
ひび割れ面の摩擦接触を考慮した損傷モデル
Level-3 BLASに基づく二重対角化 アルゴリズムとその性能評価
スペクトル法の一部の基礎の初歩への はじめの一歩
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
制約条件付問題より生じる 線形方程式反復解法 の 理論的な諸問題について
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(NlogN)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似法
LU分解を用いた連立一次方程式.
「R入門」  5.7 行列に対する諸機能  10月23日 (木) 発表者 大城亜里沙.
逐次伝達法による 散乱波の解析 G05MM050 本多哲也.
Poisson Image Editing SIGGRAPH 2003
主成分分析 Principal Component Analysis PCA
導電性高分子材料の電子状態計算に現れる連立一次方程式に対する 並列直接解法の高性能化
【第六講義】 局所分岐.
変換されても変換されない頑固ベクトル どうしたら頑固になれるか 頑固なベクトルは何に使える?
パターン認識特論 担当:和田 俊和 部屋 A513 主成分分析
GPUを用いた疎行列の格納形式による行列ベクトル積の評価
目的:高速QR分解ルーチンのGPUクラスタ実装
知識科学研究科 知識システム構築論講座 林研究室 佛明 智
進化ゲームと微分方程式 第15章 n種の群集の安定性
4. システムの安定性.
わかりやすいパターン認識 第7章:部分空間法  7.1 部分空間法の基本  7.2 CLAFIC法                  6月13日(金)                  大城 亜里沙.
Conventional and characteristic-curve FE schemes for convection-diffusion problems HN ナヴィエ・ストークス方程式のための特性曲線有限要素スキームという題で九州大学の野津が発表します. Nov. 8, 2009.
Poisson Image Editing SIGGRAPH 2003
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(Nlog2N)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似
半正定値計画問題(SDP)の 工学的応用について
11.動的計画法と擬多項式時間アルゴリズム.
密行列固有値解法の最近の発展 (I) - Multiple Relatively Robust Representation アルゴリズム - 2004年11月26日 名古屋大学 計算理工学専攻 山本有作 日立製作所の山本有作です。 「~」について発表いたします。
目次 はじめに 収束性理論解析 数値実験 まとめ 特異値計算のための dqds 法 シフトによる収束の加速
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
分散メモリ型並列計算機上での行列演算の並列化
応用数学 計算理工学専攻 張研究室 山本有作.
2008年 7月17日 応用数理工学特論 期末発表 鈴木綾華,程飛
Presentation transcript:

メモリ使用量の少ないGCR法の提案 東京大学理学部情報科学科 工藤 誠 東京大学情報基盤センター 黒田 久泰 東京大学理学部情報科学科 工藤 誠 東京大学情報基盤センター 黒田 久泰 東京大学大学院理学系研究科情報科学専攻 片桐 孝洋 東京大学情報基盤センター 金田 康正

連立一次方程式の解法 大規模疎行列を係数行列に持つ連立一次方程式 反復解法、特にKrylov部分空間法がポピュラー SYMMLQ GMERR Bi-CG QMR CGS Bi-CGSTAB GMRES MINRES GCR CG Method The minimum error approach petrov-Galerkin approach The minimum residual approach Ritz-Galerkin approach Approach Krylov部分空間法の分類

GCR法の特徴 GCR法の利点 広範囲の非対称問題が解ける 逐次成分がなく、並列性が高い CG法の非対称問題への拡張として開発された[Eisenstat, 83] Arnoldi原理に基づき、各反復で残差を最小にする (GMRES法と数学的に同値な残差) GCR法の利点 広範囲の非対称問題が解ける 逐次成分がなく、並列性が高い GMRESR法[Vorst,91]の一部として使われている

GCR法の 問題点 計算量大! メモリ使用量大! 計算量が大きい(O(k 2N)の計算が3回) メモリ使用量が大きい(GMRESの約2倍) 連立一次方程式 を解くGCR(k)法のアルゴリズム 計算量大! メモリ使用量大!

過去の研究 計算量を減らすefficient GCR(eGCR)法が考案された[Yang,95] しかし、依然としてメモリ使用量が大きい という問題は解決されていない!!

提案する2つのアルゴリズム Memory efficient GCR(meGCR)法 Unrolled GCR(uGCR)法

Efficient GCR法 Originalの GCR法

Efficient GCR法 各反復で解xを ループの外に 出した 方向ベクトルpはここにしか表れない また、pをApを使って表すことができる

さらに、uもApを使って表すことができる Efficient GCR法 Efficient GCR pの計算が 無くなった ベクトルuは、過去の分まで覚えておく ^ さらに、uもApを使って表すことができる ^

メモリ使用量は既存のアルゴリズムの約半分! Memory efficient GCR法 覚えておくベクトルはApのみでよい 係数行列、解ベクトル以外の メモリ使用量は既存のアルゴリズムの約半分! 計算量はeGCR法と同程度 ベクトルuを使用しない ^

Air0はdominantな固有ベクトルの Unrolled GCR法 ループ内で使われている値は、 すべてAir0を使って表すことができる ループの前で、Air0を計算しておく ループ内の計算で必要な(Air0, Ajr0)も 計算しておく Air0はdominantな固有ベクトルの 方向を向いてくるので、 精度の低下が予想される 密行列積(BLAS3)の演算となり、 効率的 ループ内はスカラー計算のみとなる メモリ使用量は meGCRと同じ

計算量の比較 * 1リスタート周期の計算量 dmv dp smv prec bin kmv 2kn 2n 3(k-1) 2k 2k-1 k 密行列-ベクトル積 (k X nの) 密行列-密行列積 サイズnの 密行列-ベクトル積 1リスタート周期の計算量 計算要素 dmv dp daxpy smv prec bin kmv Dmm 計算量 2kn 2n * GCR 3(k-1) 2k 2k-1 k eGCR 1 meGCR k+1 2 uGCR 4k 注 *は、問題や前処理の 方法によって変わってくる k = リスタート周期(数十~数百) n = 問題サイズ (数万~数百万)

メモリ使用量の比較1 (係数行列、解ベクトル以外) Vector of length n Buffer of size k 2 GCR 2k+3 eGCR 2 meGCR k+3 uGCR k+2 5 既存の手法の 約半分! k = リスタート周期(数十~数百) n = 問題サイズ (数万~数百万)

メモリ使用量の比較2 (係数行列、解ベクトルを含んだ全体のメモリ使用量) method 全体のメモリ使用量 GCR eGCR meGCR uGCR k = リスタート周期(数十~数百) n = 問題サイズ (数万~数百万) z = 係数行列の一行の最大非零要素

実験環境 計算機: HITACHI SR2201 通信ライブラリ:MPI (Message Passing Interface) (東京大学情報基盤センター) CPU: 300MFlops × 1024PE Main memory: 256MB/PE Communication: 300MB/s 通信ライブラリ:MPI (Message Passing Interface)

Problems Problem 1 Problem 2 Problem3 Toeplitz行列 楕円型偏微分方程式の境界値問題(2次元) 楕円型偏微分方程式の境界値問題(3次元)

meGCR法の実験結果(逐次) 実行時間(秒) リスタート周期32 問題 Problem 1 Problem 2 Problem 3 サイズ 実行時間(秒) リスタート周期32 問題 Problem 1 Problem 2 Problem 3 サイズ 400,000 160,000 64,000 前処理無し GCR 22.8 4860 37.8 eGCR 18.3 3440 27.7 meGCR 17.9 3450 28.7 前処理有り (B-ILU(0)) 21.2 938 21.9 19.8 812 19.9 20.1 825

meGCR法の実験結果(並列、前処理なし) Problem 1 ( n=4,000,000 ) Problem 2 ( n=160,000 ) Problem 3 ( n=512,000 ) リスタート周期はすべて32

meGCR法の実験結果(並列、B-ILU(0)前処理) Problem 1 ( n=4,000,000 ) Problem 2 ( n=160,000 ) Problem 3 ( n=512,000 ) リスタート周期はすべて32

uGCR法の実験結果 リスタート周期 8 前処理無し B-ILU(0)前処理 Iteration Time Problem 1 GCR 46 リスタート周期 8 前処理無し B-ILU(0)前処理 Iteration Time Problem 1 (n=400,000) GCR 46 18.5 17 20.3 eGCR 15.4 18.2 meGCR 19.5 uGCR 55 13.5 25 26.7 Problem 3 (n=64,000) 1096 64.8 150 30.6 53.6 29.6 55.7 31.7 1053 43.0 30.1

まとめと考察 GCR法の2つのアルゴリズムを提案した Memory efficient GCR法 Unrolled GCR法 より大きな問題が解ける リスタート周期を大きく 取れるので、収束の悪い 問題が解ける GCR法の2つのアルゴリズムを提案した Memory efficient GCR法 計算量は、既存の方法とほぼ同じ メモリ使用量は、最高で既存の方法の約半分まで減らすことが可能 Unrolled GCR法 計算量、メモリ使用量とも既存の方法より少ない 収束性に問題がなく、実用的! 精度の問題があるので、今後の研究が必要