要正确使用赛灵思的 Xilinx Runtime (XRT) 环境,主机应用需要识别用于运行内核的加速器卡和器件 ID,并将器件二进制文件 (.xclbin) 加载到器件中。
XRT API 包含用于在加速器卡上指定器件 ID 的器件类 (
xrt::device
) 以及用于为运行时定义程序的 XCLBIN 类 (xrt::xclbin
)。您必须在自己的源代码中使用以下 include 语句来加载这些类:#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);
提示: 可使用
xbutil
命令获取特定加速器卡的器件 ID。