集群算子信息导出

简介

在集群性能分析场景中,用户需要对各卡的算子信息进行汇总和对比分析。原有的DB格式下集群分析功能未提供单独的算子信息导出能力,用户需要手动解析各卡的数据库文件才能获取算子统计信息。

集群算子信息导出(export_summary)提供了对集群中各卡的API统计信息和Kernel详情信息的表格交付件导出能力,帮助用户快速获取各卡的算子性能数据。

使用前准备

环境准备

完成msprof-analyze工具安装,具体请参见《msprof-analyze工具安装指南》。

数据准备

msprof-analyze需要传入采集的性能数据文件夹,如何采集性能数据请参见数据准备章节。

集群算子信息导出

功能说明

使用msprof-analyze工具的集群算子信息导出功能,对采集到的集群数据进行算子信息导出,生成各卡的api_statistic.csv和kernel_details.csv文件。

命令格式

msprof-analyze cluster -m export_summary -d <cluster_data> 

参数说明

参数 可选/必选 说明
-m 必选 设置为export_summary,集群算子信息导出能力。
-d 必选 集群性能数据文件夹路径。

更多参数详细介绍请参见msprof-analyze的参数说明

使用示例

执行集群算子信息导出。

msprof-analyze cluster -m export_summary -d ./xxx/cluster_data 

输出说明

  • 存储位置:在各卡的ASCEND_PROFILER_OUTPUT目录下生成api_statistic.csv和kernel_details.csv文件。

  • 文件列表:

    • api_statistic.csv:API统计信息
    • kernel_details.csv:Kernel详情信息

输出结果文件说明

api_statistic.csv

API统计信息表,包含以下字段:

字段名称 类型 说明
API Name TEXT API名称
Count INTEGER 调用次数
Total Time(us) REAL 总耗时(微秒)
Avg Time(us) REAL 平均耗时(微秒)
Min Time(us) REAL 最小耗时(微秒)
Max Time(us) REAL 最大耗时(微秒)

kernel_details.csv

Kernel详情信息表,包含不限于以下字段:

字段名称 类型 说明
op_name TEXT 算子名称
op_type TEXT 算子类型
task_type TEXT 任务类型
task_duration REAL 任务耗时(微秒)
input_shapes TEXT 输入形状
output_shapes TEXT 输出形状
block_dim TEXT Block维度
input_data_types TEXT 输入数据类型
output_data_types TEXT 输出数据类型

注意事项

  1. 如果api_statistic.csv或kernel_details.csv文件已存在,工具将跳过生成并输出提示信息。
  2. 该功能需要输入数据包含ascend_pytorch_profiler_{rank_id}.db数据库文件。
  3. 导出的CSV文件可用于后续的性能分析和对比。

输出结果分析

  • 通过api_statistic.csv分析各API的调用频率和耗时分布,识别高频或高耗时的API。
  • 通过kernel_details.csv分析各算子的执行细节,包括输入输出形状、数据类型等信息。
  • 对比不同卡的算子信息,识别卡间性能差异。