1 / 17

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

メモリ使用量の少ない GCR 法の提案. 理学部情報科学科 金田研究室 指導教官 金田 康正 工藤 誠. 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.

siusan
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部分空間法の分類 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 GCR法の特徴 • 連立一次方程式の反復解法(Krylov部分空間法)の一つ [Eisenstat, 83] 広範囲の非対称問題が解ける 並列性が高い GMRESR法[Vorst,91]の一部として使われている

  3. GCR法の 問題点 • 計算量が大きい(O(k2N)の計算が3回) • メモリ使用量が大きい(GMRESの約2倍) 計算量大! メモリ使用量大!

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

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

  6. Originalの GCR法 各反復で解xを ループの外に 出した ^ ベクトルuは、過去の分まで覚えておく pの計算が 無くなった Efficient GCR Efficient GCR法

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

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

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

  10. 既存の手法の 約半分! メモリ使用量の比較 k = リスタート周期(数十~数百) n = 問題サイズ (数万~数百万)

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

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

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

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

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

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

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

More Related