[論文レビュー] When HLS Meets FPGA HBM: Benchmarking and Bandwidth Optimization
本論文では、HBM搭載FPGAにおける複数のHBMメモリチャネルへのアクセスにおいて、高レベル合成(HLS)ツールの制限を克服することで、有効帯域幅を向上させるHLSベースの最適化技術を提案する。BICA(バーストインタリーブドチャネルアクセス)とBIPA(バーストインタリーブドPEアーキテクチャ)を導入することで、Intel Stratix 10 MXおよびXilinx Alveo U280プラットフォーム上でのメモリバウンドアプリケーション(バケットソートやバイナリサーチなど)において、有効帯域幅が2.4Xから3.8X向上した。
With the recent release of High Bandwidth Memory (HBM) based FPGA boards, developers can now exploit unprecedented external memory bandwidth. This allows more memory-bounded applications to benefit from FPGA acceleration. However, we found that it is not easy to fully utilize the available bandwidth when developing some applications with high-level synthesis (HLS) tools. This is due to the limitation of existing HLS tools when accessing HBM board's large number of independent external memory channels. In this paper, we measure the performance of three recent representative HBM FPGA boards (Intel's Stratix 10 MX and Xilinx's Alveo U50/U280 boards) with microbenchmarks and analyze the HLS overhead. Next, we propose HLS-based optimization techniques to improve the effective bandwidth when a PE accesses multiple HBM channels or multiple PEs access an HBM channel. Our experiment demonstrates that the effective bandwidth improves by 2.4X-3.8X. We also provide a list of insights for future improvement of the HBM FPGA HLS design flow.
研究の動機と目的
- HBMのマルチチャネルアーキテクチャを効率的にサポートしないHLSツールチェーンによる、メモリバウンドFPGAアプリケーションにおける性能ギャップを解消すること。
- 最近のFPGAボード(Stratix 10 MX、Alveo U50、U280)における複数のHBMチャネルにアクセスする際のHLSオーバーヘッドを特定・分析すること。
- 単一のPEが複数のHBMチャネルにアクセスする場合や、複数のPEが単一のチャネルに共有アクセスする場合に、有効帯域幅を向上させるHLS最適化技術を開発すること。
- HLSツールベンダーよりも、HBMベースのFPGA設計ワークフローをより良くサポートするための実用的知見を提供すること。
提案手法
- 複数のアクセスパターン下で、3つのHBM2 FPGAプラットフォームにおけるベースライン性能を測定するためのマイクロベンチマークを設計・評価した。
- BICA(バーストインタリーブドチャネルアクセス)を導入し、仮想チャネルと最適化されたFIFO管理を用いて、単一のPEが複数のHBM PCに効率的なバーストアクセスを可能にする。
- BIPA(バーストインタリーブドPEアーキテクチャ)を提案し、複数のPEが単一のHBM PCにアクセスできるようにすることで、仲裁オーバーヘッドを低減し、帯域幅の利用効率を向上させる。
- XilinxおよびIntelのHBM FPGAプラットフォーム上で、Cベースのカーネルを用いて両技術を実装・評価した。
- リソースとパフォーマンスのトレードオフを分析するために、多数対多数のPEからPCへのマッピングを可能にするカスタムクロスバー設計を導入した。
- FIFO共有のための仮想チャネル抽象化をHLSに導入し、FIFO制御論理とFPGAリソース消費を削減することで、スケーラブルなメモリアクセスパターンを実現した。
実験結果
リサーチクエスチョン
- RQ1理論的ピーク帯域幅が約400 GB/sに達するにもかかわらず、なぜ既存のHLSツールはHBM2 FPGAプラットフォームの高帯域幅を十分に活用できないのか?
- RQ2複数のHBMメモリチャネルにアクセスする際の、主なアーキテクチャ的およびHLS固有のボトルネックは何か?
- RQ3単一のプロセッシングエレメントが複数のHBMチャネルにアクセスする場合、HLSベースの設計をどのように最適化すれば帯域幅を向上させられるか?
- RQ4HLS生成設計において、複数のプロセッシングエレメントが単一のHBMチャネルにアクセスする場合のパフォーマンスとリソースのトレードオフは何か?
- RQ5HBM2 FPGAメモリアーキテクチャをより良くサポートするため、HLSツールにどのようなデザインフローの改善が必要か?
主な発見
- HBM2 FPGA上でのメモリバウンドアプリケーションの有効帯域幅は、HLSツールチェーンのオーバーヘッドによって顕著に制限されており、Alveo U280上でのバケットソートでは2.3 GB/sという低い帯域幅が観測された。
- BICAは、バイナリサーチや深さ優先探索などのアプリケーションで、複数のHBM PCにわたる効率的なバーストアクセスを可能にすることで、有効帯域幅を最大3.8X向上させた。
- Alveo U280上では、16個のPEが単一のHBM PCにアクセスできるようにすることで、BIPAが最大3.8Xの有効帯域幅向上を達成した。これは、HLSにおけるマルチ-PEアクセスの制限を克服した結果である。
- Stratix 10 MXでは、バケットソートの有効帯域幅がBICAを用いることで137 GB/s(ベースライン)から370 GB/sに向上し、2.7Xの高速化が達成された。
- 本研究では、現在のHLSツールにおける深いメモリパイプライン化が、バイナリサーチのような遅延バウンドアプリケーションで性能を低下させることを特定した。これにより、低遅延メモリパイプラインオプションの導入が求められる。
- 今後のHLSツール開発に向けた知見として、カスタマイズ可能なクロスバーテンプレート、FIFO共有用の仮想チャネルサポート、低遅延メモリパイプラインオプションの導入が、使いやすさとパフォーマンスの両面で重要であると示された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。