研究課題/領域番号 |
16H06679
|
研究機関 | 東京大学 |
研究代表者 |
星野 哲也 東京大学, 情報基盤センター, 助教 (40775946)
|
研究期間 (年度) |
2016-08-26 – 2018-03-31
|
キーワード | OpenACC / 自動最適化 / GPU / Xeon Phi / フレームワーク |
研究実績の概要 |
本研究計画は以下の3つのフェーズからなり、28年度はフェーズ1・2を進める予定であった。 1. NVIDIA Kepler GPUを用いたフレームワークの実アプリケーションによる評価、フレームワークの機能拡張 2. 次世代メニーコアプロセッサ(NVIDIA Pascal GPU, Intel Xeon Phi Knights Landing)による評価 3. 次世代メニーコアプロセッサを対象としたフレームワークへの自動最適化機構の実装、実アプリケーションでの評価 フェーズ1に関して、「A Directive-based Data Layout Abstraction for Performance Portability of OpenACC Applications」という題目で査読付き論文として採択され、HPCC2016にて発表した。実アプリケーションに適用する上での制限を緩和し、またデータレイアウトに合わせてループ構造を変換する最適化機構を加えたフレームワークを、実アプリケーションで評価したものである。 フェーズ2に関して、最新世代のGPU (Pascal)、Xeon Phi (Knights Landing)と、それぞれの前世代のGPU (Kepler)、Xeon Phi (Knights Corner)を用い、アプリケーションをそれぞれのプロセッサ向けに最適化し、比較評価を進めている。現在までの評価結果については、「OpenACCを用いたICCG法ソルバーのPascal GPUにおける性能評価」という題目で、国内の研究会(HPC 158)において発表済みである。本研究成果は、手動にて様々な最適化を適用することで、最適化手法の有効性、プロセッサの性能特性を評価したものである。ここで得られた結果を、本研究課題で作成しているフレームワークに取り込み、フェーズ3で予定している自動最適化機構の実装に活かす予定である。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
28年度はフェーズ1. NVIDIA Kepler GPUを用いたフレームワークの実アプリケーションによる評価、フレームワークの機能拡張、フェーズ2. 次世代メニーコアプロセッサ(NVIDIA Pascal GPU, Intel Xeon Phi Knights Landing)による評価を進める予定であった。このうち、フェーズ1に関しては、「A Directive-based Data Layout Abstraction for Performance Portability of OpenACC Applications」という題目で査読付き論文として採択され、HPCC2016にて発表した。そのため、フェーズ1に関しては予定通りであったと言える。フェーズ2については、現在進行中である。最新世代のGPU (Pascal)における評価では、前世代のGPU (Kepler)と似た性能特性を示していることもあり、順調であると言える。一方でXeon Phi (Knights Landing)では、本研究での主たる最適化ポイントであるデータレイアウトが性能に大きく影響することはわかったものの、データレイアウト以外の影響がかなり大きく、またプログラムの構造や実行方法(スレッドのコアへの割付方法など)により適したデータレイアウトが異なることがわかってきており、性能評価を続ける必要性が出てきた。 また、フェーズ3に関しての実装も進めている。以上から、フェーズ1は予定通り、フェーズ2はやや遅れているが、フェーズ3を前倒して実施しているため、概ね順調に進展していると言える。
|
今後の研究の推進方策 |
フェーズ3の自動最適化機構の実装を行うために、最新型メニーコアプロセッサのさらなる性能評価が必要である。特にXeon Phi (Knights Landing) では、データレイアウト以外の影響がかなり大きく、またプログラムの構造や実行方法(スレッドのコアへの割付方法など)により適したデータレイアウトが異なることがわかってきているため、さらなる詳細な性能評価を行う予定である。その上で、フレームワークにおける自動最適化ポイントの追加などを検討する。 本年度の評価結果、来年度以降の詳細な評価を行った結果を元に、フレームワークへの自動最適化機能の実装を今後は進める予定である。具体的には、最適なデータ構造と密接に関係しているOpenACCの3階層の並列粒度の概念を用いることで、スレッドのマネージメント方式から最適なデータ構造の推定を行う予定である。さらに、本研究では単なるベーンチマークでなく、実アプリケーションにおいて有効性を示すことが重要であると考えている。種々のアプリケーションを用いて、フレームワークの評価を行う。
|