2020.1 Vitis™ アプリケーション アクセラレーション開発フロー チュートリアル

2019.2 Vitis アプリケーション アクセラレーション開発フロー チュートリアル

makefile の理解

この演習に必要なソース ファイルはすべて design フォルダーに含まれます。design フォルダーには、元のアプリケーション コードを含む cpu_src、アクセラレーション アプリケーション コードを含む srcmakefile の 3 つのフォルダーが含まれます。

src フォルダーには、さらに 6 つのフォルダーが含まれ、各手順のソース ファイルが含まれます。次のディレクトリは、チュートリアルの各手順に該当しています。

チュートリアルの手順 関連ディレクトリ
C アプリケーションから Vitis コア開発キット アプリケーションを作成 src/baseline
メモリ転送を最適化 src/localbuf
固定小数点データ型を使用して最適化 src/fixedpoint
データフローを使用して最適化 src/dataflow
順不同キューと複数のカーネルを使用 src/multicu
複数の計算ユニットを含む QDMA を使用 src/qdma

makefile の実行時に TARGET を設定して、ソフトウェア エミュレーション、ハードウェア エミュレーション、Alveo データセンター アクセラレータ カードのハードウェアを実行できます。

デザインのビルド

デザインをビルドするには、次のコマンドを使用します。

make build TARGET=<sw_emu/hw_emu/hw> STEP=<baseline/localbuf/fixedpoint/dataflow/multicu/> SOLUTION=1

チュートリアルに基づいてコードをアップデートするのに使用可能な src ディレクトリに加え、reference-files ディレクトリも提供されています。makefile ターゲットに SOLUTION=1 を設定すると、reference-files ディレクトリのファイルを直接使用できます。

たとえば、ベースライン演習用にハードウェア エミュレーションの xclbin をビルドするには、次のコマンドを使用します。

make build TARGET=hw_emu STEP=baseline SOLUTION=1

デザインの実行

デザインをエミュレーションまたはハードウェアで実行するには、次のコマンドを使用します。

make run TARGET=<sw_emu/hw_emu/hw> STEP=<baseline/localbuf/fixedpoint/dataflow/multicu> SOLUTION=1 [NUM_FRAMES=1]

NUM_FRAMES オプションは、ホスト アプリケーションの実行に使用される入力ビデオ フレーム数を定義します。ソフトウェアおよびハードウェア エミュレーションでは、NUM_FRAMES を 1 に設定してエミュレーション時間を削減します。ハードウェア実行では、フル ビデオ ファイルが使用されるので、このオプションは使用しないでください。

たとえば、ベースライン手順のハードウェア エミュレーションを実行するには、次のコマンドを使用します。

make run TARGET=hw_emu STEP=baseline SOLUTION=1 NUM_FRAMES=1

プロファイルおよびタイムライン トレース レポートの生成

デザインのパフォーマンスを解析するには、レポートを確認する必要があります。レポートの詳細は、「アクセラレーション アプリケーションのビルドおよび実行の基本概念」チュートリアルのプロファイルおよびトレース レポートの生成演習を参照してください。

プロファイルおよびタイムライン トレースの表示

プロファイル サマリ レポートとタイムライン トレースを表示するには、次のコマンドを使用します。

make view_run_summary TARGET=hw_emu STEP=multicu

makefile は、次のコマンドを使用してプロファイル サマリ レポートとタイムライン トレース レポートを開きます。

vitis_analyzer run_summary

クリーンアップ

前に生成したビルドをクリーンアップするには、次のコマンドを使用します。

make clean TARGET=hw_emu STEP=baseline

これにより、baseline バージョンのデザイン用にハードウェア エミュレーションで生成されたファイルが削除されます。


入門コースの初めに戻るチュートリアルの初めに戻る

Copyright© 2020 Xilinx