（様式 20）成果報告書

TSUBAME 共同利用 平成 26 年度 学術利用 成果報告書

利用課題名 ミニアプリケーションの開発
英文：Development of mini application software suite
利用課題責任者 三上和徳
First name Surname Kazunori Mikami
所属 独立行政法人 理化学研究所 計算科学研究機構
Affiliation RIKEN Advanced Institute for Computational Science.
邦文抄録（300 字程度） 本課題では大規模 Intel プロセッサクラスタを用いたミニアプリ集 Fiber の動作検証ならびに性能評価を行う．ミニアプリ集 Fiber は「将来の HPCI システムのあり方の調査研究・アプリケーション分野」の 2018～2020 年頃の計算科学ロードマップ課題を解決するためのアプリケーションから抽出したミニアプリ集であり，単純なカーネルだけでは再現できないアプリケーション本来の計算挙動を見通しのよい行数で再現している．本課題では TSUBAME を用いて，現在公開されているミニアプリ集 Fiber の動作検証および性能評価ツール Scalasca を用いたミニアプリ集 Fiber の性能評価を行う．加えて，一つのミニアプリに対し，GPU アクセラレータ計算に向けた拡張作業も行う．
英文抄録（100 words 程度） We develop the Fiber mini-application and evaluate the performance ofFiber mini-application. Fiber mini-application is a tool for application and architecture codesign andthe mini-application to identify social and scientific challenges for next 5 to 10 years in Japan. In theproject, we test the Fiber mini-application on the TSUBAME with the Intel processors and evaluate
the performance of Fiber mini-application with the use of Scalasca. Additionally, we extend theccs-qcd, which is one of Fiber mini-application, to the ccs-qcd with the OpenACC.

Keywords: mini-application, performance analysis, OpenACC

背景と目的

ミニアプリは主要計算部の再現のみならず，プロセス間次世代スーパーコンピュータの実現に向けて，コデの通信，ファイル I/O の入出力の部分も再現しており，ザインによる設計，開発の重要性がうたわれているが，一つのアプリケーションとして完結している．加えて，ミ実利用に供されているアプリケーションは一般に多数

ニアプリでは利用制限の緩いライセンスを適用しており，の機能を有した複雑な構成となっており，そのような複広く HPC システムの性能評価に用いることが可能な基雑なアプリケーションの要求をアーキテクチャ設計に反盤ソフトウェアとしての位置づけを持つ事が期待されて映させることは必ずしも容易ではない．そのため，アーいる．そのため，ミニアプリでは小規模ワークステーショキテクチャとアプリケーションのコデザインを推進するたン上での動作のみならず，大規模計算環境下で動作すめにミニアプリと呼ばれる見通しが良く，利用制限の緩ることも望まれる．

い簡略化されたアプリケーションの整備が現在行われ本課題では，現在ミニアプリ集 Fiber 内で公開していている．ミニアプリ集 Fiber は「将来の HPCI システムのるミニアプリに対し，次の 3 点を目的とする．

あり方の調査研究・アプリケーション分野」の 2018～(1) 各ミニアプリでの大規模 Intel プロセッサクラスタで2020 年頃の計算科学ロードマップ課題を解決するための動作検証のアプリケーションから抽出したミニアプリ集であり，複(2) 大規模 Intel プロセッサクラスタでの各ミニアプリの数の異なる分野の科学技術計算アプリケーションで構性能評価成されている．

(3) OpenACC を用いたミニアプリの GPU アクセラレー

ミニアプリは単純なカーネルだけでは再現できないアプリケーション本来の計算挙動を再現している．つまり，タへの対応

