8th Symposium 学際大規模情報基盤共同利用・共同研究拠点公募型共同研究 平成28年度採択課題 jh160002-NAJ 若谷彰良(甲南大学) 分散メモリ型スーパーコンピュータにおける直接法と反復法の並列化行列 解法の研究 概要 現代のスーパーコンピュータは共有メモリ構造を持つマルチコアシステムのクラスタで構成されている.ここにはキャッシュメモリ, 主記 憶, ネットワークを介した分散記憶の3種類のアクセス速度の異なるメモリ階層がある. 1つのプロセッサの内部は4から16程度のマルチ コアを持ち, 1ノードの論理演算速度は256GFlop/s程度になっている. クラスタ全体は1,000ノードを超えるが, 実アプリケーションでは, 30 ノード程度での高い並列効率が必要である.ノード内メモリバンド幅とノード間通信バンド幅の差は大きいが, この環境でも演算速度を保 てるように最適なタスク配置と新規アルゴリズムの導入により通信コストの低減を図る. またノード内での演算器の効率的な利用を実現 する必要がある. 偏微分方程式の離散化で得られる対称行列及び非対称行列の問題に対する反復法及び直接法の並列化手法を研 究し, 各種スーパーコンピュータ上で評価することによって, メニーコア時代に対応した並列化行列解法を提供するとともに,対称行列及 び非対称行列を用いた大規模半導体シミュレーションで有用性を検証することを目的とする. 特に,反復法においてはSplitting‐Up作用素を用いた前処理付き共役勾配法の実装を主な対象とし,直接法においてはDissection法 による疎行列のグラフ分割と密行列部分のブロック化によって得られたLDU分解のタスクの非同期実行とデータ配置の最適化を主な対 象として取り組む. 直接法の並列化行列解法 反復法の並列化行列解法 現状とその問題点 現状とその問題点 行列解法の直接法はnested‐dissection法などによる疎行列のオーダリン グにより並列計算が可能な部分を抜き出すこと(マルチフロンタル法)で, 複 数の部分的な疎行列と再帰的に構成されるSchur補行列からなる部分密行 列のLDU分解の組み合わせになる. 二分木構造の密行列は更にブロック化 によって並列計算を実現する. 8 9 a b c d e f 88 99 4 5 6 7 2 84 82 94 92 aa bb a5 a2 b5 b2 cc dd 3 1 44 55 91 Schur complement c6 c1 by sparse solver d6 d3 d1 ff 41 52 51 63 61 66 b1 ee 42 e7 e3 e1 f7 f3 73 71 77 24 25 22 36 37 21 行列解法の反復法には,ICCG法がしばしば用いられるが,収束性能を 保ったままで,単純に並列化することが難しいものとされている.一方, Splitting‐Up作用素を前処理として用いた共役勾配法(SPCG法)は,ICCG法と 同等程度の収束性能を持ち,また,並列実行に適したアルゴリズムである. しかし,前処理の際の配列再分散が並列化効果を低下させるので,前処 理の不完全化(NoZSolve及びISPCG)をした実装方法を提案した.下図に示 すように,SX‐ACEのような分散メモリスーパーコンピュータにおいて,ポアソ ン方程式に対するMPIだけを用いたフラット実装の効果が確認できている が,ノード内でのマルチスレディングの効果の検証には至っていない. 33 31 14 15 16 17 12 13 11 100 1 10‐2 10‐4 10‐6 10‐8 10‐10 10‐12 Schur complement 44 48 49 42 55 5a 5b 66 6c 6d 28 29 2a 2b 61 77 7e 7f 37 1b 1c 1d 1e 16 Schur complement 73 22 24 25 3d 3e 3f 19 by dense solver 52 by dense solver 21 33 31 11 22 12 13 11 dense factorization 21 33 31 12 13 11 NEC SX-ACE Intel Xeon E5-4650 v2 Intel Pardiso 11.2 O(1/p) time(sec.) 1000 100 1 # cores 10 POSIX threads による直接法部分タスクの 非同期並列実行(NEC SX‐ACEで計測) 上図は非対称疎行列 N=645,928, nnz=60,863,284のLDU分解 密行列のLDU分解の主要演算である, dgemm, dtrsm (BLAS 3)は演算集約 的であるが, 主記憶へのアクセス効率にも左右される. バンク構成のメモリ の場合, 繰り返し同一のメモリバンクにアクセスするバンクコンフリクトが起 きると性能が低下するため, データの記憶方法を最適化する必要がある. また, タスクの非同期並列実行では, タスクの状態の確認の必要のない静 的割当と依存関係にあるタスクの終了の確認を絶えずおこなう動的割当を 併用しているが, その比率の最適化が必要である. 取組み 以下の研究項目を大阪大学,京都大学および東京大学のスーパーコン ピュータ(NEC SX‐ACE, Cray XC‐30およびFujitsu FX‐10)で実施する. a.バンクメモリアクセスに対する最適化と非同期タスクの割当時のメモ リ配置の最適化を行う. また, NUMA型のメモリアクセスの効率化のために, 二分木構造を利用したメモリ配置を考慮する. b.4ノードでの分散環境で実行出来るよう共有メモリ型計算機向けに開 発を行ってきたコードを拡張する. Schur補行列はブロック密行列の対角軸 選択付きLDU分解アルゴリズムで計算するが, 最終2段は複数ノードにま たがる. 演算速度とノード間メモリ転送速度の比は256以上であるためブ ロック化サイズを大きくとりマルチコア演算器を有効活用する. 配列再分散 (Z方向通信大) ISPCG NoZSolve P‐scheme pipe (Z方向通信小) (Z方向通信小) (Z方向通信無) (Z方向通信無) 取組み 以下の研究項目を大阪大学, 京都大学および東京大学のスーパーコン ピュータ(NEC SX‐ACE, Cray XC‐30およびFujitsu FX‐10)で実施する. a.SPCG法に対し,パイプラインおよびP‐scheme法による通信削減手法 及び前処理の不完全化(NoZSolve及びISPCG)による通信フリー手法の2レ ベル実装を行う. b.2レベル実装とフラット実装での性能評価および性能比較を行なう. なお,ノード間通信性能の異なる複数のスーパーコンピュータで評価す ることにより,通信がアルゴリズムに与える影響を評価することができる. 若谷彰良 甲南大学 研究統括・並列化反復法計算手法 小田中 紳二 大阪大学 半導体シミュレーション 鈴木 厚 大阪大学 鍾 菁廣 大阪大学 並列化直接法計算手法 数値シミュレー ション 学際大規模情報基盤共同利用・共同研究拠点 第8回シンポジウム 2016年 7月 14日,15日 THE GRAND HALL (品川)
© Copyright 2024 ExpyDoc