通过msprof op simulator生成的visualize_data.bin文件或trace.json文件,并进行可视化呈现。指令流水图以指令维度展示时序关系,并关联调用栈快速定位瓶颈位置。支持以下两种可视化呈现方式:
ascendc_compile_definitions
(
...
-DASCENDC_TRACE_ON
)
在Chrome浏览器中输入“chrome://tracing”地址,并将通过msprof op simulator生成指令流水图文件(trace.json)拖到空白处打开,键盘上输入快捷键(W:放大,S:缩小,A:左移,D:右移)可进行查看。关键字段说明如表1。
|
字段名 |
字段含义 |
|---|---|
|
VECTOR |
向量运算单元。 |
|
SCALAR |
标量运算单元。 |
|
CUBE |
矩阵乘运算单元。 |
|
MTE1 |
数据搬运流水,数据搬运方向为:L1 ->{L0A/L0B, UBUF}。 |
|
MTE2 |
数据搬运流水,数据搬运方向为:{DDR/GM, L2} ->{L1, L0A/B, UBUF}。 |
|
MTE3 |
数据搬运流水,数据搬运方向为:UBUF -> {DDR/GM, L2, L1}、L1->{DDR/L2}。 |
|
FIXP |
数据搬运流水,数据搬运方向为:FIXPIPE L0C -> OUT/L1。(仅 |
|
FLOWCTRL |
控制流指令。 |
|
CACHEMISS |
未命中ICache。 |
|
USEMASK |
自定义打点范围。
说明:
若同一个USEMASK内存在范围嵌套或只有TRACE_START无TRACE_STOP时,不能正常绘制指令流水图。 |
|
ALL |
表示在这个通道的指令在所有通道都执行。 |
MindStudio Insight工具以时序图方式为用户提供指令在昇腾AI处理器上的运行情况,用户可通过分析时序图中的指令详情、指令执行时间、指令关联代码的调用栈及指令/流水间同步连线等信息,识别微观指令的时序优化点。
通过观察Timeline的流水排布等信息判断算子运行过程中可能存在的性能问题,如指令间未能有效并行等。