1 / 21

メモリ使用量の少ない GCR 法の提案

メモリ使用量の少ない GCR 法の提案. 東京大学理学部情報科学科 工藤 誠 東京大学情報基盤センター 黒田 久泰 東京大学大学院理学系研究科情報科学専攻 片桐 孝洋 東京大学情報基盤センター 金田 康正. 反復解法、特に Krylov 部分空間法がポピュラー. Krylov 部分空間法の分類. Approach. The Ritz-Galerkin approach. The minimum residual approach. The petrov-Galerkin approach. The minimum error approach.

rufin
Télécharger la présentation

メモリ使用量の少ない GCR 法の提案

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

  6. 提案する2つのアルゴリズム • Memory efficient GCR(meGCR)法 • 計算量はeGCR法とほぼ同じ • メモリ使用量はeGCR法の約半分まで減る可能性がある • Unrolled GCR(uGCR)法 • 計算量、メモリ使用量とも、eGCR法より少ない

  7. Originalの GCR法 Efficient GCR法

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

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

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

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

  12. (k X nの) 密行列-密行列積 サイズk の 密行列-ベクトル積 サイズnの 密行列-ベクトル積 計算量の比較 1リスタート周期の計算量 注 *は、問題や前処理の 方法によって変わってくる k = リスタート周期(数十~数百) n = 問題サイズ (数万~数百万)

  13. 既存の手法の 約半分! メモリ使用量の比較1(係数行列、解ベクトル以外) k = リスタート周期(数十~数百) n = 問題サイズ (数万~数百万)

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

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

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

  17. meGCR法の実験結果(逐次) 実行時間(秒) リスタート周期32

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

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

  20. uGCR法の実験結果 リスタート周期 8

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

More Related