カーネルのリンク - 2020.1 Japanese

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

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

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

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