Posted at

SDAccel:FPGAを利用したFPGA経験不要なアクセラレーション

More than 3 years have passed since last update.


  • OpenCL、C、C++、カーネルを混在させて扱える

  • FPGA設計経験がなくても使えるらしい

  • 異なるFPGAに簡単に移行できるらしい

スマホにも自由に使えるFPGAが積まれないかな?

http://forums.xilinx.com/t5/Xcell-Daily-Blog/bg-p/Xcell


(雑訳)

OpenCL, C, C++向けのCPU/GPUライクなソフトウエア開発環境が、ワットあたり25倍の性能向上を図れるFPGAベースのアプリを提供

by Xilinx Employee sleibso on 11-17-2014 06:57 AM

新しいXilinxのSDAccel 開発環境は、データセンター向け開発者に、ソフトウエアのみで定義されたCPU/GPUでの開発と同様の環境で、消費電力あたり性能を25倍向上させる完璧なFPGAベースのアプリケーションアクセラレータを提供します。

SDAccelは、以下を含みます。


  • FPGAリソースを効率的に利用できる高速で、賢い最適化コンパイラ

  • コード開発、プロファイリング、デバッグ向けにEclipse IDEによる、CPU/GPU環境の開発と同様のなじみ深いソフトウエア開発フロー

  • 異なるデータセンターアプリケーション向けに最適化される、オンザフライで交換可能な動的再構成アクセラレータ

アプリケーションは、サーバCPUとFPGAとのやりとりを中断させることなく、FPGA上で動作中に交換される複数のカーネルを持つことができるため、ノンストップのアプリケーションアクセラレーションが可能になります。

alt

SDAccelコンパイラは、 OpenCL, C, C++, カーネル、高性能Xilinx FPGAを組み合わせを使ったソースコードをサポートします。

SDAccelコンパイラは、ハイエンドCPUを10倍凌駕する性能と、GPUに比べて1/10の消費電力を提供する一方、コンパチビリティを保ったコード管理と、従来同様のソフトウエアプログラミングモデルによって、容易なアプリケーションマイグレーションとコスト節約が可能になります。

パートナーによるベンチマークに基づくと、SDAccelコンパイラは、競合するFPGA環境に対して3倍の性能・リソース効率を提供します。

SDAccelコンパイラによる自動生成されたデザインは、手で書いたRTLベースのデザインより良い性能(いくつかのケースでは20%良い)を提供します。

開発者はアプリケーションの最適化になじみ深い作業フローを使うことができ、

ほんの少しまたは全くFPGAの経験がなくてもFPGA環境を活用することができます。

IDEは、コードテンプレートとSWライブラリを用意し,さらに、コンパイル、デバッグ、プロファイリング、x86プラットフォーム上でのFPGAエミュレーションを可能にします。

開発開始時には、自動のインスツルメンテーション挿入を備えたデータセンター向け民生用FPGA上にアルゴリズムを実装します。

データセンター向けアクセラレーションボードは、Convey Computer, Alpha Data Parallel Systems, and Pico Computingの各社からリリースされています。更なるCOTSパートナーは、2015年の速いうちに追加される予定です。

SDAccelライブラリは、高性能、低消費電力実装のためのOpenCL plus DSP, ビデオ、線形代数ライブラリを含んでいます。

XilinxアライアンスメンバーのAuviz Systems社は、最適化された、ドメイン特化型OpenCVとSDAccel向けBLASライブラリを提供しています。

アプリケーション開発者は、機能性を確認可能なx86エミュレーション空間のみで、SDAccelを使い始めることができます。

アルゴリズムに確信が持てたら、アクセラレーションが効くコード領域を探すためにプロファイリングすることができます。

そして、開発者は、これらの最適化対象領域を取り出し、高速な、自動生成されたカーネル(ハードウエアアクセラレーションをデバッグ、最適化するため)のサイクルベースシミュレーションをシームレスに使うことができます。

これら最初の2つのフェーズの間は、FPGAを必要としません。

アプリケーションは、ホスト/FPGAシステムへのポートの準備ができています。

SDAccel開発環境は、これらの活動のすべてを単一のプログラマフレンドリなコックピットを提供します。

SDAccelは、リアルタイムなCPU/GPU風システムの実行時更新が可能な、唯一のFPGAベース動的再構成アクセラレータを提供します。

FPGAベースのハードウエアアクセラレーションによる方法に特有ですが、

SDAccelは、カーネルが新たなハードウエアアクセラレータカーネルをロードできるFPGAベース動的再構成機能(CPU/GPUアクセラレータの機能と同様)でアップデートしている間も、システム機能を保ちます。

その一方、クリティカルシステムのインタフェースと機能、例えば、メモリ、イーサネット、PCIe、パフォーマンスモニタは動作させ続けます。

このオンザフライのシステム再構成は、データセンターにおける計算の需要と負荷に応じた即時アップデートに理想的です。

この機能が戦略的な利点をもたらすアプリケーションの例として、画像検索、ビデオ変換、画像処理をオンザフライで切り替えることが挙げられます。

このすべてが、ハードウエア再利用を通して、リソース最適化につながります。

このことは、データセンター環境では非常な利点となります。

簡単にいえば、SDAccelベースのシステムは、今日の時点ではあるアプリケーションをアクセラレートすることができ、明日他のタイプのアクセラレーションが必要になれば、システムは素早く、かつスムーズにアップグレードできます。