カーネルのリンク - 2020.2 Japanese

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2021-03-22
Version
2020.2 Japanese
ヒント: ツールを実行する前に、Vitis 環境の設定 に説明されているように、コマンド シェルまたはウィンドウを設定します。

カーネルのコンパイル プロセスでは、カーネルが C/C++、OpenCL C、RTL のいずれで記述されていても、ザイリンクス オブジェクト ファイル (XO) が生成されます。リンク段階では、異なるカーネルからの XO ファイルがプラットフォームにリンクされ、ホスト プログラムで使用される FPGA バイナリ コンテナー ファイル (.xclbin) が作成されます。

コンパイルと同様、リンクにも複数のオプションが必要です。次に、vadd カーネル バイナリをリンクするコマンド例を示します。
v++ -t sw_emu --platform xilinx_u200_xdma_201830_2 --link vadd.sw_emu.xo \
-o'vadd.sw_emu.xclbin' --config ./connectivity.cfg

このコマンドには、次の引数が含まれます。

  • -t <arg>: ビルド ターゲットを指定します。ソフトウェア エミュレーション (sw_emu) が例として使用されています。リンクでは、入力 (XO) ファイルをコンパイルしたときに指定したのと同じ -t および --platform 引数を指定する必要があります。
  • --platform <arg>: カーネルをリンクするプラットフォームを指定します。エンベデッド プロセッサ アプリケーションのカーネルをリンクするには、--platform $PLATFORM_REPO_PATHS/zcu102_base/zcu102_base.xpfm のようにエンベデッド プロセッサ プラットフォームを指定します。
  • --link: カーネルとプラットフォームを FPGA バイナリ ファイル (xclbin) にリンクします。
  • <input>.xo: 入力オブジェクト ファイル。複数のオブジェクト ファイルを .xclbin にビルドできます。
  • -o'<output>.xclbin': 出力ファイルの名前を指定します。リンク段階の出力ファイルは、.xclbin ファイルです。デフォルトの出力ファイル名は a.xclbin です。
  • --config ./connectivity.cfg: v++ コマンドのオプションを定義する設定ファイルを指定します。--config オプションの詳細は、Vitis コンパイラ コマンド を参照してください。
ヒント: さまざまな出力ファイルの生成場所は、v++ コマンドの出力ディレクトリ を参照してください。

リンク プロセスでは、ザイリンクス オブジェクト (XO) ファイルがリンクされるだけでなく、アーキテクチャの重要な詳細も決定されます。特に、ハードウェアにインスタンシエートする計算ユニット (CU) の数、カーネル ポートからグローバル メモリへの接続、CU の SLR への割り当てを指定します。次のセクションでは、これらのビルド オプションのいくつかを説明します。