在导出性能数据前,需要参见解析性能数据解析性能数据。参见如下步骤导出性能数据。
${INSTALL_DIR}/tools/profiler/profiler_tool/analysis/msprof,${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。若安装的Ascend-cann-toolkit软件包,以root安装举例,则安装后文件存储路径为:/usr/local/Ascend/ascend-toolkit/latest。
小技巧:为方便执行msprof.py脚本,您可以使用运行用户执行命令alias msprof_analysis='python3 msprof.py脚本所在目录'设置别名,后续就可以不用进入msprof.py目录,在任意目录输入msprof_analysis即可执行Profiling命令。该操作仅在当前窗口下生效。
python3 msprof.py export timeline -dir <dir> [-reports <reports_sample_config.json>] [--iteration-id <iteration_id>] [--model-id <model-id>] [--iteration-count <iteration_count>] [--clear]
例如:python3 msprof.py export timeline -dir /home/HwHiAiUser/profiler_data/PROF_XXX
python3 msprof.py export summary -dir <dir> [--iteration-id <iteration_id>] [--model-id <model-id>] [--iteration-count <iteration_count>] [--format <export_format>] [--clear]
例如:python3 msprof.py export summary -dir /home/HwHiAiUser/profiler_data/PROF_XXX
python3 msprof.py export db -dir <dir>
生成汇总所有性能数据的.db格式文件(msprof_时间戳.db)。
例如:python3 msprof.py export db -dir /home/HwHiAiUser/profiler_data/PROF_XXX
参数名 |
描述 |
可选/必选 |
---|---|---|
-dir, --collection-dir |
收集到的性能数据目录。须指定为PROF_XXX目录或PROF_XXX目录的父目录,例如: /home/HwHiAiUser/profiler_data/PROF_XXX |
必选 |
-reports |
传入用户自定义的reports_sample_config.json配置文件,会根据配置文件中指定的范围导出相应的性能数据文件。参数实现与msprof --reports一致,详细介绍请参见--reports参数使用介绍。 |
可选 |
--iteration-id |
迭代ID。需配置为正整数。默认值为1。与--model-id必须同时配置。
|
可选 |
--model-id |
模型ID。需配置为正整数。与--iteration-id必须同时配置。
|
可选 |
--iteration-count |
导出连续迭代的个数,取值范围为1~5的整数,根据--iteration-id配置的值为起始Step,导出连续数量的Step,比如配置--iteration-count为3,--iteration-id为1,则导出Step为1、2、3。 |
可选 |
--format |
summary数据文件的导出格式,支持csv和json两种格式,默认值为csv。 仅配置summary参数时支持。 本文中summary文件介绍均以csv文件为例。 |
可选 |
--clear |
数据精简模式,开启后将在导出性能数据后删除PROF_XXX/device_{id}下的sqlite目录,以节省存储空间。配置该参数时表示开启数据精简模式,未配置表示关闭,默认关闭。 |
可选 |
-h,--help |
显示帮助信息,仅在获取使用方式时使用。 |
可选 |
注1: 注2:单算子场景和仅执行采集昇腾AI处理器系统数据场景,不支持--iteration-id和--model-id参数。 |
生成的Profiling数据目录结构如下所示。
执行export db命令时PROF_XXX目录下生成汇总所有性能数据的.db格式文件(msprof_时间戳.db),不生成mindstudio_profiler_output目录。
1 2 3 4 5 6 7 8 9 10 11 12 13 | └── PROF_XXX ├── device_0 │ └── data ├── device_1 │ └── data ├── host │ └── data └── mindstudio_profiler_output ├── msprof_{timestamp}.json ├── step_trace_{timestamp}.json ├── xx_*.csv ... └── README.txt |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | └── PROF_XXX1 ├── device_0 │ └── data ├── host │ └── data └── mindstudio_profiler_output ├── msprof_{timestamp}.json ├── step_trace_{timestamp}.json ├── xx_*.csv ... └── README.txt └── PROF_XXX2 ├── device_1 │ └── data ├── host │ └── data └── mindstudio_profiler_output ├── msprof_{timestamp}.json ├── step_trace_{timestamp}.json ├── xx_*.csv ... └── README.txt |