三重対角化アルゴリズムの性能評価 早戸拓也・廣田悠輔.

Slides:



Advertisements
Similar presentations
Mathematica による固有値計算の高速化 Eigenvalue calculation speed by Mathematica 情報工学部 06A2055 平塚翔太.
Advertisements

1 高速フーリエ変換 (fast Fourier transform). 2 高速フーリエ変換とは? – 簡単に言うとフーリエ変換を効率よく計算 する方法 – アルゴリズムの設計技法は分割統治法に基 づいている 今回の目的は? – 多項式の積を求める問題を取り上げ、高速 フーリエ変換のアルゴリズムを用いた解法.
HBSP モデル上での 行列積を求めるアルゴリ ム 情報論理工学 吉岡健太.
大規模な三角 Toeplitz 線形方 程式の高速解法とその応用 ○ 安村 修一(法政大学 4 年) 李 磊(法政大学) 日本応用数理学会「行列・固有値の解法とその応用」研究部会 第6回研究会.
Level-3 BLASに基づく特異値分解 アルゴリズムのSMP上での性能
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
※ 対称密行列の固有値分解は特異値分解と共通点が多い
Intel AVX命令を用いた並列FFTの実現と評価
Fill-in LevelつきIC分解による 前処理について
A Q R QR分解とは? → × ◆QR分解 QTQ = I (単位行列) ◆応用例 ◆主な計算方法 n m 今回はこの方法に注目
全体ミーティング (4/25) 村田雅之.
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
AllReduce アルゴリズムによる QR 分解の精度について
高次精度化&特性変数変換 柴山拓也 (名大、STEL) 2015年8月7日.
全体ミーティング (6/13) 村田雅之.
2. 共有メモリ型並列計算機での特異値分解の高速化
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
各種PC クラスタの性能評価 同志社大学 工学部 廣安 知之 三木 光範 谷村 勇輔.
ファイルシステムキャッシュを 考慮した仮想マシン監視機構
PCクラスタ上での 連立一次方程式の解の精度保証
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
理学部情報科学科 金田研究室 指導教官 金田 康正 工藤 誠
ネットワーク性能に合わせた 分散遺伝的アルゴリズムにおける 最適な移住についての検討
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
応用数理工学特論 第5回 計算理工学専攻 張研究室 山本有作.
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
変更文の移動を可能にした 静的単一代入形式上の部分冗長性除去
正方行列向け特異値分解の CUDAによる高速化
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
文献名 “Performance Tuning of a CFD Code on the Earth Simulator”
進捗 Javaバイトコード変換による 細粒度CPU資源管理
Mathematicaによる固有値計算の高速化 Eigenvalue calculation speed by Mathematica
非対称行列向けマルチシフトQR法の 性能予測方式
応用数理工学特論 第6回 計算理工学専攻 張研究室 山本有作.
高速剰余算アルゴリズムとそのハードウェア実装についての研究
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)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似法
Mathematicaによる固有値計算の高速化 ~ Eigenvalue calculation speed by Mathematica ~ 情報工学科 06A2055 平塚 翔太.
巡回冗長検査CRC32の ハード/ソフト最適分割の検討
「R入門」  5.7 行列に対する諸機能  10月23日 (木) 発表者 大城亜里沙.
トーリックイデアルの グレブナ基底を求める アルゴリズム – F4およびF5 –
非対称リンクにおける ジャンボフレームの性能評価
変換されても変換されない頑固ベクトル どうしたら頑固になれるか 頑固なベクトルは何に使える?
航空エンジンの翼列周り流れ解析のメニーコアシステム向け最適化
バイトコードを単位とするJavaスライスシステムの試作
パターン認識特論 担当:和田 俊和 部屋 A513 主成分分析
GPUを用いた疎行列の格納形式による行列ベクトル積の評価
目的:高速QR分解ルーチンのGPUクラスタ実装
4. システムの安定性.
わかりやすいパターン認識 第7章:部分空間法  7.1 部分空間法の基本  7.2 CLAFIC法                  6月13日(金)                  大城 亜里沙.
クロスバリデーションを用いた ベイズ基準によるHMM音声合成
全体ミーティング (5/23) 村田雅之.
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(Nlog2N)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似
メモリ使用量の少ないGCR法の提案 東京大学理学部情報科学科 工藤 誠 東京大学情報基盤センター 黒田 久泰
1ーQー18 音声特徴量抽出のための音素部分空間統合法の検討
行列 一次変換,とくに直交変換.
密行列固有値解法の最近の発展 (I) - Multiple Relatively Robust Representation アルゴリズム - 2004年11月26日 名古屋大学 計算理工学専攻 山本有作 日立製作所の山本有作です。 「~」について発表いたします。
Mathematicaによる固有値計算の高速化 Eigenvalue calculation speed by Mathematica
キャッシュマシン向け三重対角化 アルゴリズムの性能予測方式
長方行列向け特異値分解の 浮動小数点コプロセッサによる 高速化
密行列固有値解法の最近の発展(II) ー マルチシフトQR法 ー
目次 はじめに 収束性理論解析 数値実験 まとめ 特異値計算のための dqds 法 シフトによる収束の加速
応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング
分散メモリ型並列計算機上での行列演算の並列化
2008年 7月17日 応用数理工学特論 期末発表 鈴木綾華,程飛
Presentation transcript:

