Vitis ハードウェア アクセラレーション¶
最適化されたアクセラレーション アプリケーションを開発する手法には、アプリケーションのアーキテクチャとハードウェア カーネルの開発の 2 つの段階があります。最初の段階では、どのソフトウェア関数を FPGA カーネルでアクセラレーションするか、どれくらいの並列処理が達成可能か、どのようにコード記述するかなど、アプリケーション アーキテクチャに関する重要事項を決定します。第 2 段階では、ソース コードを構築し、必要なコンパイラ オプションとプラグマを適用して、最適なパフォーマンス ターゲットを達成するのに必要なカーネル アーキテクチャを作成して、カーネルをインプリメントします。次の例では、この方法を実際のアプリケーションで使用します。
概要
チュートリアル |
内容 |
---|---|
このチュートリアルでは、ザイリンクス テクノロジを使用したアプリケーションのアクセラレーション方法をわかりやすく紹介します。まず、アクセラレーションの基礎から開始し、基本的なアーキテクチャ上の手法、アクセラレーションに適したコードの特定、メモリの管理およびターゲット デバイスとの通信を最適に実行するためのソフトウェア API の使用について説明します。 |
設計チュートリアル¶
最適化されたアクセラレーション アプリケーションを開発する手法には、アプリケーションのアーキテクチャとハードウェア カーネルの開発の 2 つの段階があります。最初の段階では、どのソフトウェア関数を FPGA カーネルでアクセラレーションするか、どれくらいの並列処理が達成可能か、どのようにコード記述するかなど、アプリケーション アーキテクチャに関する重要事項を決定します。第 2 段階では、ソース コードを構築し、必要なコンパイラ オプションとプラグマを適用して、最適なパフォーマンス ターゲットを達成するのに必要なカーネル アーキテクチャを作成して、カーネルをインプリメントします。次の例では、この方法を実際のアプリケーションで使用します。
チュートリアル |
内容 |
---|---|
カーネルとホスト コードの最適化手法を組み合わせて、データ解析アプリケーションで 10 倍のスピードアップを達成する方法を説明します。 |
|
ビデオ ストリームのリアルタイム処理に使用される 2D たたみ込みを解析および最適化するプロセスについて説明します。 |
|
フリーランニング RTL カーネル、Vitis ライブラリ関数、カスタム Vitis HLS カーネルを実際のシステムに統合する方法を示します。 |
|
このチュートリアルでは、アルゴリズム モデルからハードウェアに HLS カーネルをインプリメントするためのフロー全体をデモします。 |
|
このチュートリアルでは、GUI 環境を使用せずにバッチ モードで、複雑な RTL カーネルを最初から開発する方法を示します。 |
|
FPGA アクセラレーションの概念を説明し、Cholesky マトリックス分解アルゴリズムをインプリメントするハードウェア アクセラレータを徐々に最適化する方法を示します。 |
|
CPU ホスト コードを最適化して、ハードウェア アクセラレータとランタイム ソフトウェアの相互関係を最大限に活用する方法を説明します。 |
機能チュートリアル¶
チュートリアル |
内容 |
---|---|
Vitis コア開発キットを使用して RTL カーネルを FPGA にプログラムし、一般的な開発フローでハードウェア エミュレーションをビルドする方法を説明します。 |
|
RTL および C カーネルを含むアプリケーションと、さまざまなデザイン解析機能を使用する方法を示します。 |
|
このチュートリアルでは、Vitis HLS でデータフローをデバッグおよび最適化する方法を示します。 |
|
複数の DDR を使用してカーネルとグローバル メモリ間のデータ転送を向上する方法を説明します。 |
|
FPGA のカーネル インスタンス数を増加する柔軟なカーネル リンク プロセスを使用して、統合したホスト カーネル システムの並列処理を改善する方法を説明します。 |
|
プロジェクトをインプリメントする際に Vivado® ツール フローを制御する方法を説明します。 |
|
このチュートリアルでは、HBM をサポートするプラットフォームで HBM を最大限に活用する方法について説明します。 |
|
このチュートリアルでは、カーネルが直接バッファー ホスト メモリにアクセスする方法をデモします。この機能には、互換性のあるプラットフォームが必要です。 |