获取性能数据
在进行性能优化之前,需要拿到准确的性能数据,了解性能现状,并根据性能现状分析下一步的优化方向。Ascend C提供了多种性能测试方法包括上板Profiling、单算子性能仿真流水图等手段。
上板Profiling
如下命令行是一个算子上板性能数据采集的样例,可以根据自身的需要灵活组合配置参数:
msprof --application=./add_custom_npu --output="./out" --ai-core=on --aic-metrics="PipeUtilization"
如下示例则展示了部分性能数据文件的样例:
图1 op_summary_{}.csv文件示例

单算子性能仿真流水图
算子调测支持在仿真器上进行,目前主要使用CAModel仿真器进行性能仿真。CAModel性能调测时,根据输入的kernel.o文件,在仿真器上运行并生成运行log日志,通过解析过程日志生成算子仿真流水图(trace图)。获取仿真流水图的具体方法步骤请参考《Ascend C算子调测工具使用指南》。
本文示例中的仿真流水图一般通过gtkwave(一款功能齐全的波形查看器)进行查看,通过Ascend Debug工具产生的调测产物中会生成波形文件core_wave.vcd,如下命令行是使用gtkwave查看波形图的示例:
gtkwave core_wave.vcd
gtkwave波形图示例如下图所示:
图2 gtkwave波形图(仅为示例)

父主题: 性能分析