サイエンティフィック・システム研究会

2014 年 8 月 26 日

SS 研 HPC フォーラム 2014 資料

新ベンチマークプログラム：
HPCG の概要と「京」における性能
南 一生
独立行政法人 理化学研究所(計算科学研究機構)[アブストラクト]
世界で最も高速なコンピュータシステムの上位 500 位までを定期的にランク付けし、評価するプロジェクトとして、TOP500 がある。TOP500 プロジェクトは、1993 年に発足したが、用いられているベンチマークプログラム：LINPACK が、浮動小数点演算性能の評価に重きを置いているために、近年、実アプリケーションとの乖離が指摘されることもあった。
そこで、LINPACK の開発者である J. Dongarra 博士より、実アプリケーションで使われる計算手法の性能評価に重きを置いたベンチマーク・プログラム:HPCG が提案されている。２０１４年６月に開催された ISC14 において、正式なランキングではないものの、世界のトップクラスのスパコンを含む HPCG のランキングのミニリストが発表され、日本の「京」が２位に位置づけられた。本講演では、HPCG の概要および「京」における性能について報告する。

[キーワード]スーパーコンピュータ、ベンクマーク、共役勾配法、チューニング、HPCG

1. はじめに世界で最も高速なコンピュータシステムの上位 500 位までを定期的にランク付けし、評価するプロジェクトとして、TOP500 がある。独立行政法人 理化学研究所と富士通で共同開発した、スーパーコンピュータ「京」は 2011 年６月の TOP500 で１位を獲得し、その後 2011 年 11 月の SC11 でも１位をキープした。2014 年の現時点では４位の位置につけている。
TOP500 プロジェクトは、1993 年に発足したが、用いられているベンチマークプログラム ：LINPACK は、密行列に対する並列の連立一次方程式の直接解法であり、行列・行列積の計算が主である。したがって LINPACKは、浮動小数点演算性能の評価に重きを置くことになり、近年、実アプリケーションとの乖離が指摘されることもあった。そこで、LINPACK の開発者である J. Dongarra 博士より、実アプリケーションで使われる計算手法の性能評価に重きを置いたベンチマーク・プログラム:HPCG が提案されている。

2. HPCG(High Performance Conjugate Gradient)とは実アプリケーションで良く使われる連立一次方程式の解法として、疎行列に対する反復解法がある。その中でも前処理付き共役勾配法(PCG 法)は、一般的によく使われる手法である。HPCG は前処理として、ガウス・ザイデル法をベースとしたマルチグリッド法を採用している。
計算科学的な特長から言うと、HPCG は、疎行列・ベクトル積であり、アプリケーションが要求する B/F 値が大きいタイプの計算となる。そのために CPU 単体性能が出しにくいアプリケーションである。また、リストベクトルを使用するため、通常の要求 B/F 値が大きいアプリケーションより、さらに性能が出しにくい。この意味では、要求B/F 値が小さい LINPACK とは、対極にあるベンチマークプログラムであると言える。

3. HPCG ベンチマークプログラムの概要
HPCG ベンチマークプログラムは非構造格子を扱うことができるプログラムとなっているが、実際のベンチマークデータは、構造格子である。プログラム内で構造格子をリストアクセスすることにより、非構造格子のように処理している。ベンチマークのセットアップ段階で、このようなメッシュの作成をプログラムの内部で行っている。次の段階で、プログラムのチューニングや行列の最適化に問題がないか検証を行う。計測フェーズの最初に、オリジナ
ルの処理とチューニング後の処理の実行時間の差を検証し、計測のためのパラメタを決定している。その後、計測フェーズを実施する。最後に、レポート出力フェーズを実施する。ここで、検証フェーズに問題があった場合は、不合格となる。

4. HPCG のチューニングと性能
まず、HPCG ベンチマークプログラムが大規模並列に対応可能なようにプログラムの修正を実施した。その後デフォルトで設定されている問題を使用し 32000 ノードまでのウィークスケーリング測定とコスト分析を実施した。ウィークスケーリングについては良好であり、また、通信時間は６%程度であった。さらにマルチグリッド前処理と行列・ベクトル積の処理のコストが大きいことが分かった。特にマルチグリッド前処理については、ガウスザイデル法をベースとしているため、オリジナルコードのままではスレッド並列化ができない。そこで今回は節点データをカラーリングにより、リオーダリングすることでスレッド並列に対応した。その結果、CPU 単体性能として、オリジナルプログラムの 19.2 倍、フルノードまでの良好な並列性能を達成した。
上記の結果、２０１４年６月に開催された ISC14 において、正式なランキングではないものの、世界のトップクラスのスパコンを含む HPCG のランキングのミニリストが発表され、0.427Pflops の性能で日本の「京」が２位に位置づけられた。「京」が達成した性能は、他のスパコンとピーク性能比で比較すると、群を抜いている。これは、「京」の良好な性能バランスとアプリケーションのチューニングの努力によるものである。

[参考文献](1) Hasegawa, Y., Iwata, J.I., Tsuji, M., Takahashi, D., Oshiyama, A.,Minami, K., Boku, T., Shoji, F., Uno,
A., Kurokawa, M., Inoue, H.,Miyoshi, I., Yokokawa, M.: “First-principles calculations of electron statesof a silicon nanowire with 100,000 atoms on the K computer.”，Proceedings of 2011 International
Conference for High Performance Computing, Networking, Storage and Analysis. pp. 1:1–1:11. SC ’11,
ACM, New York, NY, USA (2011)(2) 黒田 明義, 長谷川 幸弘, 寺井 優晃, 井上 俊介, 市川 真一, 小松 秀実, 大井 憲行, 安藤 琢也, 山崎 隆
浩, 大野 隆央, 南 一生. :"ナノ材料第一原理分子動力学プログラム PHASE の京速コンピュータ「京」上の計算性能最適化"，ハイパフォーマンスコンピューティングと計算科学シンポジウム論文集, pp.144-152(2012)(3) 南 一生，井上 俊介，堤 重信，前田 拓人，長谷川 幸弘，黒田 明義，寺井 優晃，横川 三津夫.："「京」コンピュータにおける疎行列とベクトル積の性能チューニングと性能評価"ハイパフォーマンスコンピューテ
ィングと計算科学シンポジウム論文集, pp.23-31 (2012)(4) Kiyoshi Kumahata, Shunsuke Inoue, Kazuo Minami.: Kernel performance improvement for the FEM-based
fluid analysis code on the K computer,Procedia Computer Science,Volume 18, 2013, Pages 2496–2499,2013 International Conference on Computational Science(5) 井上俊介, 堤重信,前田拓人,南一生.:スーパーコンピュータ「京」におけるメモリインテンシブな アプリケー シ ョ ン の 評 価 お よ び 高 性 能 化 , 先 進 的 計 算 基 盤 シ ス テ ム シ ン ポ ジ ウ ム SACSIS2013 論 文集,pp,123(2013)(6) Masaaki Terai, Eiji Tomiyama, Hitoshi Murai, Kazuo Minami and Mitsuo Yokokawa.: "K-scope: aJava-based Fortran Source Code Analyzer with Graphical User Interface for Performance Improvement",
Third International Workshop on Parallel Software Tools and Tool Infrastructures (PSTI2012).