您也可以在加速器系统组合内剖析硬件事件。尤其是,可捕获平台连接的 AXI4 端口和 PE 接口上的硬件事件均,并将其呈现为时间线轨迹。
下图提供了含两个 CU 的加速器示例,其中每个 CU 均为含 3 个 PE 的链式流水线:mmult
→ incr_10
→ incr_20
。如上图所示,各行按拓扑结构组织,以便按流水线顺序呈现事件顺序。
此图显示了单个计算调用的执行过程。前两行显示了从 HBM bank 读取 2 个输入实参的操作。DATA_COPY
和 SEQUENTIAL
访问宏允许数据移动器(dm_8
和 dm_9
)将此数据串流至 PE mmult
,随后执行此 PE。然后,mmult
会写入连接至后续 PE incr_10
的串流,该 PE 则将另一条串流写入 PE incr_20
。最终,此 PE 触发输出数据移动器串流,将最终结果写回 HBM bank。
图 1. 硬件事件追踪
通过下列设置即可启用在 VSC 模式下进行剖析。
- 加速器类需要下列宏:
-
PROFILE_KERNEL
(“PE 函数名称”):启用对每次 PE 执行的启动和停止进行追踪的功能 -
PROFILE_PORT
(“PE 实参名称”):启用对任意 PE 实参的 AXI 端口进行剖析的功能 - 关键字
all
可用于剖析所有 PE 或所有端口。注释: 在含众多 AXI 端口的加速器上使用all
(每个 PE 实参和平台端口连接)可能导致 Vivado 出现布线问题,并阻止设计达成时序收敛。因此,建议按需在特定端口上创建硬件追踪。 - 修改这些宏将导致触发完整 Vitis 编译和链接,包括 Vivado 布局布线。
-
-
在 xrt.ini 文件中,可通过如下设置启用硬件追踪:
[Debug] device_trace=[fine|coarse]