Skip to main content
QUICK REVIEW

[論文レビュー] Code Generation for High-Level Synthesis of Multiresolution Applications on FPGAs

Moritz Schmid, Oliver Reiche|arXiv (Cornell University)|Aug 20, 2014
Numerical Methods and Algorithms参考文献 16被引用数 12
ひとこと要約

本論文では、HIPAcc DSLに基づくコード生成フレームワークを提示しており、FPGAおよび埋め込みGPU向けに、高性能でマルチスケールの画像処理アプリケーションを自動合成する。ドメイン特化言語と自動的高水準合成を活用することで、ガウスおよびラプラシアンピラミッドを用いたようなマルチスケールアルゴリズムの効率的実装が可能となり、低レベルのハードウェア設計の専門知識を必要とせず、異種アクセラレータ上で最適化されたパフォーマンスを達成する。

ABSTRACT

Multiresolution Analysis (MRA) is a mathematical method that is based on working on a problem at different scales. One of its applications is medical imaging where processing at multiple scales, based on the concept of Gaussian and Laplacian image pyramids, is a well-known technique. It is often applied to reduce noise while preserving image detail on different levels of granularity without modifying the filter kernel. In scientific computing, multigrid methods are a popular choice, as they are asymptotically optimal solvers for elliptic Partial Differential Equations (PDEs). As such algorithms have a very high computational complexity that would overwhelm CPUs in the presence of real-time constraints, application-specific processors come into consideration for implementation. Despite of huge advancements in leveraging productivity in the respective fields, designers are still required to have detailed knowledge about coding techniques and the targeted architecture to achieve efficient solutions. Recently, the HIPAcc framework was proposed as a means for automatic code generation of image processing algorithms, based on a Domain-Specific Language (DSL). From the same code base, it is possible to generate code for efficient implementations on several accelerator technologies including different types of Graphics Processing Units (GPUs) as well as reconfigurable logic (FPGAs). In this work, we demonstrate the ability of HIPAcc to generate code for the implementation of multiresolution applications on FPGAs and embedded GPUs.

研究の動機と目的

  • FPGA上で複雑なマルチスケールアルゴリズムを手動で実装する課題に取り組むこと。これは、アルゴリズムと低レベルのハードウェア設計の両方に深い専門知識を要する。
  • 高水準仕様からの自動コード生成により、ハードウェアアクセラレーションにおける生産性の格差を低減すること。
  • HIPAccフレームワークを拡張し、FPGA向けの高水準合成(HLS)をサポートすることで、多様なアクセラレータプラットフォームにわたるポータブルで効率的な実装を可能にすること。
  • 画像ピラミッドおよびマルチグリッド法に基づくマルチスケールアプリケーションが、自動コード生成を用いてFPGAに効率的にマッピング可能であることを示すこと。

提案手法

  • マルチスケール画像処理アルゴリズムを高水準でポータブルな形で記述するために、HIPAccドメイン特化言語(DSL)が使用される。
  • フレームワークは、DSL仕様からFPGAおよびGPUの両方をターゲットとする最適化されたC++/OpenCLコードを自動生成する。
  • 生成されたC++コードをハードウェア記述(例:Verilog/VHDL)に変換するために、高水準合成(HLS)ツールが適用される。
  • ピラミッド分解や再帰的フィルタリングなどの、マルチスケール処理で一般的なアルゴリズム的パターンがサポートされる。
  • 自動パイipelニングとリソース共有を通じて、データフローと並列性の活用が保証される。
  • フレームワークはクロスプラットフォームデプロイメントを可能にし、同じアルゴリズム的仕様を最小限の変更で、異なるアクセラレータに適用できる。

実験結果

リサーチクエスチョン

  • RQ1高水準ドメイン特化言語を用いて、FPGA向けにマルチスケール画像処理アルゴリズムを自動生成することは可能か?
  • RQ2手動設計と比較して、HIPAccフレームワークはマルチスケールアプリケーションのFPGA実装において、どの程度の高性能を達成できるか?
  • RQ3自動コード生成を介して、同じアルゴリズム的仕様をFPGAおよびGPUを含む複数のアクセラレータプラットフォームでどの程度再利用可能か?
  • RQ4画像ピラミッドやマルチグリッドソルバーのようなマルチスケールアルゴリズムに高水準合成を適用した場合、どの程度のパフォーマンスとリソース効率が達成できるか?

主な発見

  • HIPAccフレームワークは、高水準DSL仕様からFPGA向けに効率的で合成可能なハードウェアコードを、マルチスケール画像処理アプリケーションに対して成功裏に生成した。
  • 本アプローチにより、ガウスおよびラプラシアンピラミッドのようなマルチスケールアルゴリズムが、低レベルのハードウェアコーディングを必要とせずにFPGAに自動的にマッピング可能となった。
  • 生成されたFPGA実装は、高いパフォーマンスとリソース効率を達成しており、複雑な科学的ワークロードにおける自動HLSの実現可能性が示された。
  • 同じアルゴリズム的仕様が、FPGAおよびGPUを含む複数のプラットフォームで再利用可能であり、開発作業の削減とポータビリティの向上が達成された。
  • 再構成可能ハードウェア上で高性能なマルチスケールアプリケーションを実装するための専門知識の障壁が、本フレームワークにより顕著に低減された。

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

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

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

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