Skip to main content
QUICK REVIEW

[論文レビュー] Ithemal: Accurate, Portable and Fast Basic Block Throughput Estimation using Deep Neural Networks

Charith Mendis, Alex Renda|arXiv (Cornell University)|Aug 21, 2018
Parallel Computing and Optimization Techniques参考文献 44被引用数 49
ひとこと要約

Ithemalは階層的マルチスケールLSTMを用いてアセンブリ列から基本ブロックのスループットを予測し、手書きモデル(IACA LLVM-mca)より高い精度を達成しつつ、マイクロアーキテクチャ間で高速で移植性がある。

ABSTRACT

Predicting the number of clock cycles a processor takes to execute a block of assembly instructions in steady state (the throughput) is important for both compiler designers and performance engineers. Building an analytical model to do so is especially complicated in modern x86-64 Complex Instruction Set Computer (CISC) machines with sophisticated processor microarchitectures in that it is tedious, error prone, and must be performed from scratch for each processor generation. In this paper we present Ithemal, the first tool which learns to predict the throughput of a set of instructions. Ithemal uses a hierarchical LSTM--based approach to predict throughput based on the opcodes and operands of instructions in a basic block. We show that Ithemal is more accurate than state-of-the-art hand-written tools currently used in compiler backends and static machine code analyzers. In particular, our model has less than half the error of state-of-the-art analytical models (LLVM's llvm-mca and Intel's IACA). Ithemal is also able to predict these throughput values just as fast as the aforementioned tools, and is easily ported across a variety of processor microarchitectures with minimal developer effort.

研究の動機と目的

  • コンパイラの最適化とパフォーマンスエンジニアリングのために正確なスループット推定の必要性を動機づける。
  • ハンドクラフトされたマイクロアーキテクチャモデルを用いず、基本ブロックのスループットを予測するデータ駆動アプローチを提案する。
  • 命令の埋め込みとスループット予測を学習する階層的マルチスケールRNNアーキテクチャを開発する。
  • Haswell、Ivy Bridge、Skylakeのマイクロアーキテクチャ間での移植性を示す。
  • コミュニティのためのオープンソース実装を提供する。

提案手法

  • 入力アセンブリを命令とオペランドのトークン化された構造表現に正規化する。
  • トークン層と命令レベルのLSTMを用いてトークンと各命令の表現を埋め込み、各命令の埋め込みを生成する。
  • 階層的RNNを用いて命令埋め込みを基本ブロック埋め込みに結合し、最終線形層でスループットを予測する。
  • ターゲットCPUでのグランドトゥルーススループットが測定された大規模なラベル付きデータセット上でエンドツーエンドでモデルを訓練する。
  • accurayと速度の点で複数のマイクロアーキテクチャ間でIACAとllvm-mcaという手書きモデルに対して評価する。
  • DAG-RNNおよびトークンレベルRNNを含むアーキテクチャ変種を検討し、性能上の利点を評価する。

実験結果

リサーチクエスチョン

  • RQ1データ駆動モデルは、アセンブリ列から基本ブロックのスループットを手作業の分析モデルよりも正確に予測できるか。
  • RQ2階層的マルチスケールRNNは、フラットまたはグラフベースのアーキテクチャよりもブロック内の依存関係とマイクロアーキテクチャ効果をよりうまく捉えられるか。
  • RQ3学習済みモデルは、アーキテクチャ固有の再設計なしに異なるx86-64マイクロアーキテクチャへ移植可能か。
  • RQ4既存ツールと同等のリアルタイム速度を達成しつつ、より高い精度を維持できるか。

主な発見

  • IthemalはHaswell、Ivy Bridge、Skylakeの各世代でIACAとllvm-mcaより高い予測精度を達成する(平均誤差はHaswell/Ivy Bridge/Skylakeそれぞれで約0.079~0.089)。
  • モデルはグラウンドトゥルースとのスピアマンおよびピアソン相関がベースラインより強く、最適化器の順位利用性を向上させる。
  • スループット推定速度はLLVM-mcaおよびIACAと同等程度で、経験的測定よりはるかに高速で、ツール内でのスループット推定のドロップイン置換を可能にする。
  • アーキテクチャ間の移植性がある:新しいCPUで再訓練してもアーキテクチャ固有の再設計は不要で、手書きモデルを上回る。
  • アーキテクチャ変種(DAG-RNN、トークンレベルRNN)は、階層LSTMアーキテクチャが精度とモデリング努力の最適なトレードオフを提供することを示唆する。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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