Vitis ハードウェア アクセラレーション

最適化されたアクセラレーション アプリケーションを開発する手法には、アプリケーションのアーキテクチャとハードウェア カーネルの開発の 2 つの段階があります。最初の段階では、どのソフトウェア関数を FPGA カーネルでアクセラレーションするか、どれくらいの並列処理が達成可能か、どのようにコード記述するかなど、アプリケーション アーキテクチャに関する重要事項を決定します。第 2 段階では、ソース コードを構築し、必要なコンパイラ オプションとプラグマを適用して、最適なパフォーマンス ターゲットを達成するのに必要なカーネル アーキテクチャを作成して、カーネルをインプリメントします。次の例では、この方法を実際のアプリケーションで使用します。

概要

チュートリアル

内容

Vitis ハードウェア アクセラレーションの概要

このチュートリアルでは、ザイリンクス テクノロジを使用したアプリケーションのアクセラレーション方法をわかりやすく紹介します。まず、アクセラレーションの基礎から開始し、基本的なアーキテクチャ上の手法、アクセラレーションに適したコードの特定、メモリの管理およびターゲット デバイスとの通信を最適に実行するためのソフトウェア API の使用について説明します。

設計チュートリアル

最適化されたアクセラレーション アプリケーションを開発する手法には、アプリケーションのアーキテクチャとハードウェア カーネルの開発の 2 つの段階があります。最初の段階では、どのソフトウェア関数を FPGA カーネルでアクセラレーションするか、どれくらいの並列処理が達成可能か、どのようにコード記述するかなど、アプリケーション アーキテクチャに関する重要事項を決定します。第 2 段階では、ソース コードを構築し、必要なコンパイラ オプションとプラグマを適用して、最適なパフォーマンス ターゲットを達成するのに必要なカーネル アーキテクチャを作成して、カーネルをインプリメントします。次の例では、この方法を実際のアプリケーションで使用します。

チュートリアル

内容

ブルーム フィルターの例

カーネルとホスト コードの最適化手法を組み合わせて、データ解析アプリケーションで 10 倍のスピードアップを達成する方法を説明します。

たたみ込みの例

ビデオ ストリームのリアルタイム処理に使用される 2D たたみ込みを解析および最適化するプロセスについて説明します。

RTL システム統合の例

フリーランニング RTL カーネル、Vitis ライブラリ関数、カスタム Vitis HLS カーネルを実際のシステムに統合する方法を示します。

巡回セールスパーソン問題

このチュートリアルでは、アルゴリズム モデルからハードウェアに HLS カーネルをインプリメントするためのフロー全体をデモします。

ボトム RTL カーネルのデザイン フローの例

このチュートリアルでは、GUI 環境を使用せずにバッチ モードで、複雑な RTL カーネルを最初から開発する方法を示します。

コレスキー アルゴリズム アクセラレーション

FPGA アクセラレーションの概念を説明し、Cholesky マトリックス分解アルゴリズムをインプリメントするハードウェア アクセラレータを徐々に最適化する方法を示します。

XRT ホスト コードの最適化

CPU ホスト コードを最適化して、ハードウェア アクセラレータとランタイム ソフトウェアの相互関係を最大限に活用する方法を説明します。

機能チュートリアル

チュートリアル

内容

RTL カーネル入門

Vitis コア開発キットを使用して RTL カーネルを FPGA にプログラムし、一般的な開発フローでハードウェア エミュレーションをビルドする方法を説明します。

C と RTL の混合

RTL および C カーネルを含むアプリケーションと、さまざまなデザイン解析機能を使用する方法を示します。

データフローのデバッグおよび最適化

このチュートリアルでは、Vitis HLS でデータフローをデバッグおよび最適化する方法を示します。

複数 DDR バンクの使用

複数の DDR を使用してカーネルとグローバル メモリ間のデータ転送を向上する方法を説明します。

複数の計算ユニットの使用

FPGA のカーネル インスタンス数を増加する柔軟なカーネル リンク プロセスを使用して、統合したホスト カーネル システムの並列処理を改善する方法を説明します。

Vivado インプリメンテーションの制御

プロジェクトをインプリメントする際に Vivado® ツール フローを制御する方法を説明します。

HBM のための最適化

このチュートリアルでは、HBM をサポートするプラットフォームで HBM を最大限に活用する方法について説明します。

ホスト メモリ アクセス

このチュートリアルでは、カーネルが直接バッファー ホスト メモリにアクセスする方法をデモします。この機能には、互換性のあるプラットフォームが必要です。