SDAccel の入門と概要
SDAccel™ 環境は、標準プログラミング言語を使用して FPGA でアクセラレーションされたデータセンター アプリケーションを開発して配布するためのフレームワークを提供します。SDAccel 環境には、Eclipse ベースの統合設計環境 (IDE) と、FPGA リソースを効率的に活用するためアーキテクチャに最適化されたコンパイラを使用した、一般的なソフトウェア開発フローが含まれます。アクセラレーション アプリケーションの開発者は、使い慣れたソフトウェア プログラミング ワークフローを使用して、FPGA またはハードウェア デザインの経験がなくても、FPGA アクセラレーションを利用できます。アクセラレーション カーネルの開発者は、ハードウェア中心設計手法を使用して、標準プログラミング言語を HLS コンパイラでコンパイルして、ソフトウェア コンポーネントおよびハードウェア コンポーネントの両方を含むヘテロジニアス アプリケーションを生成できます。ソフトウェア コンポーネント (アプリケーション) は C/C++ と OpenCL™ API 呼び出しを使用して開発し、ハードウェア コンポーネント (カーネル) は C/C++、OpenCL、または RTL を使用して開発します。SDAccel 環境ではさまざまな設計手法を使用でき、ソフトウェア コンポーネントからでもハードウェア コンポーネントからでも開発を開始できます。
ザイリンクス FPGA には、プロセッサで実行可能などの関数でもインプリメントできるカスタム アーキテクチャなど、従来の CPU/GPU アクセラレーションと比べて多数の利点があり、消費電力を低く抑えながら高いパフォーマンスを達成できます。ザイリンクス デバイスでソフトウェアをアクセラレーションできる利点を活用するには、アプリケーションで計算負荷の高い部分をアクセラレーションします。これらの関数をカスタム ハードウェアにインプリメントすると、パフォーマンスと消費電力の理想的なバランスを達成できます。SDAccel 環境には、アプリケーションのパフォーマンスをプロファイリングし、アクセラレーションできる部分を特定するためのツールとレポートが含まれています。また、キャッシュ、メモリ、バス使用量の自動ランタイム インストルメンテーションも提供され、ハードウェア上でのリアルタイム パフォーマンスを確認できます。
SDAccel 環境は、ザイリンクス Alveo™ U200 および U250 データセンターなどのアクセラレーション ハードウェア プラットフォームをターゲットにしています。これらのアプリケーション プラットフォームは、計算集約型のアプリケーション、特にライブ ビデオ トランスコーディング、データ解析、機械学習を使用する人工知能 (AI) アプリケーション用に開発されています。SDAccel 環境と互換性を持つサードパーティ アクセラレーション プラットフォームも多数あります。
アクセラレーション ML 推論アプリケーションを最適化および運用する ザイリンクス 機械学習 (ML) スイートなどの多数の FPGA アクセラレーション ライブラリは、SDAccel 環境から使用できます。定義済みのアクセラレータ関数には、人口知能 (Caffe、MxNet、TensorFlow などの一般的な機械学習フレームワークを多数含む)、ビデオ処理、暗号化、ビッグ データ解析などのターゲット アプリケーションがあります。これらのザイリンクスおよびサードパーティ開発者から提供されている定義済みアクセラレータ ライブラリを、アクセラレーション アプリケーション プロジェクトに統合すると、開発期間を短縮できます。