Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Akira Imakura

1,385 views

Published on

Akira Imakura

Published in: Science
  • Be the first to comment

  • Be the first to like this

Akira Imakura

  1. 1. / 56 周回積分型固有値解法と その並列ソフトウェア 今倉 暁 筑波大学 システム情報系 2014/11/24数理人セミナー@早稲田大学 1
  2. 2. / 56 大もくじ CRESTプロジェクトの紹介 研究領域・課題 領域:「ポストペタスケール高性能計算に資するシ ステムソフトウェア技術の創出」 課題:「ポストペタスケールに対応した階層モデル のよる超並列固有値解析エンジンの開発」 (研究代表者:櫻井鉄也) 主な成果物 固有値解析エンジン:z-Pares、EigenExa 周回積分型固有値解法とその並列ソフトウェア 周回積分型固有値解法の概略 並列ソフトウェア 2014/11/24数理人セミナー@早稲田大学 2
  3. 3. / 56 はじめに:研究背景 ポストペタスケールで想定される計算機構成  階層構造  計算ノード/コア  メモリーストレージ  ネットワーク  各種アクセラレータ  GPU  MIC(Many Integrated Core) 2014/11/24数理人セミナー@早稲田大学 3 ハードウェアの階層性 階層的なアーキテクチャで性能を発揮するためには、 アルゴリズムに対しても高い階層性を持つことが望まれるRemark
  4. 4. / 56 はじめに:プロジェクトの概要 研究プロジェクト:CREST 研究領域「ポストペタスケール高性能計算に資するシステムソフ トウェア技術の創出」 研究課題「ポストペタスケールに対応した階層モデルのよる超並 列固有値解析エンジンの開発」(研究代表者:櫻井鉄也) プロジェクトの目的 大規模並列のハードウェア性能を十分に引き出すことの できる次世代型並列アルゴリズムとソフトウェアの開発 疎行列向け並列固有値解析エンジン:z-Pares 密行列向け並列固有値解析エンジン:EigenExa 高性能化基盤技術 高度利用技術 2014/11/24数理人セミナー@早稲田大学 4
  5. 5. / 56 はじめに:プロジェクトの概要 プロジェクトの意義 2014/11/24数理人セミナー@早稲田大学 5 超並列固有値解析エンジン z-Pares, EigenExa 疎行列向け・密行列向け固有値解析エンジンを提供することで、 各種のアプリケーションの高速化を支える
  6. 6. / 56 小もくじ はじめに プロジェクトの進捗および構成 疎行列向け固有値解析エンジンz-Paresの概要 密行列向け固有値解析エンジンEigenExaの概要 2014/11/24数理人セミナー@早稲田大学 6
  7. 7. / 56 プロジェクトの進捗および構成 プロジェクトの進捗状況 2014/11/24数理人セミナー@早稲田大学 7 H24年度、H25年度 固有値解析ソフトウェアの公開 H26年度 「京」での性能評価 と高性能化 H27年度 実アプリケーションに特化した 高性能アダプタの開発 H28年度以降 高性能固有値解析 インフラの開発  疎行列・部分固有対:z-Pares  密行列・全固有対:EigenExa  「京」での性能評価  大規模並列時のボトルネック改善  アプリケーションからの典型的ニー ズに対する高性能化技術の開発  開発ソフトウェアz-Pares、EigenExaの更なる高性 能化  階層性の深化と演算の高密度化  通信回避  高信頼性  戦略分野に特化した高性能アダプタの開発・整備 → 次年度以降の高性能固有値解析インフラの 整備につなげる  開発した高性能固有値解析ソフトウェアを基盤とした高 性能固有値解析インフラを整備し、各種アプリケー ションを基盤として支える 高性能インフラ の実現
  8. 8. / 56 プロジェクトの進捗および構成 プロジェクトのグループ構成 2014/11/24数理人セミナー@早稲田大学 8 疎行列向け固有値解析 エンジングループ -- 櫻井グループ >> 疎行列向け固有値解 法の開発 >> z-Paresの開発 -- 張グループ >> 疎行列向け固有値解 法およびその基盤技 術の開発 密行列向け固有値解析 エンジングループ -- 今村グループ >> 密行列向け固有値解 法の開発 >> EigenExaの開発 -- 山本グループ >> 密行列向け固有値解 法およびその基盤技 術の開発 アプリケーショングループ -- 藏増グループ >> 基礎科学分野における固有値解析エンジンの高度利用技術の開発 -- 星グループ >> 物質科学分野における固有値解析エンジンの高度利用技術の開発
  9. 9. / 56 プロジェクトの進捗および構成 プロジェクトの主なグループメンバー 疎行列グループ 櫻井グループ – 櫻井鉄也、多田野寛人、今倉暁、二村保徳(筑波 大)、池上努(産総研)、中務佑治(東大) 張グループ – 張紹良(名大)、曽我部知広(愛知県立大)、 宮田考史(名大) 密行列グループ 今村グループ – 今村俊幸、深谷猛、廣田悠輔(理研 AICS) 山本グループ – 山本有作(電気通信大) 2014/11/24数理人セミナー@早稲田大学 9
  10. 10. / 56 プロジェクトの進捗および構成 プロジェクトの主なグループメンバー アプリケーショングループ 星グループ – 星健夫、井町宏人(鳥取大) 藏増グループ – 藏増嘉伸(筑波大、理研 AICS)、石川健一 (広島大)、中村宜文(理研 AICS) 2014/11/24数理人セミナー@早稲田大学 10
  11. 11. / 56 z-Paresの概要 疎行列向け固有値解析エンジン:z-Pares 対象とする問題設定 標準/一般化固有値問題、実/複素、対称/非対称 部分固有対(数個~10%程度) 内部固有値問題(任意領域) 基本アルゴリズム 周回積分型固有値解法: – Block SS-RR法、Block SS-Hankel法 – (一部)パラメータ自動設定付き 2014/11/24数理人セミナー@早稲田大学 11
  12. 12. / 56 z-Paresの概要 疎行列向け固有値解析エンジン:z-Pares 並列化構造:3段階の階層性 積分領域、数値積分、線形方程式 2014/11/24数理人セミナー@早稲田大学 12 Top layer Middle layer Bottom layer 周回積分型固有値解法の階層性 ハードウェアの階層性 アルゴリズムの階層性に併せて計算リソースを割り当てる → ノード間通信性能を改善 周回積分に基づき 指定領域内部の固有対を抽出 各積分点での計算は 独立した線形方程式の求解
  13. 13. / 56 z-Paresの概要 疎行列向け固有値解析エンジン:z-Pares z-Pares開発・リリース状況 2013.12 :ver. 0.9.3 リリース 2014.7 :ver. 0.9.5 リリース 2014.9 :ver. 0.9.6 リリース 主たる成果 企業の振動解析における大規模問題を高速化 今後の展開 電子構造計算の各種アプリで性能を発揮する計算 カーネルの開発と性能評価 – RSDFT – CONQUEST – ETH-CSCSの電子構造計算コード 2014/11/24数理人セミナー@早稲田大学 13
  14. 14. / 56 EigenExaの概要 密行列向け固有値解析エンジン:EigenExa 対象とする問題設定 標準固有値問題、実、対称 全固有対を計算 基本アルゴリズム 3重対角行列を経由しない新1stepアルゴリズム – Householder法による帯行列化 – 帯行列向け分割統治法 2014/11/24数理人セミナー@早稲田大学 14
  15. 15. / 56 EigenExaの概要 密行列向け固有値解析エンジン:EigenExa アルゴリズムの概要 2014/11/24数理人セミナー@早稲田大学 15 A B T real symmetric banded eigenpairs of B eigenpairs of A tridiagonal eigenpairs of T 高性能実装が困難 メモリバンド幅律速 1-step scheme (ScaLAPACK) 2-step scheme (ELPA, DPLASMA) new 1-step scheme (EigenExa)
  16. 16. / 56 EigenExaの概要 密行列向け固有値解析エンジン:EigenExa EigenExa開発・リリース状況 2013.8 :ver. 1.0 リリース 2013.12 :ver. 2.0 リリース ※三重対角化版(eigen_s)を提供 主たる成果 京のフルノードを用いた100万次元の実対称密行列の 固有値計算(全固有対計算を1時間弱で実現) データ同化(理研の三好Tとの共同研究)での利用 今後の展開 計算式の変形による通信回避技術の導入 京以外のシステムでの性能評価 (JulichのBlueGene/Q) 2014/11/24数理人セミナー@早稲田大学 16
  17. 17. / 56 大もくじ CRESTプロジェクトの紹介 研究領域「ポストペタスケール高性能計算に資するシス テムソフトウェア技術の創出」 研究課題「ポストペタスケールに対応した階層モデルの よる超並列固有値解析エンジンの開発」 (研究代表者:櫻井鉄也) 周回積分型固有値解法とその並列ソフトウェア 周回積分型固有値解法の概略 並列ソフトウェア 2014/11/24数理人セミナー@早稲田大学 17
  18. 18. / 56 はじめに 対象とする問題 (特定領域の固有値を求める)一般化固有値問題: 2014/11/24数理人セミナー@早稲田大学 Re Im 18 Ω内部の固有値数を とする 固有対 を求めたい
  19. 19. / 56 はじめに 対象とする数値解法 周回積分型固有値解法:SS-RR法 [Sakurai&Sugiura:2003] 周回積分により対象の固有ベクトル成分を取り出す 関連解法 (block) SS-Hankel法 [Sakurai&Sugiura:2003,Ikegami et al.:2010] (block) SS-RR法 [Sakurai&Tadano:2007,Ikegami&Sakurai:2010] FEAST法 [Polizzi:2009] block SS-Arnoldi法 [I,Du&Sakurai:2013] Beyn法 [Beyn:2012] (非線形固有値問題向け) 2014/11/24数理人セミナー@早稲田大学 19
  20. 20. / 56 はじめに 本講演の目的 周回積分型固有値解法の概略を示す block SS-RR法 block SS-Hankel法 階層型並列固有値解析ソフトウェアを紹介する SSEIG CISS z-Pares 超並列環境での実用化するための関連技術を紹介 耐故障性 2014/11/24数理人セミナー@早稲田大学 20
  21. 21. / 56 小もくじ はじめに 一般化固有値問題に対する周回積分型固有値解法 階層型並列固有値解析ソフトウェア 超並列環境での実用化するための関連技術 まとめ 2014/11/24数理人セミナー@早稲田大学 21
  22. 22. / 56 周回積分型固有値解法の概略 基本的アイディア [Sakurai&Sugiura:2003] 一般化固有値問題の固有値を極に持つ有理関数 の領域Ω内の極をCauchyの積分公式 に基づく手法により計算する.ここで, ΓはJordan閉曲線 (Ωの境界) 2014/11/24数理人セミナー@早稲田大学 22
  23. 23. / 56 周回積分型固有値解法の概略 関数の領域Γ内部の極の計算 [Kravanja,Sakurai&van Barel:1999] 複素モーメント: 正則関数の領域Γ内部の極はHankel行列 を係数にもつ(小規模)一般化固有値問題 を解くことで得られる. 2014/11/24数理人セミナー@早稲田大学 23
  24. 24. / 56 周回積分型固有値解法の概略 関連解法 原著論文とその改良法 その他の関連解法 FEAST eigensolver [Polizzi:2009] Beyn法(非線形) [Beyn:2012] 2014/11/24数理人セミナー@早稲田大学 24 (原著論文) [Sakurai&Sugiura:2003] ブロック化に基づく 高安定化 [Ikegami et.al.:2010] RR法に基づく 高精度化 [Sakurai&Tadano:2007] ブロック化 + RR法 (SS-RR法) [Ikegami&Sakurai:2010] Arnoldi法に基づく 新解釈・新解法 (SS-Arnoldi法) [I,Du&Sakurai:2014]
  25. 25. / 56 SS-Hankel法 複素モーメント( ) Hankel一般化固有値問題(サイズ:M x M) block SS-Hankel法の概略 2014/11/24数理人セミナー@早稲田大学 25
  26. 26. / 56 block SS-Hankel法 block複素モーメント( ) block Hankel一般化固有値問題(サイズ:LM x LM) block SS-Hankel法の概略 2014/11/24数理人セミナー@早稲田大学 26
  27. 27. / 56 アルゴリズム block複素モーメント( ) block Hankel一般化固有値問題(サイズ:LM x LM) block SS-Hankel法の概略 2014/11/24数理人セミナー@早稲田大学 27
  28. 28. / 56 block SS-Hankel法の概略 実用上の工夫 block Hankel行列の低ランク近似: 標準固有値問題(サイズ:d x d, m < d ≦ LM) 2014/11/24数理人セミナー@早稲田大学 28 対象の一般化固有値問題はblock Hankel行列から得られる標準 固有値問題に帰着される
  29. 29. / 56 block SS-Hankel法の概略 block SS-Hankel法 [Ikegami et al.:2010] アルゴリズム 2014/11/24数理人セミナー@早稲田大学 29 Algorithm: block SS-Hankel 1. Compute basis vectors: 2. Construct block Hessenberg matrices 3. Compute low-rank approx. of : 4. Solve and set
  30. 30. / 56 block SS-RR法の概略 基本戦略:以下の定理に基づきRRの技法を利用 定理が意味すること 周回積分により対象の固有ベクトルで張られる部分空間 が生成される → Rayleigh-Ritzの技法により対象の固有対が計算できる 2014/11/24数理人セミナー@早稲田大学 30 Theorem 3 対象の固有値数が を満たし, また入力行列 が がフルランクとなる行列であるとする. この時, 以 下が成り立つ.
  31. 31. / 56 block SS-RR法の概略 アルゴリズム 射影条件: Ritz-Galerkin条件: 実用上の工夫 基底の低ランク近似: 一般化固有値問題(サイズ:d x d, m ≦ d ≦ LM) 2014/11/24数理人セミナー@早稲田大学 31 対象の一般化固有値問題は一般化固有値問題に帰着される
  32. 32. / 56 block SS-RR法の概略 block SS-RR法 [Ikegami&Sakurai:2010] アルゴリズム 2014/11/24数理人セミナー@早稲田大学 32 Algorithm: block SS-RR 1. Compute basis vectors: 2. Compute low-rank approx. of : 4. Solve and set
  33. 33. / 56 並列固有値解析ソフトウェア 周回積分型固有値解法のアルゴリズムの流れ 1:積分点毎の線形方程式の求解 2:積分計算 3:行列の特異値分解、小規模固有値問題の求解 周回積分型固有値解法の階層的並列性 計算コストの主要部(線形方程式の求解)に対し、 3階層の並列性を持つ 積分領域:複数の積分領域を並列に計算 数値積分:積分点毎の計算を並列に計算 線形方程式:線形方程式を並列計算 2014/11/24数理人セミナー@早稲田大学 33
  34. 34. / 56 並列固有値解析ソフトウェア 周回積分型固有値解法の階層的並列性 計算コストの主要部に対する3階層の並列性を持つ 積分領域、数値積分、線形方程式 2014/11/24数理人セミナー@早稲田大学 34 Top layer Middle layer Bottom layer 周回積分型固有値解法の階層性 ハードウェアの階層性 アルゴリズムの階層性に併せて計算リソースを割り当てる → ノード間通信性能を改善 周回積分に基づき 指定領域内部の固有対を抽出 各積分点での計算は 独立した線形方程式の求解
  35. 35. / 56 並列固有値解析ソフトウェア 関連ソフトウェアとの比較 2014/11/24数理人セミナー@早稲田大学 35 A B 部分空間 PARPACK S 複数線形方程式を逐次に求解 固有対 係数行列 逐次演算であるため、 並列化が困難 複数ブロック線形方程式を独立に求解 FEAST 演算量が多い 階層型アルゴリズムにより ノード間演算コストを削減 複数線形方程式を独立に求解 z-Pares 高次モーメントを利用
  36. 36. / 56 並列固有値解析ソフトウェア 並列固有値解析ソフトウェア 公開済みソフトウェア SSEIG (MATLAB) – 周回積分型固有値解法の有効性検証のための利用 を想定 CISS (SLEPc) – 分散並列環境での利用を想定 z-Pares (Fortran90・MPI) – 大規模分散並列環境での利用を想定 公開ポリシー:フリー Web:http://zpares.cs.tsukuba.ac.jp/ 2014/11/24数理人セミナー@早稲田大学 36
  37. 37. / 56 並列固有値解析ソフトウェア SSEIG 概要 目的:周回積分型固有値解法の有効性検証用 動作環境:MATLAB 並列化:逐次版(MATLABの自動並列は有効) 機能・仕様 対象固有値問題:実/複素・標準/一般化・密/疎 数値積分:楕円・N点台形則 線形方程式の求解:LU分解 2014/11/24数理人セミナー@早稲田大学 37
  38. 38. / 56 並列固有値解析ソフトウェア SSEIGの実行例 テスト行列 – 複素非エルミート一般化固有値問題 » MHD1280(電磁気問題), n = 1280 領域・パラメータ – 中心:-0.1+0.6i, 半径:0.2の円 – L=16, M=8, N=32 2014/11/24数理人セミナー@早稲田大学 38
  39. 39. / 56 並列固有値解析ソフトウェア CISS 概要 目的:周回積分型固有値解法を分散並列環境で利用 動作環境:SLEPc・PETSc 並列化:全ての階層の分散並列化に対応 機能・仕様 対象固有値問題:実/複素・標準/一般化・密/疎 数値積分:楕円・N点台形則 線形方程式の求解:PETScのライブラリから選択可能 行列の格納形式:PETScの行列格納形式に準拠 2014/11/24数理人セミナー@早稲田大学 39
  40. 40. / 56 並列固有値解析ソフトウェア 2014/11/24数理人セミナー@早稲田大学 40 PETSc Portable, Extensible Toolkit for Scientific Computation PETSc・SLEPcの組み込みソフトウェア SLEPc Scalable Library for Eigenvalue Problem Computations
  41. 41. / 56 並列固有値解析ソフトウェア z-Pares 概要 目的:周回積分型解法を大規模分散並列環境で利用 動作環境:Fortran90、MPI 並列化:全ての階層の分散並列化に対応 機能・仕様 対象固有値問題:実/複素・標準/一般化・密/疎 数値積分:楕円・N点台形則・その他 線形方程式の求解: – Krylov部分空間法・疎行列向け直接法・その他 行列の格納形式:ユーザー定義 2014/11/24数理人セミナー@早稲田大学 41
  42. 42. / 56 並列固有値解析ソフトウェア z-Paresのデータ構造 疎行列向けソフトウェアではアプリケーション毎に異な るデータ分散形式に対応することが必要 z-Paresでは, 線形方程式の求解および行列ベクトル積 において異なるデータ分散形式に対する対応を考える必 要がある z-Paresでは行列やベクトルのデータ分散形式に自由度 与えるReverse communication interface (RCI)を採用 2014/11/24数理人セミナー@早稲田大学 42
  43. 43. / 56 並列固有値解析ソフトウェア RCI 線形方程式の求解や行列ベクトル積などのデータ分散に 依存する計算が必要になる度にユーザーに制御を戻す ユーザー自身が線形方程式の求解や行列ベクトル積 のコードを作成する 特定の分散データ構造に対しては, z-Pares側で高速 なルーチンを用意する ユーザーは終了サインが出るまでwhile文で何度も z-Paresのサブルーチンを呼び出す ARPACK(1996)やFEAST(2009), BLOSS(2012)という固有値 解法パッケージに採用されている 2014/11/24数理人セミナー@早稲田大学 43
  44. 44. / 56 program user_code use zpares !<中略> ! 初期化 task = ZPARES_TASK_INIT do while ( task /= ZPARES_TASK_FINISH ) ! 固有値解析エンジン呼び出し call zpares(task, work1, work2, …) ! taskにユーザーコード側の処理が指定される if ( task == ZPARES_TASK_MATVEC ) ! ユーザーの行列ベクトル積ルーチン呼び出し call user_matvec(work1, work2) else if ( task == ZPARES_TASK_SOLVE) ! ユーザーの線形ソルバルーチン呼び出し call user_solver(work1, work2) end if end do 並列固有値解析ソフトウェア RCI 2014/11/24数理人セミナー@早稲田大学 44
  45. 45. / 56 並列固有値解析ソフトウェア z-Paresの(簡易的な)実行例 I テスト行列 実対称・一般化固有値問題 – VCNT9000(ELSES Matrix Library) – n=9,000, Nnz=3,464,136 領域・パラメータ 中心:-0.55, 半径:0.04, 半径比:0.1の楕円 L=32, M=16, N=32 線形方程式:MUMPUS プロセス数:1, 2, 4, 8, 16(中位階層のみ並列化) 計算機環境 「京」, 1プロセス/1ノード 2014/11/24数理人セミナー@早稲田大学 45
  46. 46. / 56 並列固有値解析ソフトウェア z-Paresの(簡易的な)実行結果 I 並列性能 2014/11/24数理人セミナー@早稲田大学 46 0 10 20 30 40 50 60 1 2 4 8 16 misc Mult B Mult A Small diag Orth Solve Fact Elapsedtime[sec] Number of Nodes
  47. 47. / 56 並列固有値解析ソフトウェア z-Paresの(簡易的な)実行結果 I 相対残差ノルム 2014/11/24数理人セミナー@早稲田大学 47 eigenvalue Relativeresidualnorm
  48. 48. / 56 並列固有値解析ソフトウェア z-Paresの(簡易的な)実行例 II テスト行列 複素エルミート・一般化固有値問題 – VCNT10800h(ELSES Matrix Library) – n=10,800, Nnz=8,511,588 領域・パラメータ 中心:-0.55, 半径:0.07, 半径比:0.1の楕円 L=32, M=16, N=32 線形方程式:MUMPUS プロセス数:1, 2, 4, 8, 16(中位階層のみ並列化) 計算機環境 「京」, 1プロセス/1ノード 2014/11/24数理人セミナー@早稲田大学 48
  49. 49. / 56 並列固有値解析ソフトウェア z-Paresの(簡易的な)実行結果 II 並列性能 2014/11/24数理人セミナー@早稲田大学 49 Elapsedtime[sec] Number of Nodes 0 20 40 60 80 100 120 140 160 180 1 2 4 8 16 misc Mult B Mult A Small diag Orth Solve Fact
  50. 50. / 56 並列固有値解析ソフトウェア z-Paresの(簡易的な)実行結果 II 相対残差ノルム 2014/11/24数理人セミナー@早稲田大学 50 eigenvalue Relativeresidualnorm
  51. 51. / 56 block SS-RR法の誤差解析 定理の意味 各固有対の残差ノルム(みたいなもの)は, と の比で抑えられる 部分空間サイズLMを大きく取れば対象の固有対は高精度 で得られる 周回積分型固有値解法の誤差解析 2014/11/24数理人セミナー@早稲田大学 51 Theorem:故障(誤差)なしの場合 ( 定数)
  52. 52. / 56 周回積分型固有値解法の誤差解析 フィルター関数 (領域Ω:単位円) 2014/11/24数理人セミナー@早稲田大学 52 領域内部 領域外部(遠方)
  53. 53. / 56 周回積分型固有値解法の誤差解析 block SS-RR法の誤差解析 定理の意味 各固有対の残差ノルム(みたいなもの)は, と の比で抑えられる 故障により部分空間サイズが縮小される(ような効果) 部分空間サイズを大きくとっておけばほぼ影響しない 2014/11/24数理人セミナー@早稲田大学 53 Theorem:故障発生時(誤差混入時)の解析 ( 定数)
  54. 54. / 56 周回積分型固有値解法の誤差解析 2014/11/24数理人セミナー@早稲田大学 54 数値実験(故障なし)  Ω:単位円-> m=10, 外部近接固有値=1.01 
  55. 55. / 56 周回積分型固有値解法の誤差解析 2014/11/24数理人セミナー@早稲田大学 55 数値実験(故障発生時)  Ω:単位円-> m=10, 外部近接固有値=1.01 
  56. 56. / 56 まとめ 本講演では, 一般化固有値問題に対する周回積分型 固有値解法のアルゴリズムおよびその並列ソフト ウェアを紹介した SSEIG:お試し用(MATLAB) CISS:分散並列用(PETSc) z-Pares:大規模分散並列用(Fortran90、MPI) これらのソフトウェアはwebで公開されている (z-Paresは2013年12月末公開予定) http://zpares.cs.tsukuba.ac.jp/ 2014/11/24数理人セミナー@早稲田大学 56

×