使用 XSDB 生成 AI 引擎状态 - 2023.2 简体中文

AI 引擎工具和流程用户指南 (UG1076)

Document ID
UG1076
Release Date
2023-12-04
Version
2023.2 简体中文

在 Linux 和裸机操作系统上均可使用 XSDB 检验 AI 引擎的状态。该功能特性允许您在开发板处于死锁或挂起状态时调试应用并检测 AI 引擎的状态。不同于需要 XRT 的 xbutil 命令,XSDB 命令独立于 XRT 来运行。

XSDB 能使用 aiestatus examine 命令以 .json 文件格式报告 AI 引擎状态。您可在运行应用之前、期间和之后使用此命令。

以下提供了有关 XSDB 的 aiestatus examine 命令和选项的详细解释。

命令

aiestatus examine

支持的选项

aiestatus examine [-graphs] <graph-list> [-work-dir] <dir-path> [-aie-version] <version> [-file] <file-name> [-run-summary] [-target-name] <target-name> [-tiles] <tile-list>

支持的选项定义如下:

表 1. 支持的选项
选项 描述
-graphs 指定 AI 引擎应用中使用的一个或多个计算图的列表。如果不指定该选项,那么此命令会将目标设为设计中的所有计算图。
-work-dir 指定 AI 引擎工程工作目录。这是必需选项。
-aie-version 指定 AI 引擎硬件生成数,可作为 hw_gen 值包含在 Work/ps/c_rts/aie_control_config.json 文件内。
注释: 仅当不提供工作目录时才需要该选项。所使用的默认值为 1。
-file .json 格式指定此命令所生成的输出文件的名称。这并非必需选项。
-run-summary 启用该选项即可在生成 .json 文件的同时,生成运行汇总文件。这并非必需选项。
-target-name 指定要连接的目标的名称。
注释: 默认目标为 Versal。要查看可用的不同目标,请在 XSDB 终端内输入 connect 命令,后接 targets
-tiles 指定一个或多个拼块的列表,这些拼块将供 AI 引擎应用使用并且将由此命令进行监控。拼块可采用 col,row 格式(例如,0,0; 0,1)。任一行或列中的所有拼块均可使用通配符“*”来指定(例如,0,*; *,1; *,*)

命令示例

使用 source 命令找到 XSDB 终端内的 aie_status Tcl 脚本,如以下 2 个示例所示。
xsdb% source $XILINX_VITIS/scripts/vitis/util/aie_status.tcl
示例 1
指定计算图和工作目录。
aiestatus examine -work-dir ./Work -graphs dut

此示例会检验并报告名为 dut 的计算图的状态。

示例 2
指定拼块。
aiestatus examine -tiles 10,2;5,*

此示例会检验并报告拼块 (10,2) 的状态以及列 5 中所有拼块的状态。

以上命令可在运行应用之前、期间和之后随时运行,前提是开发板正在运行设计或者处于死锁或挂起状态。此命令会在运行命令的目录内生成 JSON 文件 <aie_status_<date_time>.json>。文件名示例:aie_status_2022_08_11_113542.json。此文件可在 AMD Vitis™ IDE 内打开,可供您查看和分析状态。要在运行应用之前读取 AI 引擎拼块的状态寄存器,请在开发板上运行主机应用之前运行 aiestatus 命令。

运行 aiestatus examine 命令之后的 XSDB 控制台样本如下所示。

图 1. XSDB 控制台
注释: 在以上 XSDB 控制台样本中,并未指定 -graphs 选项,此命令的目标为 AI 引擎应用中的所有计算图。

此外还可观察到此命令返回与命令中指定的计算图对应的所有 AI 引擎拼块的状态寄存器。

在 Vitis IDE 内打开 JSON 文件

  1. 打开 Vitis IDE,并选中Import Xbutil/Xsdb JSON output(导入 Xbutil/Xsdb JSON 输出)选项。
  2. 在对话框中,指定 .json 文件以及要生成的 AI Engine Compile Summary 文件和 Run Summary 文件。
    图 2. 导入 Xbutil/Xsdb JSON 输出
  3. 单击“OK”(确定)后,会在当前工作目录内生成新的汇总文件。“Analysis”(分析)视图会打开此汇总文件,如下所示。
    图 3. 汇总视图

您可导航到Graph(计算图)或Array(阵列)视图,并观察 AI 引擎拼块的状态。下图显示了已停滞的 AI 引擎拼块的状态。

图 4. 阵列视图

aie_status.run_summary 文件可用于在 Vitis IDE 内查看和分析状态结果。

或者,您也可以运行 aiestatus 命令搭配 -run-summary 选项,如下所示。

aiestatus examine -work-dir ./Work -graphs dut -run-summary

此命令会生成 aie_status.run_summary 文件和 .json 文件,这些文件均可在 IDE 中打开。