デバイス ID の指定と XCLBIN のロード - 2023.2 日本語

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

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 日本語

ザイリンクス ランタイム (XRT) 環境を適切に使用するには、ソフトウェア アプリケーションがアクセラレータ カード、またはターゲット プラットフォーム、およびカーネルが実行されるデバイス ID を特定する必要があります。その後、デバイス バイナリ (.xclbin) をデバイスにロードして、PL カーネルをプログラムする必要があります。

XRT API には、ターゲット プラットフォームのデバイス ID を指定するために使用可能なデバイス クラス (xrt::device) と、ランタイムのハードウェアおよび PL カーネルを定義する XCLBIN クラス (xrt::xclbin) が含まれています。これらのクラスをロードするには、ソース コードで次の #include 文を使用する必要があります。
#include <xrt/xrt_device.h>
#include <experimental/xrt_xclbin.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 コマンドを使用して取得できます。