2016 Fiscal Year Research-status Report
自らを進化させ未知の計算環境に適応するソフトウェア自動チューニング機構方式の研究
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 |
本課題では、事前に自動チューニング機構が組込まれていないソフトウェアに事後的に自動チューニング機構を付加する研究をしている。平成 28 年度にはテンソルネットワークの実用コードを対象とし、性能チューニングのためのコード変換を事後的に適用する研究を行った。テンソルネットワークでは高次元配列を用いるため、データの配置方法やループの回し方などの変種の数が指数的に増大し、自動チューニングが有効と考えられる。実際に複数の変換を組み込み、カーネルレベルで 20% 超の性能向上を確認した。今後は変換を組織的に適用し、自動チューニング機構を組込む予定である。 また、計算環境に関する情報を一切与えることなく、与えられた疎行列に対して最も適切な疎行列・ベクトル積実装を選択する問題に対して、機械学習の手法を適用し、高い精度で適切な実装を正しく選択できることを明らかにした。計算環境に関する情報を使わずに選択できることから、未知の計算環境においても機械学習によって隠れた規則性を学習し、自動チューニングにおけるパラメータ探索の効率化に利用できる可能性を示すことができた。 また、プログラムの並列実行における、非機能的な可変性である動的負荷分散について研究した。ユーザが追加可能な実行状況に対する判断のヒントを用いた動的負荷分散として、負荷の再配分の試行を繰り返さない方式を考案し、ワーカ数128の場合を含め性能評価により有効性を確認した。 さらに、従来メモリ構造をもつFX10と、3次元積層技術によるメモリをもつFX100の2種類のスパコンを利用し、有限差分法コードを用いて性能評価を行った。その結果、積層メモリに移行したときの演算カーネルの速度向上率は、自動チューニングあり、なしでそれぞれ5.24倍、6.58倍となり、メモリアクセスに関するハードウェア性能比率に対し妥当である結果を得た。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
平成28年度には実際に自動チューニングを想定されずに書かれている実用コードであるテンソルネットワークのプログラムを対象として、自動チューニングの基礎となる変種の生成を xevolver フレームワークにより実施した。また機械学習の手法を用いて未知の計算環境においても有効になると期待される自動チューニング方式を提案した。また複数の事例について自動チューニングの有効性を確認した。これらの成果により、全体としてはおおむね順調に計画は進行していると考えている。ただし、当初想定していたよりも対象プログラムに対する分析(人手によるもの)が必要であることが明らかとなっている。挑戦的なテーマであるためこの程度の困難さは研究計画時の想定の範囲内である。また、xevolver フレームワークが使えるようにコードの一部を書き直すなどの作業も必要となっている。現在対象としている Fortran には方言や言語仕様外のプリプロセッサの使用などが多く、一定の書き直し作業は避けられないことが明確になった。
|
Strategy for Future Research Activity |
平成29年度には、引き続いてテンソルネットワークを第一のターゲットとして、自動チューニング機構の事後的な組み込みの研究を進める。順調に進んだ場合には、ここで得られた知見を一般化して手法として確立し、異なる事例に適用するなどしてその有効性を検証する予定である。また、機械学習による自動チューニング手法について、実際に新たなアーキテクチャに対して適用し、未知のアーキテクチャにも適用できることを実証する。他方、想定以上の困難に直面した場合には、テンソルネットワークの自動チューニングに集中的に研究時間を割き、その実現を最小限の達成目標とする。可能であれば、生じた困難さの根本的な原因を特定し、解決への道筋を探ることを目指す。
|
Causes of Carryover |
挑戦的な課題であったため、テンソルネットワークに対する自動チューニング機構の組み込みまでは平成28年度中に完了しなかった。平成28年度の研究は既存のハードウェア上でいくつかの変種導入の効果を確認するにとどまった。このように未知のハードウェアに対して提案手法を実際に適用する段階に達しなかったため、新規ハードウェアの導入を平成29年度に持ち越した。また予定していた招待講演が1件キャンセルになったため、旅費の使用が予定よりも少なくなった。
|
Expenditure Plan for Carryover Budget |
自動チューニング機構の組み込みは平成29年度早々に実施できる見込みであり、それにあわせて新規ハードウェアの導入を平成29年度に行う予定である。また招待講演は平成29年度に改めて行う予定である。
|
Research Products
(9 results)
-
-
-
[Presentation] A code selection mechanism using deep learning2016
Author(s)
Cui Hang, Shoichi Hirasawa, Hiroyuki Takizawa, and Hiroaki Kobayashi
Organizer
IEEE 10th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSoC-16)
Place of Presentation
リヨン(フランス)
Year and Date
2016-09-21 – 2016-09-23
Int'l Joint Research
-
-
-
-
-
-