デバイス ID の指定と XCLBIN のロード - 2021.1 Japanese

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

Document ID
UG1393
Release Date
2022-03-29
Version
2021.1 Japanese

ザイリンクス ランタイム (XRT) 環境を適切に使用するには、ホスト アプリケーションで、カーネルが実行されるアクセラレータ カードとデバイス ID を識別し、デバイス バイナリ (.xclbin) をデバイスにロードする必要があります。

XRT API には、アクセラレータ カードのデバイス ID を指定するために使用可能なデバイス クラス (xrt::device) と、ランタイムのプログラムを定義する XCLBIN クラス (xrt::xclbin) が含まれています。これらのクラスをロードするには、ソース コードで次のインクルード文を使用する必要があります。
#include <xrt/xrt_kernel.h>

次のコード部分は、ターゲット プラットフォームからデバイス ID を指定してデバイス オブジェクトを作成し、.xclbin をデバイスにロードして、プログラムの UUID を返します。

//Setup the Environment
unsigned int device_index = 0;
std::string binaryFile = parser.value("kernel.xclbin");
std::cout << "Open the device" << device_index << std::endl;
auto device = xrt::device(device_index);
std::cout << "Load the xclbin " << binaryFile << std::endl;
auto uuid = device.load_xclbin(binaryFile);
ヒント: デバイス ID は、特定のアクセラレータの xbutil コマンドを使用して取得できます。