メモリ使用量の少ない
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

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


  • 138 Views
  • Uploaded on
  • Presentation posted in: General

メモリ使用量の少ない 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.

Download Presentation

メモリ使用量の少ない 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Gcr

メモリ使用量の少ない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

GCR法の特徴

  • 連立一次方程式の反復解法(Krylov部分空間法)の一つ [Eisenstat, 83]

広範囲の非対称問題が解ける

並列性が高い

GMRESR法[Vorst,91]の一部として使われている


Gcr

GCR法の 問題点

  • 計算量が大きい(O(k2N)の計算が3回)

  • メモリ使用量が大きい(GMRESの約2倍)

計算量大!

メモリ使用量大!


Gcr

過去の研究

  • 計算量を減らすefficient GCR(eGCR)法が考案された[Yang,95]

しかし、依然としてメモリ使用量が大きい

という問題は解決されていない!!


Gcr

提案する2つのアルゴリズム

  • Memory efficient GCR(meGCR)法

    • 計算量はeGCR法とほぼ同じ

    • メモリ使用量はeGCR法の約半分!

  • Unrolled GCR(uGCR)法

    • 計算量、メモリ使用量とも、eGCR法より少ない


Efficient gcr

Originalの

GCR法

各反復で解xを

ループの外に

出した

^

ベクトルuは、過去の分まで覚えておく

pの計算が

無くなった

Efficient GCR

Efficient GCR法


Memory efficient gcr

メモリ使用量は既存のアルゴリズムの約半分!

Memory efficient GCR法

覚えておくベクトルはApのみでよい

計算量はeGCR法と同程度

ベクトルuを使用しない

^


Unrolled gcr

  • ループの前で、Air0を計算しておく

  • ループ内の計算で必要な(Air0, Ajr0)も

  • 計算しておく

Unrolled GCR法

ループ内で使われている値は、

すべてAir0を使って表すことができる

Air0はdominantな固有ベクトルの

方向を向いてくるので、

精度の低下が予想される

密行列積(BLAS3)の演算となり、

効率的

ループ内はスカラー計算のみとなる

メモリ使用量は

meGCRと同じ


Gcr

計算量の比較

1リスタート周期の計算量

注 *は、問題や前処理の

方法によって変わってくる

k = リスタート周期(数十~数百)

n = 問題サイズ (数万~数百万)


Gcr

既存の手法の

約半分!

メモリ使用量の比較

k = リスタート周期(数十~数百)

n = 問題サイズ (数万~数百万)


Gcr

実験環境

  • 計算機: HITACHI SR2201

    (東京大学情報基盤センター)

    • CPU: 300MFlops × 1024PE

    • Main memory: 256MB/PE

    • Communication: 300MB/s

  • 通信ライブラリ:MPI(Message Passing Interface)


Problems

Problems

  • Problem 1

    • Toeplitz行列

  • Problem 2

    • 楕円型偏微分方程式の境界値問題(2次元)

  • Problem3

    • 楕円型偏微分方程式の境界値問題(3次元)


Megcr

meGCR法の実験結果(逐次)

実行時間(秒) リスタート周期32


Megcr1

meGCR法の実験結果(並列、前処理なし)

Problem 1 ( n=4,000,000 )

Problem 2 ( n=160,000 )

Problem 3 ( n=512,000 )

リスタート周期はすべて32


Megcr b ilu 0

meGCR法の実験結果(並列、B-ILU(0)前処理)

Problem 1 ( n=4,000,000 )

Problem 2 ( n=160,000 )

Problem 3 ( n=512,000 )

リスタート周期はすべて32


Gcr

uGCR法の実験結果

リスタート周期 8


Gcr

まとめと考察

  • より大きな問題が解ける

  • リスタート周期を大きく

    取れるので、収束の悪い

    問題が解ける

  • GCR法の2つのアルゴリズムを提案した

    • Memory efficient GCR法

      • 計算量は、既存の方法とほぼ同じ

      • メモリ使用量は、既存の方法の約半分

    • Unrolled GCR法

      • 計算量、メモリ使用量とも既存の方法より少ない

収束性に問題がなく、実用的!

精度の問題があるので、今後の研究が必要


  • Login