Skip to main content
QUICK REVIEW

[論文レビュー] AutoPhase: Compiler Phase-Ordering for High Level Synthesis with Deep Reinforcement Learning

Ameer Haj-Ali, Qijing Huang|arXiv (Cornell University)|Jan 15, 2019
Evolutionary Algorithms and Applications参考文献 24被引用数 4
ひとこと要約

この論文では、高水準合成(HLS)におけるコンパイラフェーズ順序最適化を改善するために、回路性能を向上させる深層強化学習フレームワークAutoPhaseを提案する。LLVM IRの特徴量を用いてDQNおよびポリシー勾配アルゴリズムを適用することで、AutoPhaseは- O3よりも16%高い性能を達成し、探索が1〜2桁速い。従来の手法に比べて顕著な効率性と有効性の向上を示している。

ABSTRACT

The performance of the code generated by a compiler depends on the order in which the optimization passes are applied. In high-level synthesis, the quality of the generated circuit relates directly to the code generated by the front-end compiler. Choosing a good order--often referred to as the phase-ordering problem--is an NP-hard problem. In this paper, we evaluate a new technique to address the phase-ordering problem: deep reinforcement learning. We implement a framework in the context of the LLVM compiler to optimize the ordering for HLS programs and compare the performance of deep reinforcement learning to state-of-the-art algorithms that address the phase-ordering problem. Overall, our framework runs one to two orders of magnitude faster than these algorithms, and achieves a 16% improvement in circuit performance over the -O3 compiler flag.

研究の動機と目的

  • 回路性能に大きな影響を与える最適化パスの順序が極めて重要な、高水準合成(HLS)におけるNP困難なフェーズ順序問題に対処すること。
  • 深層強化学習が、最適なフェーズシーケンスを特定する際に、従来のヒューリスティック法や遺伝的アルゴリズムを上回る可能性があるかどうかを検討すること。
  • 新しいプログラムに対して最小限の再トレーニングで効率的なフェーズ順序ポリシーを学習できるフレームワークを開発すること。
  • HLS最適化の文脈において、性能向上とトレーニング/推論の効率性のトレードオフを評価すること。

提案手法

  • 基本ブロック数、分岐数、命令タイプの頻度など、56個の静的特徴量をLLVM IRから抽出し、プログラム状態を表現する。
  • 状態を、生の特徴量ベクトルまたは以前に適用された最適化パスのヒストグラムとして表現する。
  • DQNおよびポリシー勾配アルゴリズムを用いて、回路性能を最大化するフェーズ順序ポリシーを学習する深層強化学習エージェントをトレーニングする。
  • ポリシー最適化の報酬信号として、LegUpのHLSプロファイラが報告するクロックサイクル数を用いる。
  • スケーラビリティを評価するために、CHstoneおよびLegUpの例から抽出した12のHLSベンチマークを用い、シーケンス長(3、12、24)を変化させて評価する。
  • ランダムサーチ、グリーディアルゴリズム、遺伝的アルゴリズム、および-O3コンパイラフラグと比較してRLベースの手法を評価する。

実験結果

リサーチクエスチョン

  • RQ1深層強化学習は、HLSワークロードの最適なコンパイラフェーズ順序シーケンスを効果的に学習できるか?
  • RQ2遺伝的アルゴリズムやグリーディヒューリスティクスといった最先端のアルゴリズムと比較して、RLベースのフェーズ順序最適化の性能はどの程度か?回路のスピードアップの観点から評価する。
  • RQ3HLSにおけるフェーズ順序最適化にRLを用いる場合、トレーニング時間と最適化品質のトレードオフはどのように変化するか?
  • RQ4トレーニング済みのRLエージェントは、再トレーニングを最小限に抑えながら、異なるHLSプログラムに一般化できるか?
  • RQ5最適化パスの数をある閾値を超えて増やすと、性能向上のリターンが減少する傾向にあるか?

主な発見

  • AutoPhaseは、-O3コンパイラフラグよりも16%高い回路性能を達成し、顕著な最適化の向上を示した。
  • フレームワークは、遺伝的アルゴリズムや他の最先端手法よりも1〜2桁速く動作した。
  • 12パスから24パスにシーケンス長を延長しても、性能向上はほとんど得られず、リターンの逓減が確認された。
  • 強化学習手法は、遺伝的アルゴリズムを同等または上回る性能を発揮したが、トレーニングおよび実行がはるかに速かった。
  • トレーニング済みのRLエージェントは一般化の可能性を示し、最小限の再トレーニングで新しいプログラムの最適化を迅速に実行できるようになった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。