（様式 20）成果報告書ラレータへの拡張を行った．この拡張は Nvidia 社の成概要
ミニアプリ集 Fiber は GitHub 上でソースコード(図1: http://fiber-miniapp.github.io/ )が公開されている．

瀬 氏 の 協 力 で 実 現 し て お り ， OpenACC 対 応 のCCS-QCD もホームページ上で公開している．

また，GitHub 上では各ミニアプリのソースコードのみならず，コンパイル手順，ならびに実行方法のドキュメ結果および考察ントも付属している．現在公開しているミニアプリは 7 本

現在公開されている 7 本のミニアプリの大規模 Intelあり，それぞれが異なる分野のアプリケーションから生プロセッサクラスタ上での動作検証を行った．検証の結成されたミニアプリケーションである．

果，ミニアプリ集 Fiber の一つ NTChem-mini で実行中にエラーが発生することが判明した．そのため，エラー箇所を特定し，エラー修正の対応にあたった．他のミニアプリでは，テストデータでの実行および弱スケーリング用のデータセット両方で無事に動作することを確認した．
次に Score-P と Scalasca を用いて，大規模 Intelプロセッサクラスタでの各ミニアプリの性能評価を行った．解析では，図 2 に示すような，各ミニアプリの各関数の計算時間，呼び出し回数，各プロセス間のデータ

リックス図 1: ミニアプリ集

転送量などのデータを取得した．また，各プロセスのP2P 通信相手を調査するために通信マトリックスのデータも取得した(図 3)．加えて，各ミニアプリの弱スケー

ミニアプリは特定のアーキテクチャのみならず，様々なアーキテクチャで動作する事が望まれる．本課題でリングの様子を調べるために，各ミニアプリでの弱スケーリングのデータも取得した．

は，現在公開されている 7 本のミニアプリの大規模Intel プロセッサクラスタ上での動作検証を行う．各ミニアプリでは，テスト用データの他に弱スケーリング用の大規模なデータセットも用意されており，それらのデータセットを用いて動作検証を行う．
ミニアプリは様々なアーキテクチャで動作することに加え，どのような計算，通信，ファイル I/O の特性を備えているかを把握することも重要となる．そのため，
TSUBAME が試験的に導入している Score-P [1] とScalasca [2] を用いて，各ミニアプリの各関数の計算

図 2: Scalasca を用いた性能プロファイル

時間，各プロセス間のデータ転送量，通信マトリックなどの各ミニアプリのデータを取得する．

GPU アクセラレータへの対応では CCS-QCD のホットス

TSUBAME は大規模 GPU クラスターマシンとしてのポット部分のみに対して拡張を行った．CCS-QCD のホッ側面も持つ．ミニアプリは様々な環境下で動作すること

トスポットは二カ所あり，この二カ所に対して OpenACCが望まれており，今後増えていくと予想されている実装を行った．拡張の結果，シングル GPU では十分にGPU クラスターマシンへの対応も重要となる．そのた高速化の効果が得られることがわかった．しかし，複数

め，本課題では試験的にミニアプリ集 Fiber の一つ

GPU を用いた場合，GPU 間通信部分にボトルネックがあ

CCS-QCD に対して OpenACC を用いた GPU アクセることが判明し，通信部分をどのように隠蔽するかにつ（様式 20）成果報告書
いては今後検討を行う．

図 3: 8 プロセスを用いた CCS-QCD の通信マト

まとめ，今後の課題

本課題では現在公開されているミニアプリ集 Fiberの大規模 Intel プロセッサクラスタでの動作検証ならびに Scalasca を用いた性能評価を行った．加えて，ミニア プ リ 集 Fiber の 一 つ ， CCS-QCD に 対 し て ，OpenACC による GPU アクセラレータ拡張も行った．
本課題では各ミニアプリそれぞれに着目し，性能評価を行った．今後は取得した各ミニアプリの性能評
価データから各ミニアプリの相関について考察する．
相関を考察することで，複数の異なる分野の科学技術計算アプリケーションの中での共通部分を発見し，科学技術計算アプリケーションの分類を行う．また，
現在ミニアプリ集 Fiber で公開しているミニアプリは7 本であるが，今後この数は増加する予定である．
そのため，増加するミニアプリに対する動作検証も必要となる．加えて，CCS-QCD 以外のミニアプリに対する GPU アクセラレータ対応も今後検討する．
[1] scalasca : http://www.scalasca.org/[2]Score-P:
http://www.vi-hps.org/projects/score-p/