メルディングのIRの指示による枝を除去して下さい
概要: ブランチの誤認は、現代のプロセッサーの壊滅的な性能の罰を引き起こし、パフォーマンスの損失につながる。 ハードウェアの予測者とプロファイルガイド技術が存在する間、不規則なパターンを持つデータに依存しない枝は挑戦的です。 従来の if-conversion はソフトウェアの事前処理でブランチを排除しますが、x86 のようなアーキテクチャの制限に直面しています. 多くの場合、メモリの指示を含むパスに失敗したり、大きなブランチボディを完全に指定することにより、過剰な指示のオーバーヘッドを硬化させます。 この論文は、IR命令(MERIT)を融解し、IR命令レベルでダイバージェントパスから類似した操作を揃えて溶融することにより、枝を除去するコンパイラ変換を提示します. ダイバージェント・パスは、異なるオペランドと構造的に類似した操作を実行することが多いため、MERIT はシーケンス・アライメントを適応させ、マージの機会を発見し、ハードウェアの事前の操作なしで、安全なオペランド・レベルの監視を採用しています. LLVMパスとして実装し、4つのベンチマークスイートから102プログラムで評価され、MERITは、ハードウェアブランチ予測と比較して32xのピーク改善で10.9%の幾何学的平均スピードアップを達成し、静的な指示オーバーヘッドの低減効果を実証します.
メルディングIRの指示によるブランチを排除 - 概要:ブランチの誤認は、パフォーマンス損失につながる現代のプロセッサで触媒性能の罰を引き起こします。 ハードウェアの予測者とプロファイルガイド技術が存在する間、不規則なパターンを持つデータに依存しない枝は挑戦的です。 従来の if-conversion はソフトウェアの事前処理でブランチを排除しますが、x86 のようなアーキテクチャの制限に直面しています.
多くの場合、メモリの指示を含むパスに失敗したり、大きなブランチボディを完全に指定することにより、過剰な指示のオーバーヘッドを硬化させます。 この論文は、IR命令(MERIT)を融解し、IR命令レベルでダイバージェントパスから類似した操作を揃えて溶融することにより、枝を除去するコンパイラ変換を提示します.
ダイバージェント・パスは、異なるオペランドと構造的に類似した操作を実行することが多いため、MERIT はシーケンス・アライメントを適応させ、マージの機会を発見し、ハードウェアの事前の操作なしで、安全なオペランド・レベルの監視を採用しています.
LLVMパスとして実装し、4つのベンチマークスイートから102プログラムで評価され、MERITは、ハードウェアブランチ予測と比較して32xのピーク改善で10.9%の幾何学的平均スピードアップを達成し、静的な指示オーバーヘッドの低減効果を実証します.
匿名コメント
共有
最初のコメントをどうぞ。