2017 Fiscal Year Annual Research Report
Research on Software Autotuning Mechanism that evolves to unknown computing environments
Project/Area Number |
15K12033
|
Research Institution | The University of Tokyo |
Principal Investigator |
須田 礼仁 東京大学, 大学院情報理工学系研究科, 教授 (40251392)
|
Co-Investigator(Kenkyū-buntansha) |
滝沢 寛之 東北大学, サイバーサイエンスセンター, 教授 (70323996)
|
Project Period (FY) |
2015-04-01 – 2018-03-31
|
Keywords | 自動チューニング / コード変換 / 高性能計算 / 機械学習 / 動的負荷分散 / プログラミング言語 |
Outline of Annual Research Achievements |
平成29年度には以下の研究を実施した。自動チューニングの取り込みを想定せずに書かれている実用コードであるテンソルネットワークのプログラムに対して、滝沢らが開発している Xevolver を利用して自動チューニングを取りこんだ。これにより事後的に自動チューニングを付加することは可能となったが、Xevolver の文法仕様に合うようにプログラムを調整したほか、チューニングに先立ってプログラムの分析を行うことが必要であった。また、複数のパラメタをチューニングする数理手法について、動的に数理ルーチンを生成することで新たなソフトウェアに適用できるように研究を行った。 また、未知のハードウェアや入力に対する高性能実装(アルゴリズム)の予測や、自動チューニングで求められる様々なパラメタ選択を、機械学習で行う研究を実施した。その結果として、疎行列ベクトル積の実装選択やコンパイラオプション選択、数値計算ライブラリのパラメータチューニングにDeep Learningを適用して有効性を示すことができた。あわせて、自動チューニングを機械学習に活用する研究も進め、自動チューニング技術の実装であるATMathCoreLibを、機械学習モデルのハイパーパラメータ調整に適用し、少ない試行回数で有望なハイパーパラメータ設定の候補を限定し、ハイパーパラメータ調整の効率化に有効であることが示された。 プログラムの並列実行における、非機能的な可変性の1つに動的負荷分散がある。動的負荷分散は、ユーザが組み込むことなしにシステム化可能なことが多く、計算の正しさを保ちつつ、環境からのフィードバックという意味で適応的である。ユーザが追加可能な実行状況に対する判断のヒントを用いた動的負荷分散として、仕事量の見積りというヒントを優先度または重みとして用いた方式を考案し、ワーカ数128の場合を含め性能評価により有効性を確認した。
|
Research Products
(11 results)