通信性能数据解析

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

前提条件

操作步骤(msprof命令行方式)

执行分析命令。

命令示例如下:

msprof --analyze=on [--type=<type>] [--rule=communication] --output=<dir> [--clear=on]
表1 参数说明

参数

说明

可选/必选

--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

性能数据文件目录。须指定为PROF_XXX目录,例如:/home/HwHiAiUser/profiler_data/PROF_XXX。

路径中不能包含特殊字符:"\n", "\\n", "\f", "\\f", "\r", "\\r", "\b", "\\b", "\t", "\\t", "\v", "\\v", "\u007F", "\\u007F", "\"", "\\\"", "'", "\'", "\\", "\\\\", "%", "\\%", ">", "\\>", "<", "\\<", "|", "\\|", "&", "\\&", "$", "\\$", ";", "\\;", "`", "\\`"。

必选

--clear

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

可选

操作步骤(msprof.py脚本方式)

执行分析命令。

命令示例如下:

python3 msprof.py analyze [--type <type>] --rule communication -dir <dir> [--clear]

msprof.py脚本保存路径为:${INSTALL_DIR}/tools/profiler/profiler_tool/analysis/msprof,${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。若安装的Ascend-cann-toolkit软件包,以root安装举例,则安装后文件存储路径为:/usr/local/Ascend/ascend-toolkit/latest。

表2 参数说明

参数

说明

可选/必选

analyze

分析性能数据文件。

必选

--type

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

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

默认为text。

可选

-r或--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。

必选

-dir或--collection-dir

性能数据文件目录。须指定为PROF_XXX目录,例如:/home/HwHiAiUser/profiler_data/PROF_XXX。

路径中不能包含特殊字符:"\n", "\\n", "\f", "\\f", "\r", "\\r", "\b", "\\b", "\t", "\\t", "\v", "\\v", "\u007F", "\\u007F", "\"", "\\\"", "'", "\'", "\\", "\\\\", "%", "\\%", ">", "\\>", "<", "\\<", "|", "\\|", "&", "\\&", "$", "\\$", ";", "\\;", "`", "\\`"。

必选

--clear

数据精简模式,开启后将在导出性能数据后删除PROF_XXX目录下的sqlite目录,以节省存储空间。配置该参数时表示开启数据精简模式,未配置表示关闭,默认关闭。

可选

解析结果