三重対角化アルゴリズムの性能評価 早戸拓也・廣田悠輔

はじめに a b T A=AT Aの固有値 Aの固有ベクトル Hi [Hn-2…H1]A[Hn-2…H1]T=T ハウスホルダー変換 A=AT n T Aの固有値 逆変換 三重対角化 Aの固有ベクトル ハウスホルダー変換を使用した相似変換 a = b i Hi [Hn-2…H1]A[Hn-2…H1]T=T はじめに本発表ではA=ATとなるような行列の固有ベクトルを求める計算時間の高速化を目的としています。 その過程で行列Aをハウスホルダー変換によって三重対角化行列Tに変換することが必要となり ます。 この部分のことを三重対角化といいます。 この部分の計算量がかなり多いことから高速化の手法として、どんがらやビショップがのていあんアルゴリズムが提案されています。 ただ、三重対角化を高速化すると,この逆変換の部分が低速になってしまうことがあり,Aの固有ベクトルの計算時間が必ずしも高速化されるといえません。 ハウスホルダー変換はベクトルaをこのようなベクトルbにするような行列Hをもちいて三重対角化行列Tに変換することをいいます。 今回Aの固有ベクトルを求めたいので,Tの固有ベクトルにこのような行列をほどこす逆変換によってAの固有ベクトルをもとめることができます。 逆変換 A[Hn-2…H1]Tui=λi[Hn-2…H1]Tui Tui=λiui

Dongarra 依然としてBLAS2の計算が必要 原理 BLAS3 BLAS2 保存するベクトル数が大切 複数本のピボット行・列を溜めておき,後でまとめて更新 BLAS3 = – × – × BLAS2 保存するベクトル数が大切 依然としてBLAS2の計算が必要

Bischof A 逆変換の演算量が倍増 B T 帯幅の設定が大切 原理 BLAS3 密行列Aを半帯幅LBの帯行列Bに変換 帯行列化 村田法 LB A B T BLAS3 村田法の逆変換 村田法 三重対角化 逆変換 固有値計算 帯行列化の逆変換 逆変換の演算量が倍増

Bischof-帯行列化について 左からH を乗算 右からHT を乗算 左から直行行列H を乗算 ハウスホルダー変換では

Bischof + Dongarra(Wuのアルゴリズム) 原理 帯行列の生成にする際,ブロックピボット行・列を保存しておき,   後でまとめて更新 = – × 帯幅と保存するブロック列数が大切

