准备性能数据
当在MindStudio Insight工具中导入大集群场景数据,且大集群场景规模达到百卡、千卡级别时,如果直接导入profiling全部原始数据,解析耗时较长,所以需要采用mstt工具集中的cluster_analyse工具预处理下profiling的原始数据,将得到的集群相关通信数据导入MindStudio Insight工具,进行计算耗时及通信分析,定位慢卡问题,且针对慢卡进行Timeline视图分析,继而进行针对性调优。
前提条件
- 已安装MindStudio Insight工具。
- 已安装Python3,并完成执行环境的配置。
- 已获取采集到的原始集群数据,且单卡采集的数据中必须包含表1中的文件。
- 已获取mstt工具集中的cluster_analyse(集群分析)工具,可前往gitee开源站下载。cluster_analyse(集群分析)工具主要用于解析集群节点通信信息,生成相关通信数据。
操作步骤
- 将所有以“ascend_pt”结尾的profiling原始数据汇总至同一个目录,如图1所示。
- 在集群分析工具目录下,执行以下命令,解析数据,如图2所示。
python3 cluster_analysis.py -d {原始数据存放路径}
命令执行成功后,会在数据存放路径下,生成一个“cluster_analysis_output”目录,如图3所示,该目录中保存着数据解析后的结果文件,结果文件如表2所示。
表2 cluster_analysis_output目录文件 数据类型
文件名
说明
TEXT
cluster_step_trace_time.csv
数据解析模式为communication_matrix、communication_time或all时均生成。
cluster_communication_matrix.json
数据解析模式为communication_matrix或all时生成。
cluster_communication.json
数据解析模式为communication_time或all时生成,主要为通信耗时数据。
communication_group.json
数据解析模式为communication_matrix、communication_time或all时均生成,记录通信域分组信息。
DB
cluster_analysis.db
解析analysis.db或ascend_pytorch_profiler_{rank_id}.db生成的文件。
- 将“cluster_analysis_output”目录导入MindStudio Insight工具进行分析。