2016 Fiscal Year Annual Research Report
機械学習技術の活用による職人的プログラミングの知能化
Project/Area Number |
16H02822
|
Research Institution | Tohoku University |
Principal Investigator |
滝沢 寛之 東北大学, サイバーサイエンスセンター, 教授 (70323996)
|
Co-Investigator(Kenkyū-buntansha) |
片桐 孝洋 名古屋大学, 情報基盤センター, 教授 (40345434)
横川 三津夫 神戸大学, システム情報学研究科, 教授 (70358307)
南 一生 国立研究開発法人理化学研究所, 計算科学研究機構, チームヘッド (70501998)
|
Project Period (FY) |
2016-04-01 – 2019-03-31
|
Keywords | 性能最適化 / 機械学習 / 自動チューニング |
Outline of Annual Research Achievements |
静的情報であるコード構造から有用な性能最適化技法を予測する機械学習の可能性を調査し、静的情報だけでは限界があり、入力データや性能プロファイル結果などの動的情報の必要性を明らかにした。また、そのような動的情報の利用例として、疎行列ベクトル積(SpMV)の実装選択問題を機械学習する研究に取り組んだ。計算対象となる疎行列および計算を実行するシステムの対に依存して最適なSpMV実装の選択は異なる。このため、疎行列のもつ特徴から、対象計算システム上で最適なSpMV実装を選択する問題を機械学習し、高い精度で正しく選択できることを明らかにし、その実現方法の改良にも取り組んだ。
プログラムの高度化や並列化作業では、そのプログラム構造や高い計算コスト部分を知ることが必要である。本研究では、プログラム編集機能を持つ解析支援ツールSTViewを統合プログラム開発環境Eclipse上に開発、公開した。STViewは、Fortranプログラムから条件分岐、繰り返し、手続き呼出し等の主要な構成要素を取得し、Eclipseの一つのウィンドウとしてそれらの構造をツリー形式で表示するものである.また、文字列の検索機能、構造ツリーとソースプログラム行との対応付けなど豊富な機能が実装されている。複数のFortranプログラムに対する適用実験により、その有用性も確認した.
他者が開発したアプリケーションを読み解き、性能を評価し、問題点を発見し、問題点を解決することは難しい技術である。本研究では、このような性能最適化技術を体系的にまとめることを目的として実施した。アプリケーションの性能最適化技術を高並列性能最適化技術とCPU性能最適化技術の2つに分け、前者については、高並列化に関する問題点を6パターンに、後者については、アプリケーションを6パターンに分類した。性能最適化技術をそれぞれのパターンについて体系化を実施した。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
それぞれのサブテーマに関して計画通りに研究が進展している。静的情報であるコード構造から適切な性能最適化技法を判断するのは当初の予定以上に難しいことが明らかになったが、その知見に基づいて動的情報の必要性を明確化し、平成29年度以降の研究方針の明確な見通しを立てることができた。
|
Strategy for Future Research Activity |
当初の予定どおり、性能プロファイル情報などの動的情報を機械学習のデータとして利用することを検討する。また、平成28年度に研究開発したコード解析ツールをプロファイラと連携させる。さらには、自動チューニング技術との効果的な連携方法についても調査を進める。
|
Research Products
(6 results)