导出Profiling性能分析结果
除了提供屏幕打印Profiling性能分析结果外,还提供脚本工具将Profiling性能分析结果以.csv文件形式保存,方便存放和查看。操作方法如下:
- 以安装时创建的HwHiAiUser普通用户登录到服务器。
- 切换到/home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit/tools/profiler/profiler_tool/analysis/interface路径下。
- 执行导出命令,生成csv文件。
导出csv文件的命令行格式如下(本处命令行格式给出最基本的参数,其他参数请参见脚本及接口):
python3.7.5 get_msvp_info.pyc --save_file --project=$output_data --deviceid=$device_id --data_type=$export_data_type
例如,导出Runtime API调用信息:
python3.7.5 get_msvp_info.pyc --save_file --project=/home/HwHiAiUser/tools/out --deviceid=0 --data_type=runtime_api
命令行中各参数项说明:
- --project:Profiling性能解析结果数据存放的路径,导出的csv文件存放在该路径下的csv目录里。
- --deviceid:Device设备ID。
- --data_type:导出的性能数据类型。详细的取值请参考表7-4。
如果--project指定目录下是多Device数据,此时需要配置--deviceid为具体的Device ID。
导出的ge_basic_{device_id}.csv、ai_core_op_summary_{device_id}.csv、op_counter_{device_id}.csv文件中,Model Name列可能未获取到数据,出现数值为空的情况。
表7-4 性能数据类型及导出的csv名称功能
子功能
data_type类型
导出的csv文件
导出Runtime API调用信息
-
--data_type=runtime_api
runtime_api_{device_id}.csv
导出Task Scheduler的任务调度信息
-
--data_type=task_scheduler
task_scheduler_{device_id}.csv
导出AI Core性能数据
Task-based AI Core性能数据
--data_type=ai_core_pmu_events
ai_core_pmu_events_{device_id}.csv
Sample-based AI Core性能数据
--data_type=ai_core_pmu_events
ai_core_pmu_events_{device_id}.csv
导出GE组件提供的算子信息
GE task and graph data信息
--data_type=ge_basic
ge_basic_{device_id}.csv
GE加载模型信息
--data_type=ge_model_load
ge_model_load_{device_id}.csv
模型的耗时信息
--data_type=ge_model_time
ge_model_time_{device_id}.csv
导出各种CPU PMU事件和热点函数
Control CPU PMU(Performance Monitoring Unit)事件
--data_type=control_cpu_pmu_events
control_cpu_pmu_events_{device_id}.csv
Control CPU 热点函数top5
--data_type=control_cpu_top_functions
control_cpu_top_functions_{device_id}.csv
AI CPU PMU事件
--data_type=ai_cpu_pmu_events
ai_cpu_pmu_events_{device_id}.csv
AI CPU 热点函数top5
--data_type=ai_cpu_top_functions
ai_cpu_top_functions_{device_id}.csv
TS CPU PMU事件
--data_type=ts_cpu_pmu_events
ts_cpu_pmu_events_{device_id}.csv
导出外设数据
NIC外设数据
--data_type=nic
nic_{device_id}.csv
DVPP外设数据
--data_type=dvpp
dvpp_{device_id}.csv
导出hardware数据
LLC的bandwidth数据
--data_type=llc
llc_{device_id}.csv
LLC的capacity数据
(AI CPU)
--data_type=llc_aicpu
llc_aicpu_{device_id}.csv
LLC的capacity数据
(Control CPU)
--data_type=llc_ctrlcpu
llc_ctrlcpu_{device_id}.csv
DDR带宽读写数据
--data_type=ddr
ddr_{device_id}.csv
导出各种CPU利用率数据
System AI CPU和Control CPU利用率
--data_type=sys_cpu_usage
sys_cpu_usage_{device_id}.csv
Process CPU Usage数据(Top 50)
--data_type=process_cpu_usage
process_cpu_usage_{device_id}.csv
导出Memory数据
System Memory Summary数据
--data_type=sys_mem
sys_mem_{device_id}.csv
Process Memory Info数据
--data_type=process_mem
process_mem_{device_id}.csv
导出AscendCL输出数据
-
--data_type=acl
acl_{device_id}.csv
导出AI Core OP Summary数据
-
--data_type=ai_core_op_summary
ai_core_op_summary_{device_id}.csv
导出AI Core OP Statistic信息
-
--data_type=op_counter
op_counter_{device_id}.csv
导出Top Down数据
-
--data_type=top_down
top_down_{device_id}.csv
导出所有性能相关数据
-
--data_type=all
all_data_{device_id}.csv