在硬件中对事件追踪进行故障排除 - 2023.2 简体中文

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

Document ID
UG1076
Release Date
2023-12-04
Version
2023.2 简体中文
表 1. 在硬件中对事件追踪进行故障排除
问题 解决办法
在某些串流中,追踪包被丢弃。(这可通过观察 Vitis IDE 中的事件追踪串流上的黑条来确定。) 选项 1:在构建时间,使用以下选项增大 AI 引擎传出的追踪串流数量。
aiecompiler --num-trace-streams=<N>

选项 2:如果使用 PLIO 事件追踪串流,请使用 aiecompiler 标记 --trace-plio-width=128,它使用的 PLIO 串流位宽为 128 位。这样可确保 PLIO 串流位宽与 AI 引擎数据速率相匹配。

选项 3:减少每条追踪串流连接的拼块数。您可配置要应用于特定计算图或拼块的 AI 引擎事件追踪指标。如需了解有关这些选项的更多详细信息,请参阅 表 1表 1

选项 4:aiecompiler 会以水平方式为每个拼块分配追踪串流。为确保最优追踪信号线,建议使用位置约束来确保 AI 引擎尽可能垂直布局,使所有活动状态的 AI 引擎都均等分布到各追踪串流。

在追踪中不显示内核函数名称。 可能原因是该内核是由编译器或者通过属性直接插入的内联内核。要禁用内核内联,请应用 --xlopt=0 来编译设计,或者指定含 __attribute__((noinline)) 属性的内核函数。
内核启动时间偏移超过 100 个周期。 --broadcast-enable-core=true 选项应用于编译器,以确保设计在若干个时钟周期范围内启动所有内核。
工具发出警告消息,指示追踪缓冲器已满。 增大事件追踪缓冲器大小。
对于 XSDB 流程,在 AI 引擎追踪启动命令中,使用 -depth 选项指定更大的值。
%xsdb aietrace start -graph-based-aie-tile-metrics dut:all:functions_all_stalls -work-dir ./Work -link-summary ./bf_hw.xsa.xclbin.link_summary -base-address 0x900000000 -depth 0x8000000
对于 XRT 流程,更新 xrt.ini 文件和 aie_trace_buffer_size 行。
[Debug]
aie_trace=true

[AIE_trace_settings]
buffer_size=100M
graph_based_aie_tile_metrics = dut:all:functions_all_stalls
注释: 追踪缓冲器已满时,XSDB 和 XRT 会发出以下警告消息。

警告消息:

AI 引擎 Trace Buffer size is full, Device trace could be incomplete.
或者,您也可以基于时间、迭代或用户定义的事件使用 表 1表 1 主题下的 -start-type 追踪选项来延迟事件追踪的启动。
需要确定 PL 与 AI 引擎之间是否正在按期望方式发送或接收数据。 在 PL 内核及其 AXI4 存储器映射主接口上添加监控器。

如需了解有关添加 Acceleration Monitor 和 AXI Performance Monitor 的更多信息,请参阅 Vitis 统一软件平台文档:应用加速开发(UG1393) 中的生成并打开时间线轨迹