Towards Automated Construction of Compiler

paper optimization vectorize

pp.187, MITの博論らしい.

  • Ph.D って Doctor of Philosophyの略だったのか
@phdthesis{mendis2020towards,
  title={Towards automated construction of compiler optimizations},
  author={Mendis, Thirimadura Charith Yasendra},
  year={2020},
  school={Massachusetts Institute of Technology},
  url={https://groups.csail.mit.edu/commit/papers/2020/mendis-thesis.pdf}
}

Introduction

かなり学べる部分ありそう watchlater

Abstract

  • コンパイラは、人間が読めるコードと機械が実行可能なコードとの橋渡しをする役割
    • 現在のコンパイラの能力は限界, プログラムの自動最適化の開発・保守は非常に困難
      • 数十年前に存在した技術を使って, いまだに手作業で行われている
  • 自動化されたコンパイラ最適化手法への移行方法
    • コンパイラの自動ベクトル化を例
    • 最近のコンパイラは、線形性能モデルのもとで局所解しか得られない手製のアルゴリズムを用いてベクトル化を行う
    • goSLPを紹介します
      • 整数線形計画法を用いて、優れたベクトル化性能を達成するために、大域的にペア最適な文のパッキング戦略を見つけ出すフレームワークです
    • ベクトル化の方法を自動的に学習する方法について述べる
      • Vemalは、最適化問題を、すべてのステップが生成されたコードの正しさを保証する逐次的な意思決定プロセスとして定式化することで、アルゴリズムの手書きを必要としない, 最初のエンドツーエンド学習型ベクトル化器である
      • Vemalは専門家の設計やヒューリスティックの必要性を減らすだけでなく、手書きアルゴリズムを凌駕し、開発者の労力を軽減しながら性能を向上させることができます。
      • 最後に、Vemalで用いられる決定手順を強化するために、専門家が設計した複雑で不正確なハンドクレイドのモデルよりも優れた非線形性能モデルを、データを用いて学習する方法を紹介する。
        • x86コードのスループットを予測するための、最初の学習済みコストモデルであるIthemalを紹介する。
          • Ithemalは、IntelのIACAのような複雑な解析モデルのエラーレートを半分以下に抑えます。VemalとIthemalは共に最先端の結果を達成し、より自動化された最新のコンパイラ最適化を最小限の人的負担で開発するための道を開くものである。