MindStudio Insight支持导入性能数据文件,并以图形化形式呈现相关内容。性能数据文件的采集方式请分别参见《性能调优工具指南》文档中的“性能分析(PyTorch训练/在线推理)”、“性能分析(TensorFlow训练/在线推理)”和“msprof采集通用命令”章节内容,以及《MindSpore Insight》中的“性能调试(Ascend)”章节内容。
在单卡场景下,性能数据可分为三大类型,如下所示:
文件名 |
说明 |
展示界面 |
---|---|---|
trace_view.json |
包括应用层数据、CANN层数据和底层NPU数据。 |
时间线(Timeline) |
msprof_*.json |
timeline数据总表。如果存在变频数据(AI Core Freq)信息,会展示AI Core Freq层级。 |
时间线(Timeline) |
operator_details.csv |
统计PyTorch算子在Host侧(下发)和Device侧(执行)的耗时。 |
时间线(Timeline) |
memory_record.csv |
进程级内存申请情况信息。 |
内存(Memory) |
operator_memory.csv |
算子内存申请情况信息。 |
内存(Memory) |
kernel_details.csv |
NPU上执行的所有算子的信息。 |
算子(Operator) |
step_trace_time.csv |
迭代中计算和通信的时间统计。 |
概览(Summary) |
communication.json |
通信算子通信耗时、带宽等详细信息文件。 |
通信(Communication) |
communication_matrix.json |
通信小算子基本信息文件。 |
通信(Communication) |
注:“*”表示{timestamp}时间戳。 |
文件名 |
说明 |
展示界面 |
---|---|---|
ascend_pytorch_profiler_{rank_id}.db |
Ascend PyTorch Profiler接口采集的性能数据文件。 |
时间线(Timeline) 内存(Memory) 算子(Operator) 概览(Summary) 通信(Communication) |
analysis.db |
多卡或集群等存在通信的场景下,采集到的数据文件。 |
MindStudio Insight工具支持导入以“ascend_ms”结尾的性能数据目录,当用户获取到MindSpore框架性能数据后,需自行创建一个空文件夹,将名为“rank-{卡序号}_{时间戳}_ascend_ms”的文件夹汇总拷贝至新建的文件夹,将新建文件夹作为性能数据目录导入至MindStudio Insight工具。MindSpore框架性能数据导入成功后,MindStudio Insight工具会显示时间线(Timeline)、内存(Memory)、概览(Summary)和通信(Communication)界面。
文件名 |
说明 |
展示界面 |
---|---|---|
msprof_*.json |
timeline数据总表。 |
时间线(Timeline) |
fusion_op_*.csv |
模型中算子融合前后信息。单算子场景下无此性能数据文件。 |
时间线(Timeline) |
api_statistic_*.csv |
用于统计CANN层的API执行耗时信息。 |
时间线(Timeline) |
memory_record_*.csv |
进程级内存申请情况信息。 |
内存(Memory) |
operator_memory_*.csv |
算子内存申请情况信息。 |
内存(Memory) |
op_summary_*.csv |
AI Core和AI CPU算子数据。 |
算子(Operator) |
op_statistic _*.csv |
AI Core和AI CPU算子调用次数及耗时统计。 |
算子(Operator) |
prof_rule_0_*.json |
调优建议。 |
时间线(Timeline) 概览(Summary) 通信(Communication) |
step_trace_*.csv |
迭代轨迹数据。单算子场景下无此性能数据文件。 |
- |
step_trace_*.json |
迭代轨迹数据,每轮迭代的耗时。单算子场景下无此性能数据文件。 |
- |
task_time_*.csv |
Task Scheduler任务调度信息。 |
- |
注:“*”表示{timestamp}时间戳。 |
文件名 |
说明 |
展示界面 |
---|---|---|
msprof_*.db |
统一DB文件。当前该格式数据与TEXT参数解析的数据信息量存在差异。 |
时间线(Timeline) 内存(Memory) 算子(Operator) 概览(Summary) 通信(Communication) |
注:“*”表示{timestamp}时间戳。 |