阶段 2:系统剖析 - 2022.1 简体中文

Versal ACAP AI 引擎编程环境 用户指南 (UG1076)

Document ID
UG1076
Release Date
2022-05-25
Version
2022.1 简体中文

此阶段的目标是剖析设计并判定是哪个域(AI 引擎、PL 或 NoC)导致吞吐量下降从而导致设计停滞。

下图显示了此阶段中可用的任务和技巧。

图 1. 系统剖析

以下章节列出了此阶段可用的技巧。

剖析 AI 引擎核、接口和存储器模块

您可在 XRT 或 XSDB 流程中剖析 AI 引擎核、接口和存储器模块。这属于非侵入性功能特性,可在运行时使用 XRT.ini 文件或者在 XSDB 中运行脚本来启用。该功能特性使用 AI 引擎阵列中可用的性能计数器来收集剖析数据。收集的数据量和类型受到可用的性能计数器数量的限制。

剖析 AI 引擎
可用于剖析 AI 引擎的剖析指标集如下:
  • 热图
  • 停滞数
  • 串流放置数/获取数
  • 异常数
  • 拼块执行
  • 读/写带宽相关指标
存储器模块剖析
可用于剖析存储器模块的剖析指标集如下:
  • 冲突数
  • DMA 锁定数
  • DMA 停滞数

如需获取在 Vitis 分析器中显示的 AI 引擎和存储器模块剖析信息的部分示例,请参阅 图 3图 4

接口带宽剖析
此外还提供了用于收集接口带宽信息的剖析指标。根据端口方向和停滞类型(例如,空闲、已停滞),您可以识别 PL 当前是否处于停滞状态并且正在影响 AI 引擎的吞吐量,或反之亦然。

在下表第一列中提供了用于接口剖析的指标:

表 1. 接口剖析指标:input_bandwidths 和 input_stalls_idle
  指标集:input_stalls_idle
停滞高位 空闲高位
指标集:input_bandwidths

低带宽

AI 引擎无法按正确的速率耗用样本。

继续执行阶段 4。

PL 内核无法按正确的速率生成样本。

继续执行阶段 3。

表 2. 接口剖析指标:output_bandwidths 和 output_stalls_idle
  指标集:output_stalls_idle
停滞高位 空闲高位
指标集:output_bandwidths

低带宽

PL 内核无法按正确的速率耗用样本。

继续执行阶段 3。

AI 引擎无法按正确的速率生成样本。

继续执行阶段 4。

您可多次运行设计,并在每次运行之间以 xrt.ini 文件中的不同参数来重新启动开发板。Vitis 分析器允许您整合不同 xrt.run.summary 文件报告,以便您总览接口级别的各项带宽、停滞和空闲。

如需了解有关在硬件中启用剖析和解释结果的详细信息,请参阅 AI 引擎剖析

剖析结果允许您快速精确识别设计性能下降中所涉及的 AI 引擎、输入串流或输出串流。

下一阶段:

  • 如果您判定 PL 内核当前导致性能下降,请继续执行阶段 3。在阶段 3 中,您可以精确识别性能不达标的 PL 内核。
  • 如果您判定 AI 引擎内核当前导致吞吐量下降,请继续执行阶段 4。