実験に使用する解法のパラメーター A[Hn-2…H1]Tui=λi[Hn-2…H1]Tui 帯行列化の逆変換 LB MB A[Hn-2…H1]Tui=λi[Hn-2…H1]Tui Bui=λiui […HMB2+MB2…HMB2+1HMB2…H1]Tui MB2 解法 LB MB MB2 LAPACK Dongarra † Wu + Bischof 20 40 100 1 2 4 †:ユーザー設定不可

実験環境 計算機環境 テスト行列 アルゴリズム Xeon X5355 2.66 [GHz] (Quad-core × 2) 2コアごとに L2 キャッシュ 4MB Red Hat Enterprise WS release 4 Intel Fortran Compiler 9 Intel Math Kernel Library テスト行列 対称乱数行列 n = 3000,6000 アルゴリズム LAPACK Wu それでは行なった評価実験について説明を行ないます. スライドの8コアXeonを使用して, LAPACK およびWuの三重対角化アルゴリズムを評価を行ないました. テスト問題としてn=3000,6000の対称乱数行列を使用しました. LB, MB, MB2 の説明は必要か

それぞれの最適値となるLB, MB,MB2で評価 PU数が大きい場合にLAPACKより高速 まず,プロセッサ数に対する,固有ベクトルの演算時間はこのようになりました. プロセッサ数に対する高速化率は Wu のアルゴリズムが LACACK よりも高くなり, N = 6000 ではプロセッサ数が大きい場合にWuのアルゴリズムはLAPACKより高速となりました. それぞれの最適値となるLB, MB,MB2で評価 PU数が大きい場合にLAPACKより高速

それぞれの最適値となる LB, MB,MB2 で評価 Wu のアルゴリズムの実行時間の内訳 Wu のアルゴリズムの実行時間の内訳はこのようになりました. いずれの場合でも,村田法の逆変換が5割以上を占めるという結果になりました. 特にプロセッサ数が多い場合,村田法の逆変換の占める割合が高いという結果になっています. それぞれの最適値となる LB, MB,MB2 で評価 村田法の逆変換が大半を占める

各LB(帯幅)での総演算時間 LBを大きく取ると高速 MB = 2,MB2 = 2 で評価 各LBでの総演算時間はこのようになりました.

各MBでのブロック帯行列化の演算時間 LB=100で評価 MBによって演算時間は大きく変化しない PU 数に応じて実行時間が減少 N = 3000, 6000 のいずれの場合でも,MBの変化によって殆ど変化しませんでした. また,いずれのMBの値でも,プロセッサ数の増加によって実行時間は順調に減少しました. MB = 2 LB=100 ではMBによって大きく変化しない.もともと全体に占める割合は10%程度 LB=100で評価 MBによって演算時間は大きく変化しない PU 数に応じて実行時間が減少

各MB2での帯化の逆変換の演算時間 LB=100で評価 PU 数に応じて実行時間が減少 PU 数が大のときMB2が大で高速 LB=100で圧倒的に高速 MB1=2 ブロック帯行列からの逆変換.全体の15%前後をしめていた LB=100で評価 PU 数に応じて実行時間が減少 PU 数が大のときMB2が大で高速

まとめ Wuのアルゴリズムを8コアXeonマシンで評価した. 行列サイズが大きい場合,PU数が多い場合,適切なパラメ ータを設定することによりLAPACKより高速となった. Xeonマシンでは帯幅LBを大きくとると高速となった. MB2に適切な値を設定することにより,ブロック帯行列の逆 変換が高速となった. MBを変化させても殆ど演算時間は変化しなかった. 大半を占める村田法の逆変換が高速化 ブロック帯行列化で保存するベクトル数MB

(補足)演算量について 演算量 ハウスホルダーの演算量: 固有値を求めるための演算量: 逆変換: 行列ベクトル積の演算量: rank-2更新の演算量: 固有値を求めるための演算量: 分割統治法 QR法 逆変換: 約 (4/3)n3 約 (2/3)n3 約 (2/3)n3 O(n2)~ O(n3) 約 2n2 m