Skip to main content
QUICK REVIEW

[論文レビュー] Optimizing Memory Performance of Xilinx FPGAs under Vitis

Ruoshi Li, Hongjing Huang|arXiv (Cornell University)|Oct 18, 2020
Parallel Computing and Optimization Techniques参考文献 32被引用数 7
ひとこと要約

本論文は、Vitis High-Level Synthesis (HLS) を用いて Xilinx FPGAs 上での HBM メモリ性能を最適化する包括的なベンチマークフレームワークを提示している。メモリアクセスパターンとアドレスマッピングポリシーが帯域幅に顕著な影響を及ぼすことが示されており、HBM2 を用いることで最大 431 GB/s のスループットを達成している。また、AI 推論ワークロードにおいて、マルチチャネルで大容量ユニットサイズのアクセスパターンを採用することで、CPU 実装と比較して 100X の高速化を達成している。

ABSTRACT

Plenty of research efforts have been devoted to FPGA-based acceleration, due to its low latency and high energy efficiency. However, using the original low-level hardware description languages like Verilog to program FPGAs requires generally good knowledge of hardware design details and hand-on experiences. Fortunately, the FPGA community intends to address this low programmability issues. For example, , with the intention that programming FPGAs is just as easy as programming GPUs. Even though Vitis is proven to increase programmability, we cannot directly obtain high performance without careful design regarding hardware pipeline and memory subsystem.In this paper, we focus on the memory subsystem, comprehensively and systematically benchmarking the effect of optimization methods on memory performance. Upon benchmarking, we quantitatively analyze the typical memory access patterns for a broad range of applications, including AI, HPC, and database. Further, we also provide the corresponding optimization direction for each memory access pattern so as to improve overall performance.

研究の動機と目的

  • Vitis および HLS を用いたハイレベルプログラミングにおける FPGA の潜在的性能と実際のメモリ帯域幅のギャップを解消すること。
  • Vitis における Xilinx FPGAs 上の HBM2 パフォーマンスに与えるメモリアクセスパターンの影響を体系的に評価すること。
  • アドレスマッピングポリシー、ユニットサイズ、メモリアクセスパターンがスループットおよびレイテンシに与える影響を同定および定量すること。
  • 多様なワークロードにおいて FPGAs の外部メモリパフォーマンスを評価するための再利用可能でオープンソースのベンチマークフレームワークを確立すること。
  • パフォーマンスとプログラマビリティのトレードオフを評価するために、HLS を用いた Vitis 実装と RTL(Vivado)ベースの設計を比較すること。

提案手法

  • Vitis および HLS を用いて、Xilinx U280 FPGA 上で HBM2 メモリアクセスのスケーラブルかつ体系的なベンチマークを実施し、スループット、レイテンシ、リソース利用率を測定した。
  • 4 つの基本的なデータベースメモリアクセスパターン(順次アクセス、ランダムアクセス、繰り返し順次アクセス、ネストドマルチカーソル走査)を評価した。
  • ユニットサイズやストライドを変更しながら、単一チャネルおよびマルチチャネル(最大 32 チャネル)の HBM アクセスを実装・比較した。
  • AXI インターフェースを直接使用して HBM2 にアクセスし、キャッシュの干渉を排除することで、実システムレベルの挙動を反映した結果を得た。
  • CPU、RTL(Vivado)、DDR4/DDR5 のベースラインと比較して、Vitis/HLS 特有のパフォーマンス特性を隔離してベンチマークした。
  • アドレスマッピングポリシーが帯域幅に与える影響を分析し、順次アクセスにおいて最大 10 倍のスループット差が生じることを示した。

実験結果

リサーチクエスチョン

  • RQ1メモリアクセスパターンの選択(例:順次アクセス対ランダムアクセス)が、Vitis/HLS を用いた FPGAs 上の HBM2 帯域幅およびレイテンシに与える影響は何か?
  • RQ2アドレスマッピングポリシーが HBM2 メモリスループットに与える影響は何か? また、異なるアクセスパターンに最適化するにはどうすればよいか?
  • RQ3Vitis/HLS は、RTL ベースの実装と比較して、HBM2 のピーク帯域幅にどの程度近づけるか?
  • RQ4ユニットサイズとストライドは、AI 推論やデータベース演算子などのメモリバウンドアプリケーションのパフォーマンスにどのように影響するか?
  • RQ5HLS を用いた FPGA 設計において、シングルカーネルとマルチカーネル(マルチチャネル)の HBM アクセスには、パフォーマンスとリソースのトレードオフが生じるか?

主な発見

  • Xilinx U280 における HLS を用いた Vitis 実装は、HBM2 を用いて最大 431 GB/s のメモリ帯域幅を達成しており、理論ピークおよび RTL レベルのパフォーマンスと一致している。
  • 最適なアドレスマッピングを用いた順次アクセスでは 421.68 GB/s のスループットを達成するが、ランダムアクセス(LFSR)ではわずか 5.82 GB/s に低下し、アクセスパターンの重要性が顕著に示された。
  • ネストドマルチカーソル順次アクセスパターンが最高のスループット(421.89 GB/s)を達成しており、大容量ユニットサイズとアラインドストライドの利点が裏付けられた。
  • マルチチャネル HBM アクセス(32 チャネル)は、単一チャネル(2 チャネル)実装と比較して 10 倍のパフォーマンス向上を達成しており、リソース利用率はわずか 2 倍増加にとどまった。
  • 32 チャネル HBM アクセスを用いた AI 推論ワークロードは、CPU 実装と比較して 100X 以上の高速化を達成しており、LUT 18.8%、FF 14.8% のリソース利用率であった。
  • Vitis プラットフォームは、カーネルカプセル化のため、Vivado/RTL と比較して約 10% のレイテンシオーバーヘッドを有するが、CPU/GPU の HBM アクセスレイテンシと同等のパフォーマンスを維持している。

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

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

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

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