• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2016 Fiscal Year Research-status Report

事例に基づく性能チューニング支援システムの研究

Research Project

Project/Area Number 26540031
Research InstitutionInstitute of Physical and Chemical Research

Principal Investigator

橋本 政朋  国立研究開発法人理化学研究所, 計算科学研究機構, 研究員 (60357770)

Project Period (FY) 2014-04-01 – 2018-03-31
Keywords計算カーネル同定 / 実行効率予測 / 計算カーネル分類 / 機械学習 / 大規模調査 / コード理解支援
Outline of Annual Research Achievements

今年度は前年度に引き続き、性能チューニングの対象となるループ構造の同定と、それに対する目標実行効率を推定する手法の研究を行った。
性能チューニングを実施する際、まずチューニング対象となるループ(計算カーネルと呼ぶ)を同定し、それに対して目標とすべき実行効率を見積もる。専門家による京コンピュータ向けの性能チューニングにおいては、カーネルを大まかな推定実行効率の範囲毎に6つのクラスに分類するということが行われている。この分類をモデル化するために、GitHubから科学技術計算と思しきFortranアプリケーションを1020個収集し、そこに含まれる175,963個のループ構造中から無作為抽出した100個について2名の専門家が行った分類の結果に基づき、ループ分類データセットを作成した。これにより、ループの母集団において、70-85%はカーネルであり、その中でM5と呼ばれるクラスに属するものが45-70%と突出して多いことが統計的に推定された。M5クラスのカーネルは浮動小数点演算に対するメモリアクセス要求量の比率が比較的大きく、京コンピュータにおける実行効率は高々15%ほどである。また、このデータセットを機械学習の訓練データとして用い、カーネル判定モデルとM5クラス判定モデルの構築も行った。このモデルを交差検証により評価したところ、ループに対するカーネルか否かの判定正解率は81%、カーネルのM5クラスか否かの判定正解率は94%という結果が得られた。これらの成果を論文としてまとめ、それが国際会議において採択された。
今回、専門家による分類作業を支援するために、プログラム構造や副プログラム呼び出しツリーのアウトラインを、ループ構造の特徴値と共に表示するためのツールを開発したが、これに対し、上記のカーネル判定モデルを用いたカーネル予測機能の実装を行い、オープンソースソフトウェアとして公開した。

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

当初予定していた研究項目である、性能チューニングにおけるソースコード書き換えの正当性の検証については、予備的な調査以上の進展は無かったが、ループ構造の事例横断的な分類については、論文が国際会議に採択されるなど、一定の成果を得ることができた。また、当初は予定していなかった、ループ分類データセット作成作業支援のためのコード理解支援並びに分類結果収集を行うweb applicationの開発も行ったが、性能チューニングの現場に対する成果還元という観点から、これを単体のアプリケーションとして動作するように改修し、オープンソースソフトウェアとして公開した。
以上を総合的に勘案し、おおむね順調な進展と評価した。

Strategy for Future Research Activity

今年度はループ分類データセット作成のため、2名の性能チューニングの専門家より100個のループの分類が行われたが、この作業を支援するために開発したコード理解支援ツールを基として、本研究課題の成果を可能な限り盛り込み、実際の性能チューニングの現場、例えば、京コンピュータ後継機向け性能チューニング等で活用できるようなツールとして開発を継続し、現場からフィードバックを得ることで研究成果の普及促進と、より精緻な目標達成とを狙いたい。

Causes of Carryover

今年度の成果をまとめた論文について、投稿先国際会議Reviewerによる校閲が非常に丁寧であったため、英文校閲サービスを利用する必要が無くなった。また、その会議の開催が次年度4月末であるため、外国旅費の使用が持ち越された。さらに、論文について、オープンアクセス(所謂、gold road)を利用せず、ACMのAuthor-Izerサービス利用による公開、または所属機関や自身のweb siteにおける著者版の公開(所謂、green road)を行うこととしたため、論文掲載料の支出が無かった。

Expenditure Plan for Carryover Budget

成果論文が採択された国際会議への参加に必要な旅費等の諸費用、開発したツールに関してフィードバックを得るためのミーティングに関する諸費用、等に充当したい。

Remarks

(1)はループ分類実験の生データ、(2)はコード理解支援ツール、(3)はコード理解支援ツールのdocker image、(4)はコード理解支援ツールのdocker imageを利用するためのヘルパースクリプト、をそれぞれ公開するためのURL。

  • Research Products

    (6 results)

All 2017 Other

All Journal Article (1 results) (of which Peer Reviewed: 1 results,  Acknowledgement Compliant: 1 results) Presentation (1 results) (of which Int'l Joint Research: 1 results) Remarks (4 results)

  • [Journal Article] An Empirical Study of Computation-Intensive Loops for Identifying and Classifying Loop Kernels2017

    • Author(s)
      Masatomo Hashimoto, Masaaki Terai, Toshiyuki Maeda, and Kazuo Minami
    • Journal Title

      Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering

      Volume: - Pages: 361-372

    • DOI

      10.1145/3030207.3030217

    • Peer Reviewed / Acknowledgement Compliant
  • [Presentation] An Empirical Study of Computation-Intensive Loops for Identifying and Classifying Loop Kernels2017

    • Author(s)
      Masatomo Hashimoto
    • Organizer
      8th ACM/SPEC on International Conference on Performance Engineering
    • Int'l Joint Research
  • [Remarks] (1) CCA/EBT Experiments

    • URL

      https://github.com/ebt-hpc/icpe2017

  • [Remarks] (2) CCA/EBT

    • URL

      https://github.com/ebt-hpc/cca

  • [Remarks] (4) Docker Image of CCA/EBT

    • URL

      https://hub.docker.com/r/ebtxhpc/cca/

  • [Remarks] (3) docker-cca

    • URL

      https://github.com/ebt-hpc/docker-cca

URL: 

Published: 2018-01-16  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi