SEER: Super-Optimization Explorer for HLS using E-graph Rewriting with MLIR

要約

高位合成 (HLS) は、高水準言語のソフトウェア プログラムを低水準のハードウェア記述に自動的に変換するプロセスです。
ただし、HLS ツールによって作成されたハードウェア設計には、手動実装と比較して依然として大きなパフォーマンスのギャップがあります。
これは、入力 HLS プログラムは引き続きハードウェア設計原則を使用して作成する必要があるためです。
既存の技術では、プログラム ソースを変更しないままにするか、固定シーケンスのソース変換パスを実行するため、最適な設計を見つける機会が失われる可能性があります。
私たちは、任意のソフトウェア プログラムを、最適化されたハードウェア設計の生成に使用できる効率的な HLS コードに自動的に書き換える、HLS の超最適化アプローチを提案します。
私たちは、e-graph データ構造に基づいて、プログラムの同等の実装を大規模に効率的に探索するために、SEER という名前のツールフローを開発しました。
SEER は、既存のソフトウェア コンパイラ パスとハードウェア合成オプティマイザを調整する、拡張可能なフレームワークを提供します。
私たちの研究は、MLIR などの大規模なソフトウェア コンパイラ フレームワークで e-graph の書き換えを利用する最初の試みです。
一連のオープンソース ベンチマーク全体で、SEER が元のプログラムの 1.4 倍の領域内で最大 38 倍のパフォーマンスを達成することがわかりました。
インテルが提供するケーススタディを通じて、SEER は、ハードウェアの専門家によって作成された手動で最適化された設計を上回るパフォーマンスを発揮する可能性を示しています。

要約(オリジナル)

High-level synthesis (HLS) is a process that automatically translates a software program in a high-level language into a low-level hardware description. However, the hardware designs produced by HLS tools still suffer from a significant performance gap compared to manual implementations. This is because the input HLS programs must still be written using hardware design principles. Existing techniques either leave the program source unchanged or perform a fixed sequence of source transformation passes, potentially missing opportunities to find the optimal design. We propose a super-optimization approach for HLS that automatically rewrites an arbitrary software program into efficient HLS code that can be used to generate an optimized hardware design. We developed a toolflow named SEER, based on the e-graph data structure, to efficiently explore equivalent implementations of a program at scale. SEER provides an extensible framework, orchestrating existing software compiler passes and hardware synthesis optimizers. Our work is the first attempt to exploit e-graph rewriting for large software compiler frameworks, such as MLIR. Across a set of open-source benchmarks, we show that SEER achieves up to 38x the performance within 1.4x the area of the original program. Via an Intel-provided case study, SEER demonstrates the potential to outperform manually optimized designs produced by hardware experts.

arxiv情報

著者 Jianyi Cheng,Samuel Coward,Lorenzo Chelini,Rafael Barbalho,Theo Drane
発行日 2023-08-15 09:05:27+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AR, cs.CL, cs.PL パーマリンク