下载
中文
注册

准备性能数据

当在MindStudio Insight工具中导入大集群场景数据,且大集群场景规模达到百卡、千卡级别时,如果直接导入profiling全部原始数据,解析耗时较长,所以需要采用mstt工具集中的cluster_analyse工具预处理下profiling的原始数据,将得到的集群相关通信数据导入MindStudio Insight工具,进行计算耗时及通信分析,定位慢卡问题,且针对慢卡进行Timeline视图分析,继而进行针对性调优。

前提条件

  • 已安装MindStudio Insight工具。
  • 已安装Python3,并完成执行环境的配置。
  • 已获取采集到的原始集群数据,且单卡采集的数据中必须包含表1中的文件。
    表1 单卡采集数据文件

    文件名

    说明

    profiler_info_x.json

    Profiler相关的元数据。

    communication.json

    多卡通信或集群等存在通信的场景性能分析提供可视化数据基础。

    communication_matrix.json

    通信小算子基本信息文件。

    kernel_details.csv

    NPU上执行的所有算子的信息。

    step_trace_time.csv

    迭代中计算和通信的时间统计。

    trace_view.json

    包括应用层数据、CANN层数据和底层NPU数据。

  • 已获取mstt工具集中的cluster_analyse(集群分析)工具,可前往gitee开源站下载。cluster_analyse(集群分析)工具主要用于解析集群节点通信信息,生成相关通信数据。

操作步骤

  1. 将所有以“ascend_pt”结尾的profiling原始数据汇总至同一个目录,如图1所示。
    图1 数据汇总
  2. 在集群分析工具目录下,执行以下命令,解析数据,如图2所示。
    python3 cluster_analysis.py -d {原始数据存放路径}
    图2 解析数据

    命令执行成功后,会在数据存放路径下,生成一个“cluster_analysis_output”目录,如图3所示,该目录中保存着数据解析后的结果文件,结果文件如表2所示。

    图3 生成的目录
    表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生成的文件。

  3. 将“cluster_analysis_output”目录导入MindStudio Insight工具进行分析。