硬件事件追踪 - 2023.2 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 简体中文

您也可以在加速器系统组合内剖析硬件事件。尤其是,可捕获平台连接的 AXI4 端口和 PE 接口上的硬件事件均,并将其呈现为时间线轨迹。

下图提供了含两个 CU 的加速器示例,其中每个 CU 均为含 3 个 PE 的链式流水线:mmultincr_10incr_20。如上图所示,各行按拓扑结构组织,以便按流水线顺序呈现事件顺序。

此图显示了单个计算调用的执行过程。前两行显示了从 HBM bank 读取 2 个输入实参的操作。DATA_COPYSEQUENTIAL 访问宏允许数据移动器(dm_8dm_9)将此数据串流至 PE mmult,随后执行此 PE。然后,mmult 会写入连接至后续 PE incr_10 的串流,该 PE 则将另一条串流写入 PE incr_20。最终,此 PE 触发输出数据移动器串流,将最终结果写回 HBM bank。

图 1. 硬件事件追踪

通过下列设置即可启用在 VSC 模式下进行剖析。

  1. 加速器类需要下列宏:
    1. PROFILE_KERNEL(“PE 函数名称”):启用对每次 PE 执行的启动和停止进行追踪的功能
    2. PROFILE_PORT(“PE 实参名称”):启用对任意 PE 实参的 AXI 端口进行剖析的功能
    3. 关键字 all 可用于剖析所有 PE 或所有端口。
      注释: 在含众多 AXI 端口的加速器上使用 all(每个 PE 实参和平台端口连接)可能导致 Vivado 出现布线问题,并阻止设计达成时序收敛。因此,建议按需在特定端口上创建硬件追踪。
    4. 修改这些宏将导致触发完整 Vitis 编译和链接,包括 Vivado 布局布线。
  2. xrt.ini 文件中,可通过如下设置启用硬件追踪:
    [Debug]
    device_trace=[fine|coarse]