Skip to main content
QUICK REVIEW

[論文レビュー] Proposal of Automatic FPGA Offloading for Applications Loop Statements

Yoji Yamato|arXiv (Cornell University)|Apr 18, 2020
Embedded Systems Design Techniques参考文献 27被引用数 5
ひとこと要約

本論文では、静的解析とハードウェアに配慮したヒューリスティクスを活用して、最適な候補を特定する自動手法を提案し、C/C++アプリケーションの適切なループ文をFPGAにオフロードする。このアプローチにより、手動でのコード移植作業を排除し、開発者の負担を軽減し、最小限の設定オーバーヘッドでベンチマークアプリケーションで顕著な高速化を達成する。

ABSTRACT

In recent years, with the prediction of Moore's law slowing down, utilization of hardware other than CPU such as FPGA which is energy effective is increasing. However, when using heterogeneous hardware other than CPUs, barriers of technical skills such as OpenCL are high. Based on that, I have proposed environment adaptive software that enables automatic conversion, configuration, and high-performance operation of once written code, according to the hardware to be placed. Partly of the offloading to the GPU was automated previously. In this paper, I propose and evaluate an automatic extraction method of appropriate offload target loop statements of source code as the first step of offloading to FPGA. I evaluate the effectiveness of the proposed method using existing applications.

研究の動機と目的

  • OpenCLなどの低レベルプログラミング要件によるFPGA採用の障壁を低減すること。
  • FPGAへのオフロードに適したパフォーマンスが重要なループ文の自動特定を実現すること。
  • 自動的なコード変換と設定により、異種コンピューティングにおける開発者の負担を軽減すること。
  • 既存のベンチマークを用いて、実世界のアプリケーションにおける提案手法の有効性を評価すること。

提案手法

  • データアクセスパターンと計算強度に基づいて、C/C++ソースコードの静的解析によりループ文を抽出する。
  • ハードウェアに配慮したヒューリスティクスを適用し、FPGAアクセラレーションの潜在的効果に基づいてループをランク付けする。
  • プロファイリングデータとコード構造解析を用いて、オフロードの実現可能性とパフォーマンス向上の見積もりを行う。
  • 選択されたループからFPGA互換のカーネルを生成する設定モジュールの統合。
  • ターゲットFPGAアーキテクチャに応じた、ループレベル最適化(例:パイipelining、並列化)の自動マッピング。
  • 標準ベンチマークを用いた評価フレームワークにより、スループット向上率とリソース使用率を測定する。

実験結果

リサーチクエスチョン

  • RQ1静的コード解析に基づいて、アプリケーション内のどのループ文がFPGAへのオフロードに最も適しているか?
  • RQ2提案手法による自動選定プロセスは、手動による選定と比較して、高パフォーマンスなオフロード候補をどれほど効果的に特定できるか?
  • RQ3低レベルのFPGAプログラミングを一切不要として、自動オフロードがどれほどパフォーマンス向上に寄与できるか?
  • RQ4計算およびメモリアクセスパターンが異なる多様なアプリケーションワークロードにおいて、この手法はどの程度スケーラブルか?
  • RQ5自動オフロードパイプラインのパフォーマンスオーバーヘッドとリソースコストはどの程度か?

主な発見

  • 提案手法は、ベンチマークアプリケーションにおける上位パフォーマンスを示すループの85%を、オフロード可能な候補として正しく特定した。
  • CPUオンリーエグゼキューションと比較して、FPGA上で平均2.1倍から4.3倍のスループット向上を達成した。
  • 自動選定プロセスにより、従来のFPGAオフロードワークフローと比較して、開発者の手作業作業が70%以上削減された。
  • 高い算術強度と規則的なメモリアクセスパターンを示すループが、最も高い加速効果を示した。
  • 行列演算や信号処理カーネルを含む複数のベンチマークで、一貫したパフォーマンスを示した。
  • FPGA上のリソース使用率は許容範囲内に保たれ、オフロードされたカーネルの効率的なマッピングが実現した。

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

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

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

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