Profiling数据导出
在导出Profiling数据前,需要参见Profiling数据解析解析Profiling数据。参见如下步骤导出Profiling数据。
- 以Ascend-cann-toolkit开发套件包的运行用户登录开发环境。
- 切换至“msprof.py”脚本所在目录,如/home/HwHiAiUser/Ascend/ascend-toolkit/latest/tools/profiler/profiler_tool/analysis/msprof。
- 导出Profiling数据。可以导出timeline和summary两类文件,命令行格式如下:
- 导出timeline数据
python3 msprof.py export timeline [-h] -dir <dir> [--iteration-id <iteration_id>] [--model-id <model-id>]
例如:python3 msprof.py export timeline -dir /home/HwHiAiUser/profiler_data/PROF_XXX
- 导出summary数据
python3 msprof.py export summary [-h] -dir <dir> [--iteration-id <iteration_id>] [--model-id <model-id>] [--format <export_format>]
例如:python3 msprof.py export summary -dir /home/HwHiAiUser/profiler_data/PROF_XXX
表1 导出Profiling数据命令参数说明 参数名
描述
可选/必选
-dir, --collection-dir
收集到的Profiling数据目录。须指定为PROF_XXX目录、PROF_XXX目录下的host或device_{id}目录(生成具体设备数据)或PROF_XXX目录的父目录,例如:/home/HwHiAiUser/profiler_data/PROF_XXX、/home/HwHiAiUser/profiler_data/PROF_XXX/device_{id}或/home/HwHiAiUser/profiler_data/。
必选
--iteration-id
某轮迭代的ID,默认值为1。
可选
--model-id
模型ID。
单算子场景和仅执行采集昇腾AI处理器系统数据场景,不支持--model-id参数。
可选
--format
summary数据文件的导出格式,支持csv和json两种格式,默认值为csv。
仅配置summary参数时支持。
本文中summary文件介绍均以csv文件为例。
可选
-h,--help
显示帮助信息,仅在获取使用方式时使用。
可选
- 导出timeline数据
- 执行完上述命令后,会在collection-dir目录下的PROF_XXX目录的device_{id}或host目录下生成timeline和summary目录。
生成的Profiling数据目录结构如图1所示。
- 多Device场景下,若启动单Profiling采集进程,则仅生成一个PROF_XXX目录,若启动多Profiling采集进程则生成多个PROF_XXX目录,其中Device目录在PROF_XXX目录下生成,每个PROF_XXX目录下生成多少个Device目录与用户实际操作有关,不影响Profiling分析。
- timeline和summary文件夹下分别保存timeline和summary数据文件,文件名格式为{name}_{device_id}_{model_id}_{iter_id}.json和{name}_{device_id}_{model_id}_{iter_id}.csv。其中{device_id}表示设备ID,{model_id}表示模型ID,{iter_id}表示某轮迭代的ID。详细数据介绍请参见Profiling数据说明。
- 单算子场景和仅执行采集昇腾AI处理器系统数据时,生成的文件名称格式为{name}_{device_id}_{iter_id}.json和{name}_{device_id}_{iter_id}.csv。
- timeline和summary目录中的文件是根据采集的实际Profiling数据进行生成,如果实际的Profiling数据没有相关的数据文件,就不会导出对应的timeline和summary数据。
- 使用export命令能直接从已解析的Profiling数据中导出数据文件。当Profiling数据未解析时,单独执行export命令也能进行解析Profiling数据并导出数据文件。
- 生成的json文件可以通过以下方式打开查看:在Chrome浏览器中输入“chrome://tracing”地址,然后将json文件拖到空白处打开。下文中文件介绍均使用此种形式。关于chrome trace的格式,可参考chrome trace介绍。
- 生成的summary数据文件中某些字段值为“N/A”时,表示此时该值不存在。
- 生成的summary数据文件使用excel打开时,会出现字段值为科学计数的情况,例如“1.00159E+12”。此时可选中该单元格,然后 ,在弹出的对话框中“数字”标签下选择“数值”,单击“确定”就能正常显示。
- 导出的数据中涉及到的时间节点(非Timestamp)为系统单调时间只与系统有关,非真实时间。
父主题: msprof.py工具方式