• 検索結果がありません。

機械学習を用いたコンパイラ最適化技術

N/A
N/A
Protected

Academic year: 2022

シェア "機械学習を用いたコンパイラ最適化技術"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)九州大学学術情報リポジトリ Kyushu University Institutional Repository. 機械学習を用いたコンパイラ最適化技術 クルス アヨロア, アーナルド ホセ. https://doi.org/10.15017/1654900 出版情報:Kyushu University, 2015, 博士(学術), 課程博士 バージョン: 権利関係:Fulltext available..

(2) (別紙様式 2). 氏. 名. :アーナルド. ホセ. クルス. アヨロア. 論 文 名. :Machine Learning Driven Compiler Tuning (機械学習を用いたコンパイラ最適化技術). 区. :甲. 分. 論. 文. 内. 容. の. 要. 旨. It is the job of the compiler to translate human-readable code into machine code that makes efficient use of hardware resources.. The code translation and optimization process is a. complex one, because the compiler has to accommodate the program to the available hardware resources while at the same time preserving the original functionality.. Compilers have been. the subject of research for several decades, and there are already well established optimization strategies that can result in high speedups.. Still, modern compilers fall short in selecting. appropriate optimizations that yield the highest speedups due to the size of the optimization space, and because of the particularities of the source code, the target hardware and even the compiler itself. This work explores the application of machine learning (ML) for compiler tuning, to improve the compiler's capacity at selecting beneficial optimization strategies for a given input program. Our highest success was at predicting when to apply vectorization, a very powerful compiler optimization that targets data parallelization and efficient memory use but which can also be detrimental if used incorrectly.. We were able to train a ML predictor with 93% of accuracy at. guessing from a high level description of our benchmark programs whether vectorization would be successful, resulting in a median 70% program speedup over Intel's ICC compiler.. Another. unique study was conducted at re-targeting our vectorization predictor from reducing execution time to reducing energy consumption.. Our experiments yielded an average 64% decrease in. energy consumption and only 5% decrease in energy in the case of mispredicitons. In predicting multiple optimizations, we were able to identify the four main challenges in making a ML approach practical, and proposed techniques to ameliorate this situation.. First,. we designed an optimization space pruning technique that makes regression-based predictors feasible by bounding the prediction time on the size of the training set. We also proposed a multi-predictor modeling technique that increased prediction performance by 40% for our benchmarks.. In addition, we tested using code generators as an alternative to hand coded. benchmarks. for. training. and. testing. predictors.. Other. contributions. included. multi-dimensional data visualization techniques to aid in characterizing programs, and a more rigorous predictor evaluation scheme.. Finally, in order to help move this research filed. forward, we opened the TeaBowl project to share our results with the compiler researcher community..

(3)

参照

関連したドキュメント

It is newly found that, not only the stronger pFET in a cell is weakened, but also the weaker pFET is strengthened by the OFF-state stress due to high voltage stress,

*) Correspondence: Institute for the Advancement of Higher Education, Hokkaido University, Kita-17 Nishi-8 Kita-ku, Sapporo 060-0817, Japan Abstract ̶ In July 2006

Its asymptotic behavior is proportional to r 2 [4], since not only the parallel advection term but also the toroidal magnetic drift terms contribute to genera-

Java  is  an  object-oriented  programming  language  with  many  advantages  such  as 

XEP-0206: XMPP Over BOSH https://xmpp.org/extensions/xep-0206.html MongoDB https://www.mongodb.com/ Python https://www.python.org/ Bottle: Python

This shows the average score given by each of the sixteen evaluators for intelligibility in their evaluation of the Google Translate output into their target language..

Within linguistics, the nature of a language exists in both grammar (the abstract formal system of language) and pragmatics (the principles of language use), which are

[r]