以下产品不支持在设备上直接解析,需要将采集到的PROF_XXX目录拷贝到安装了Ascend-cann-toolkit开发套件包的环境下进行解析并导出:
执行导出命令。
命令示例如下:
msprof --export=on --output=<dir> [--type=<type>] [--reports=<reports_sample_config.json>] [--iteration-id=<number>] [--model-id=<number>] [--summary-format=<csv/json>] [--clear=on]
参数 |
说明 |
可选/必选 |
---|---|---|
--export |
解析并导出性能数据。可选on或off,默认值为off。 若需导出个别模型(Model ID)/迭代(Iteration ID)的数据,可在msprof采集命令执行完成后重新执行msprof --export命令配置--model-id、--iteration-id参数。 对于未解析的PROF_XXX文件,自动解析后再导出。 示例:msprof --export=on --output=/home/HwHiAiUser |
必选 |
--output |
性能数据文件目录。须指定为PROF_XXX目录或PROF_XXX目录的父目录,例如:/home/HwHiAiUser/profiler_data/PROF_XXX。 路径中不能包含特殊字符:"\n", "\\n", "\f", "\\f", "\r", "\\r", "\b", "\\b", "\t", "\\t", "\v", "\\v", "\u007F", "\\u007F", "\"", "\\\"", "'", "\'", "\\", "\\\\", "%", "\\%", ">", "\\>", "<", "\\<", "|", "\\|", "&", "\\&", "$", "\\$", ";", "\\;", "`", "\\`"。 |
必选 |
--type |
设置性能数据解析结果文件格式,即可以选择msprof命令行执行采集后自动解析的结果文件格式,取值为:
默认为text。 |
可选 |
--reports |
传入用户自定义的reports_sample_config.json配置文件,会根据配置文件中指定的范围导出相应的性能数据。详见--reports参数使用介绍。 |
可选 |
--iteration-id |
迭代ID。需配置为正整数。默认值为1。与--model-id必须同时配置。
|
可选 |
--model-id |
模型ID。需配置为正整数。与--iteration-id必须同时配置。
|
可选 |
--summary-format |
summary数据文件的导出格式,取值为:
仅--type=text时支持。 |
可选 |
--python-path |
指定解析使用的Python解释器路径,要求Python3.7.5及以上版本。 |
可选 |
--clear |
数据精简模式,开启后将在导出性能数据后删除PROF_XXX/device_{id}下的sqlite目录,以节省存储空间。可选on或off,默认值为off。 |
可选 |
注1: 注2:单算子场景和仅执行采集昇腾AI处理器系统数据场景,不支持--iteration-id和--model-id参数。 |
执行完上述命令后,会在--output目录下的PROF_XXX目录下生成mindstudio_profiler_output目录。
生成的性能数据目录结构如下所示。
执行--type=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 |
命令示例:
msprof --export=on --output=./ --reports=${INSTALL_DIR}/tools/profiler/profiler_tool/analysis/msconfig/reports_sample_config.json
${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。若安装的Ascend-cann-toolkit软件包,以root安装举例,则安装后文件存储路径为:/usr/local/Ascend/ascend-toolkit/latest。
路径中不能包含特殊字符:"\n", "\\n", "\f", "\\f", "\r", "\\r", "\b", "\\b", "\t", "\\t", "\v", "\\v", "\u007F", "\\u007F", "\"", "\\\"", "'", "\'", "\\", "\\\\", "%", "\\%", ">", "\\>", "<", "\\<", "|", "\\|", "&", "\\&", "$", "\\$", ";", "\\;", "`", "\\`"。
reports_sample_config.json文件默认保存在${INSTALL_DIR}/tools/profiler/profiler_tool/analysis/msconfig/目录下,内容如下:
支持在任意有读写权限的目录下自行创建reports_sample_config.json文件。
{ "json_process": { "ascend": true, "acc_pmu": true, "cann": true, "ddr": true, "stars_chip_trans": true, "hbm": true, "communication": true, "hccs": true, "network_usage": true, "disk_usage": true, "memory_usage": true, "cpu_usage": true, "msproftx": true, "npu_mem": true, "overlap_analyse": true, "pcie": true, "sio": true, "stars_soc": true, "step_trace": true, "freq": true, "llc": true, "nic": true, "roce": true, "qos": true, "device_tx": true } }
以上为控制相应性能数据的开关,可配置开启(true)或关闭(false或删除字段)。控制的性能数据包括msprof_*.json文件的timline数据层级(包括CANN,Ascend Hardware、AI Core Freq、片上内存、Communication、Overlap Analysis、NPU_MEM层级等)。