Profiling系统调优的目的是通过分析AI任务运行时采集的性能数据,判断AI任务运行时的软硬件性能瓶颈。可以根据图1来对数据进行分析。
为了保证Profiling执行时不占用过多的设备资源,导致采集性能数据不准确,以下为推荐的操作步骤:
文件夹 |
文件名 |
说明 |
---|---|---|
timeline |
msprof*.json |
timeline数据总表。 |
acl_*.json |
AscendCL接口调用时序。 |
|
ai_stack_time_*.json |
昇腾AI软件栈各组件(AscendCL,GE,Runtime,Task Scheduler等)运行时序。 |
|
ge_*.json |
GE接口耗时数据。 |
|
step_trace_*.json |
迭代轨迹数据,每轮迭代的耗时。 |
|
task_time_*.json |
Task Scheduler任务调度时序。 |
|
thread_group_*.json |
AscendCL,GE,Runtime组件耗时数据。 |
|
summary |
acl_*.csv |
AscendCL API调用过程。 |
acl_statistic_*.csv |
AscendCL API数据统计。 |
|
op_summary_*.csv |
AI Core和AI CPU算子数据。 |
|
op_statistic _*.csv |
AI Core和AI CPU算子调用次数及耗时统计。 |
|
step_trace_*.csv |
迭代轨迹数据。 |
|
task_time_*.csv |
Task Scheduler任务调度信息。 |
|
ai_stack_time_*.csv |
昇腾AI软件栈各组件(AscendCL,GE,Runtime,Task Scheduler等)信息。 |
|
fusion_op_*.csv |
模型中算子融合前后信息。 |
|
prof_rule_0.json |
调优建议。 |
|
注:“*”表示{device_id}_{model_id}_{iter_id},其中{device_id}表示设备ID,{model_id}表示模型ID,{iter_id}表示某轮迭代的ID。这些字段可以使用数据解析与导出完成数据解析后,使用数据解析与导出中的“查询Profiling数据文件信息查询功能”对结果文件进行查询得出,若查询某些字段显示为N/A(为空)则在导出的结果文件名中不展示。 |