Skip to main content
QUICK REVIEW

[論文レビュー] ScaleHLS: Scalable High-Level Synthesis through MLIR

Hanchen Ye, Cong Hao|arXiv (Cornell University)|Jul 24, 2021
Parallel Computing and Optimization Techniques参考文献 42被引用数 8
ひとこと要約

ScaleHLS は、MLIR の多層中間表現 (IR) を基盤として、スケーラブルでカスタマイズ可能かつ高パフォーマンスなハードウェア設計を実現する次世代 High-Level Synthesis (HLS) フローを提案する。多層抽象化レベルの最適化と HLS 專用変換ライブラリを活用することで、それぞれカーネルおよびニューラルネットワークワークロードにおいて Vivado HLS と比較して最大 768.1x および 3,825.0x のパフォーマンス向上を達成した。

ABSTRACT

High-level Synthesis (HLS) has been widely adopted as it significantly improves the hardware design productivity and enables efficient design space exploration (DSE). HLS tools can be used to deliver solutions for many different kinds of design problems, which are often better solved with different levels of abstraction. While existing HLS tools are built using compiler infrastructures largely based on a single-level abstraction (e.g., LLVM), we propose ScaleHLS, a next-generation HLS compilation flow, on top of a multi-level compiler infrastructure called MLIR, for the first time. By using an intermediate representation (IR) that can be better tuned to particular algorithms at different representation levels, we are able to build this new HLS tool that is more scalable and customizable towards various applications coming with intrinsic structural or functional hierarchies. ScaleHLS is able to represent and optimize HLS designs at multiple levels of abstraction and provides an HLS-dedicated transform and analysis library to solve the optimization problems at the suitable representation levels. On top of the library, we also build an automated DSE engine to explore the multi-dimensional design space efficiently. In addition, we develop an HLS C front-end and a C/C++ emission back-end to translate HLS designs into/from MLIR for enabling the end-to-end ScaleHLS flow. Experimental results show that, comparing to the baseline designs only optimized by Xilinx Vivado HLS, ScaleHLS improves the performances with amazing quality-of-results -- up to 768.1x better on computation kernel level programs and up to 3825.0x better on neural network models.

研究の動機と目的

  • LLVM のような単一レベルコンパイラーインfra に依存する従来の HLS ツールのスケーラビリティおよびカスタマイズ性の制限を解消すること。
  • 多様なハードウェアワークロード向けに、複数の抽象化レベルで効率的な設計空間探索 (DSE) を可能にすること。
  • MLIR の多層 IR を活用することで、階層的かつ構造的に複雑な設計をより良い表現と最適化でサポートすること。
  • C/C++ フロントエンドと MLIR 内でのバックエンド統合を実現するエンドツーエンドの HLS フローを構築すること。

提案手法

  • MLIR の多層 IR を活用し、異なる抽象化レベルで HLS 設計を表現・最適化することで、各レベルに特化した最適化を可能にする。
  • 各設計部品に最適な表現レベルで最適化を実行できる、HLS 専用の変換および分析ライブラリを導入する。
  • MLIR の拡張性と階層的 IR を活かし、多次元設計空間を効率的に探索する自動 DSE エンジンを構築する。
  • エンドツーエンドの変換を実現するため、C フロントエンドと C/C++ 発行バックエンドを開発し、MLIR IR 内での HLS 設計の入出力を可能にする。
  • MLIR の正規化およびパスインfraを活用して、抽象化レベルを跨ぐ最適化パスを合成・組み合わせる。
  • 階層的表現と最適化を採用することで、ニューラルネットワークやカーネルなど構造的に複雑な設計における構造的・機能的関係を保持する。

実験結果

リサーチクエスチョン

  • RQ1多層 IR インfra は、High-Level Synthesis (HLS) フローのスケーラビリティおよびカスタマイズ性をどのように向上させるか?
  • RQ2MLIR の階層的 IR 表現は、ニューラルネットワークやカーネルのような構造的に複雑な設計の最適化をより効果的に行えるか?
  • RQ3MLIR 内に統合された HLS 専用の変換および分析ライブラリは、最適化品質およびパフォーマンスをどのように向上させるか?
  • RQ4MLIR の多層 IR および拡張可能なパスインfraを活用することで、自動設計空間探索 (DSE) はどの程度高速化できるか?
  • RQ5Vivado HLS や他の既存ツールと比較して、MLIR を基盤とする次世代 HLS フローはどの程度のパフォーマンス向上を達成できるか?

主な発見

  • ScaleHLS は、Xilinx Vivado HLS の最適化のみを適用したベースライン設計と比較して、計算カーネルレベルのプログラムで最大 768.1x の高いパフォーマンスを達成した。
  • ニューラルネットワークモデルでは、同じ Vivado HLS ベースラインと比較して、最大 3,825.0x のパフォーマンス向上を達成した。
  • MLIR の多層 IR により、異なる抽象化レベルに特化したより効果的で的確な最適化が可能となり、パフォーマンスと設計の保守性の両方が向上した。
  • MLIR に裏付けられた自動 DSE エンジンは、多次元設計空間を効率的に探索し、人的作業を大幅に削減した高品質な結果をもたらした。
  • C フロントエンドおよび C/C++ バックエンドを含むエンドツーエンドのフローにより、MLIR エコシステム内での HLS 設計のシームレスな統合と変換が実現された。
  • HLS 専用の変換および分析ライブラリにより、モノリシックな最適化アプローチをはるかに上回る、精密でレベル特化の最適化が可能となった。

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

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

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

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