指令流水图
以指令维度展示时序关系,并关联调用栈快速追踪瓶颈位置。
支持以下两种可视化呈现方式:
- 浏览器
在Chrome浏览器中输入“chrome://tracing”地址,并将通过工具使用会生成指令流水图文件(trace.json)拖到空白处打开,键盘上输入快捷键(W:放大,S:缩小,A:左移,D:右移)可进行查看。关键字段说明如表1。
表1 关键字段说明 字段名
字段含义
VECTOR
向量运算单元。
SCALAR
标量运算单元。
CUBE
矩阵乘运算单元。
MTE1
数据搬运流水,数据搬运方向为:L1 ->{L0A/L0B, UBUF}。
MTE2
数据搬运流水,数据搬运方向为:{DDR/片上内存, L2} ->{L1, L0A/B, UBUF}。
MTE3
数据搬运流水,数据搬运方向为:UBUF -> {DDR/片上内存, L2, L1}、L1->{DDR/L2}。
FIXP
数据搬运流水,数据搬运方向为:FIXPIPE L0C -> OUT/L1。(仅Atlas A2训练系列产品/Atlas 800I A2推理产品支持展示)
FLOWCTRL
控制流指令。
CACHEMISS
未命中ICache。
USEMASK
自定义打点范围。
ALL
表示在这个通道的指令在所有通道都执行。
- MindStudio Insight
指令流水图介绍(以MindStudio Insight为例)
MindStudio Insight工具以时序图方式为用户提供指令在昇腾AI处理器上的运行情况,通过分析指令详情、指令执行时间及关联调用栈等信息,识别微观指令的时序优化点。
图1 时间线界面
- 展示各Pipe中各指令的运行时长以及不同Pipe间的指令依赖关系,帮助用户分析流水排布间可能存在的性能优化点。
- 支持将流水指令信息与代码关联,指导用户如何基于代码去优化流水排布。
通过观察Timeline各个层级上的耗时长短、间隙等判断对应指令和Pipe是否存在性能问题,如指令执行是否存在瓶颈、是否存在高耗时的指令等。
父主题: 算子调优(msProf)