msProf工具使用案例——ResNet50推理模型性能分析

一、案例名称

使用msProf命令行工具采集并分析ResNet50推理模型在昇腾NPU上的性能数据

本案例以ResNet50推理模型为例,演示如何使用华为昇腾MindStudio提供的msProf性能分析工具,完成性能数据的采集、解析与瓶颈定位。

1.1 前置准备

1.1.1 环境要求

  • 已安装CANN Toolkit开发套件包ops算子包
  • 已安装MindStudio Insight可视化分析工具

1.1.2 配置环境变量

执行以下命令配置CANN环境变量(以cann-9.1.0为例):

source /usr/local/Ascend/cann/set_env.sh

1.1.3 验证工具可用性

执行以下命令确认msProf工具版本正常:

msprof --version

同时验证NPU设备状态,确保设备可正常调用:

npu-smi info

1.1.4 准备ResNet50推理脚本

确保resnet50_infer.py推理脚本可在昇腾NPU上正常运行,脚本中需包含模型加载、数据预处理及推理执行逻辑。

1.2 使用工具

1.2.1 性能数据采集

(1)执行性能数据采集命令

使用msProf命令行工具采集推理模型的性能数据:

msprof --output="./prof_data" --task-time=l1 python3 resnet50_infer.py

图一

参数说明

参数 说明
--output 性能数据的存放路径,默认为AI任务文件所在目录
--task-time 采集数据级别,默认为l0级别

其他常见命令示例

# 传入Python脚本及参数
msprof --output=/home/projects/output python3 /home/projects/MyApp/out/sample_run.py param1 param2

# 传入二进制可执行程序
msprof --output=/home/projects/output /home/projects/MyApp/out/main

# 传入二进制程序及参数
msprof --output=/home/projects/output /home/projects/MyApp/out/main parameter1 parameter2

# 传入Shell脚本及参数
msprof --output=/home/projects/output /home/projects/MyApp/out/sample_run.sh param1 param2

1.2.2 性能数据解析

采集完成后,执行以下命令解析性能数据,生成可分析的报告:

msprof --export=on --output="./prof_data"

解析后会在--output指定的目录下生成PROF_XXX目录(或OPPROF目录,取决于采集模式),存放自动解析后的性能数据。

1.2.3 查看性能数据

(1)查看生成的文件结构

ls -la ./prof_data/PROF_XXX/

图二

采集解析数据格式和交付件请参见《profile_data_file_references

(2)使用MindStudio Insight可视化分析

进入mindstudio_profiler_output目录,将性能数据导入MindStudio Insight工具进行可视化分析。MindStudio Insight提供了多种数据呈现形式,包括时间线视图、通信分析、计算耗时等可视化呈现,帮助用户快速定位性能瓶颈。