算子代码热点图

通过msprof opmsprof op simulator生成的visualize_data.bin文件可通过MindStudio Insight进行可视化呈现,界面支持查看算子源码与指令集的映射关系、耗时情况等功能,协助开发者识别热点代码分布,并分析热点函数优化的可行性。具体特性支持情况请参见表1

表1 msprof op和msprof op simulator的热点图的功能介绍

特性名称

msprof op

msprof op simulator

查看core信息

不支持

支持

查看源码、指令PC地址、Pipe、Source

支持

支持

查看算子源码与指令集的映射关系

支持

支持

查看算子源码与指令的执行次数

支持

支持

查看算子源码与指令的耗时情况(cycles)

不支持

支持

查看寄存器使用情况(Gpr Count)

不支持

支持

模拟代码行和指令维度的L2Cache命中率

支持

不支持

查看与GM有关的数据搬运量(Process Bytes)

支持

支持

Vector计算类指令在UB Bank上读和写的冲突情况

不支持

支持

Vector计算单元利用率

不支持

支持

  • 若要使用MindStudio Insight进行查看时,需要单独安装MindStudio Insight软件包,具体下载链接请参见MindStudio Insight 用户指南的“安装与卸载”章节
  • 将visualize_data.bin文件导入MindStudio Insight的具体操作请参考MindStudio Insight 用户指南的“算子调优 > 导入性能数据”章节。
  • MindStudio Insight具体操作和详细字段解释请参考MindStudio Insight 用户指南”算子调优 > 源码(Source)”章节 。
  • 添加 -g 编译选项会在生成的二进制文件中附带调试信息,建议限制带有调试信息的用户程序的访问权限,确保只有授权人员可以访问该二进制文件。
  • 若不使用llvm-symbolizer组件提供的相关功能,输入msProf的程序编译时不包含-g即可,msProf工具则不会调用llvm-symbolizer组件的相关功能。

msprof op热点图

图1 msprof op源码界面

msprof op simulator热点图

图2 msprof op simulator源码界面

通用寄存器的最大数量为32,当寄存器的使用数量达到32时,仿真过程需等到使用中的寄存器释放后才能运行。