通信性能数据解析

msprof通信性能数据解析功能主要用于统计通信类的分段耗时、拷贝信息、带宽等信息,以便进行通信类数据分析。通信类数据只有在多卡、多节点或集群场景下存在。

前提条件

操作步骤

执行分析命令。

命令示例如下:

msprof --analyze=on [--type=<type>] --rule=communication --output=<dir> [--clear=on]

python3 msprof.py analyze [--type=<type>] --rule communication -dir <dir> [--clear]
表1 参数说明

参数

说明

可选/必选

--analyze或analyze

分析性能数据文件,可选on或off,默认值为off。

必选

--type

设置性能数据解析结果文件格式,即可以选择msprof命令行执行后自动解析的结果文件格式,取值为:

  • text:表示解析为json格式文件。
  • db:表示解析为communication_analyzer.db文件。

默认为text。

可选

--rule

分析规则,可取值为:

  • communication:分析通信类数据。
    • --type=text时,在PROF_XXX/analyze目录下生成communication.json文件,展示单卡所有通信算子通信耗时、带宽等详细信息。如图1所示。
    • --type=db时,在PROF_XXX/analyze目录下生成communication_analyzer.db文件,保存CommAnalyzerTime(通信耗时)和CommAnalyzerBandwidth(通信带宽)信息表。
  • communication_matrix:分析通信矩阵数据。
    • --type=text时,在PROF_XXX/analyze目录下生成communication_matrix.json文件,展示通信小算子基本的信息,包含通信size、通信带宽、通信rank等信息,用于分析通信细节。如图2所示。
    • --type=db时,在PROF_XXX/analyze目录下生成communication_analyzer.db文件,保存CommAnalyzerMatrix(通信矩阵)信息表。

以上两个参数可以同时配置,使用逗号分隔,例如:--rule=communication,communication_matrix。

默认同时设置以上两个参数。

可选

--output

-dir

性能数据文件目录。须指定为PROF_XXX目录,例如:/home/HwHiAiUser/profiler_data/PROF_XXX。路径中不能包含特殊字符:"\n", "\f", "\r", "\b", "\t", "\v", "\u007F"。

必选

--clear

数据精简模式,开启后将在导出性能数据后删除PROF_XXX目录下的sqlite目录,以节省存储空间。可选on或off,默认值为off。

可选

解析结果