Główne pojęcia
機械学習を活用したコンパイラ駆動のプログラム最適化に関するACPOフレームワークの提案と実装。
Streszczenie
ACPOは、LLVMに機械学習モデルを組み込むことで、プログラム最適化を向上させる革新的なフレームワークである。この論文では、ACPOの高レベルビュー、クラス階層、および機能性を紹介し、Loop UnrollやFunction Inliningなどの最適化手法にMLを組み込む方法を示している。実験結果では、PolybenchでLoop UnrollのACPOモデルが平均4%の性能向上をもたらし、InlinerモデルもPolybenchとCbenchでそれぞれ4.5%と2.4%の性能向上が確認された。
Introduction
- プログラム最適化はコンパイラ開発者とMLアーキテクト間の協力を可能にする。
- ACPOはMLフレームワークとコンパイラを分離し、容易な最適化手法提供。
Related Work
- コンパイラ自動チューニングにおけるML技術の利用が増加。
- Autotuning-based, End-to-end, ML-guidedアプローチが存在。
Proposed Methodology
- ACPOインフェランスフロー:ML-enabled pass呼び出し→特徴抽出→ML frameworkへ送信→推論結果取得。
- Autotuner:粗/細粒度チューニングオプション提供。
ACPO Models
- ACPOLUModel:Loop Unrolling最適化。30個の特徴量使用して訓練。
- ACPOFIModel:Function Inlining最適化。既存MLGOPerfモデル活用。
Experimental Evaluation
- PolybenchでACPOLUModel導入により平均4%速度向上。
- CbenchでACPOFIModel導入により15%サイズ増加・2%速度向上。
Statystyki
この論文では特定の数値やメトリックは記載されていません。
Cytaty
"Machine learning approaches normally rely on data generated by an autotuner."
"State-of-the-art compilers are built with sophisticated optimization pipelines."