2020.1 Vitis™ アプリケーション アクセラレーション開発フロー チュートリアル2019.2 Vitis アプリケーション アクセラレーション開発フロー チュートリアル |
入門¶
Vitis コア開発キットを使用したアクセラレーション アプリケーションの開発¶
1. プログラミングおよび実行モデル¶
Vitis™ 統合ソフトウェア フレームワークでは、アプリケーションがホスト アプリケーションとハードウェア アクセラレーション カーネルに分割され、その間が通信チャネルで接続されます。C/C++ で記述され、OpenCL™ のような API 呼び出しを使用するホスト アプリケーションは x86 サーバーまたは Arm™ プロセッサで実行され、ハードウェア アクセラレーション カーネルは Alveo アクセラレータ カードなどのターゲット プラットフォーム上のザイリンクス FPGA 内で実行されます。
2. Alveo データセンター アクセラレータ カードおよび Vitis コア開発キットの設定¶
Alveo データセンター アクセラレータ カードでは、データセンターでスループットを増加するための計算アクセラレーション パフォーマンスと柔軟性を提供します。Alveo カードを運用システムにインストールしてアクセラレーション アプリケーションを実行するか、開発システムにインストールして Alveo カードで実行するアプリケーションを開発、デバッグ、および最適化できます。
3. アクセラレーション アプリケーションのビルド - 基本的な概念¶
次の演習では、Vitis コア開発キットを使用してアクセラレーション アプリケーションをビルドして実行するための基本的な概念を説明します。
このチュートリアルを終了すると、次ができるようになります。
アプリケーションのホスト ソフトウェアおよびハードウェア カーネルをビルド。
ハードウェアおよびソフトウェア エミュレーションをアプリケーションで実行。
アプリケーション プロファイリング レポートを生成する方法を学び、アプリケーションのパフォーマンスをさらに理解。
アクセラレータ カードでアプリケーションを実行。
4. はじめてのプログラム¶
基本的な概念を理解したら、x86 ホスト プログラムおよびカーネル コード (計算デバイス) をビルドして単純な Vitis コア開発キット アプリケーションを手順を追って作成し、makefile を使用してデザインをビルドします。Vitis コア開発キット アプリケーションには、ホスト x86 CPU とザイリンクス Alveo データセンター アクセラレータ カード上のザイリンクス FPGA デバイスで実行されるハードウェア カーネルが含まれます。この例のカーネル コードは、単純なベクター加算 C[i]= A[i]+ B[i]
を実行します。このチュートリアルでは、ホスト コード構造と必要な API 呼び出しについても詳細に説明します。
このチュートリアルを終了すると、次ができるようになります。
単純なハードウェア カーネル コードを作成してアクセラレータ カードで実行。
カーネルを実行するのに必要な API 呼び出しの作成を含め、単純なホスト プログラム コードを作成。
ホスト プログラムおよびハードウェア カーネルをビルド。
アプリケーション デザインをプロファイルおよび最適化。
5. Vitis 環境手法に基づいたアクセラレーションされた FPGA アプリケーションの最適化¶
最適化されたアクセラレーション アプリケーションを開発する手法には、アプリケーションのアーキテクチャとハードウェア カーネルの開発の 2 つの段階があります。最初の段階では、どのソフトウェア関数を FPGA カーネルでアクセラレーションするか、どれくらいの並列処理が達成可能か、どのようにコード記述するかなど、アプリケーション アーキテクチャに関する重要事項を決定します。第 2 段階では、ソース コードを構築し、必要なコンパイラ オプションとプラグマを適用して、最適なパフォーマンス ターゲットを達成するのに必要なカーネル アーキテクチャを作成して、カーネルをインプリメントします。
その他のリソース¶
このコースで説明するトピックに関するその他のトレーニングおよび詳細な情報は、次の資料を参照してください。
Copyright© 2020 Xilinx
この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。 日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。