用户采集性能原始数据,并解析导出成可视化的性能数据文件后,需要了解文件目录结构及主要文件。
性能数据目录结构示例如下(仅展示性能数据):
├── mindstudio_profiler_output │ ├── msprof_*.json │ ├── step_trace_*.json │ ├── xx_*.csv ... │ └── README.txt ├── device_{id} │ └── data ├── host │ └── data ├── timeline │ ├── msprof_*.json
默认采集的性能数据文件如表1所示。
文件名 |
说明 |
---|---|
msprof_*.json |
timeline数据总表。 |
step_trace_*.json |
迭代轨迹数据,每轮迭代的耗时。单算子场景(如PyTorch场景)下无此性能数据文件。 |
op_summary_*.csv |
AI Core和AI CPU算子数据。 |
op_statistic _*.csv |
AI Core和AI CPU算子调用次数及耗时统计。 |
step_trace_*.csv |
迭代轨迹数据。单算子场景(如PyTorch场景)下无此性能数据文件。 |
task_time_*.csv |
Task Scheduler任务调度信息。 |
fusion_op_*.csv |
模型中算子融合前后信息。单算子场景(如PyTorch场景)下无此性能数据文件。 |
prof_rule_0.json |
调优建议。 |
注:表中的json文件为timeline信息文件,主要收集算子、任务等运行耗时,以色块形式展示;csv文件为summary信息文件,主要以表格形式汇总运行耗时。 |
使用Perfetto UI打开:在Chrome浏览器中输入“https://ui.perfetto.dev/”地址,将.json文件拖到空白处打开,通过键盘上的快捷键(w:放大,s:缩小,a:左移,d:右移)进行查看。
使用tracing打开:在Chrome浏览器中输入“chrome://tracing”地址,将.json文件拖到空白处打开,通过键盘上的快捷键(w:放大,s:缩小,a:左移,d:右移)进行查看。
超大文件推荐使用Perfetto UI打开。
集群场景下,基于通信域的通信分析和迭代耗时分析,可以通过cluster_analysis工具的cluster_analysis.py脚本将数据进行汇总后分析。
集群场景下,多卡间的算子情况,只能通过查看每张卡各自的性能数据来了解,不能直观的对比各卡之间算子的性能差异。为了直观查看格卡之间算子的性能差异,请通过cluster_kernels_analysis工具的cluster_op_summary_analysis.py脚本,快速统计并展示各卡之间TopN算子的性能数据。