您可通过“Performance Metrics”(性能指标)分析来识别需分析的级联停滞。
- 选中Trace(追踪)视图。
- 选中Cascade Stalls(级联停滞)视图。
- 选中Cascade stall。
- 这样即可在Trace视图中高亮Cascade stall。图 1. Trace视图中的级联停滞
每项级联停滞都包含下列信息。
- NAME(名称)
- 串流停滞名为 CS_<NUM>。停滞发生时间越早,编号越小。此编号在所有类型的停滞中都是唯一的。
- Stalled Tile(停滞的拼块)
- 已停滞的内核所在的 AI 引擎 tile。
- Stalled Kernel(停滞的内核)
- 已停滞的内核。此内核名为
<Kernel_function_name>.<Schedule_ID>.<Graph_instance_name>
。有时,它显示为_main
,随后,需通过交叉探测来查找实际的内核函数。 - Start (ps)(开始 (ps))
- 发生停滞的开始时间
- Duration (ps)(持续时间 (ps))
- 停滞的持续时间。
-
PC
- 发生停滞时的程序计数器。
- Stalled Port(停滞的端口)
- 已停滞的内核所在的端口。
- Related Stalls(相关停滞)
- 可能导致此停滞的其他停滞。
- Full Destination(目标已满)
- 此端口已满,导致已停滞的内核无法写入。
- Empty Source(源端口为空)
- 此端口为空,导致已停滞的内核无法从中读取。
浏览Trace视图中的级联停滞,查看其彼此之间的关联。
- 可能是由于其他类型的停滞导致了级联停滞。浏览其他类型的停滞,分析发生停滞的原因。Stalls视图中的相关停滞可显示哪项停滞导致了级联停滞。
- 查看Graph视图中发生的停滞有助于识别导致停滞的原因。选中Graph视图。
- 选中Cascade Stalls视图。
- 单击Stalls视图中的路径,这样就会在Graph视图中以红色显示停滞路径。
- 浏览级联停滞及其关联停滞,这样有助于查找有关停滞原因的提示。单击Related Stalls也能以红色显示相关停滞。例如,单击Related Stalls中的 SS_16 即可查看红色路径,这样可以提供有关停滞开始位置的提示。图 2. Graph视图中的级联停滞
下表列出了导致级联停滞的部分可能场景以及可能的解决方案。
来源 | 目标对象 | 停滞类型 | 可能的解决方案 |
---|---|---|---|
级联串流 | 级联串流 | Cascade Stall |
|
串流 + 级联串流 | 串流 + 级联串流 | Cascade Stall |
|