通信性能数据解析
msprof通信性能数据解析功能主要用于统计通信类的分段耗时、拷贝信息、带宽等信息,以便进行通信类数据分析。通信类数据只有在多卡、多节点或集群场景下存在。
前提条件
- 完成使用前准备。
- 对PROF_XXX目录已执行msprof的export(关闭clear)操作。
操作步骤
执行分析命令。
命令示例如下:
msprof --analyze=on [--type=<type>] --rule=communication --output=<dir> [--clear=on]
或
python3 msprof.py analyze [--type=<type>] --rule communication -dir <dir> [--clear]
参数 |
说明 |
可选/必选 |
---|---|---|
--analyze或analyze |
分析性能数据文件,可选on或off,默认值为off。 |
必选 |
--type |
设置性能数据解析结果文件格式,即可以选择msprof命令行执行后自动解析的结果文件格式,取值为:
默认为text。 |
可选 |
--rule |
分析规则,可取值为:
以上两个参数可以同时配置,使用逗号分隔,例如:--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。 |
可选 |
解析结果
- --type=text、--rule=communication
- --type=text、--rule=communication_matrix
- --type=db、--rule=communication
图3 CommAnalyzerTime
表2 CommAnalyzerTime 字段
说明
hccl_op_name
HCCL通信算子名称。
group_name
通信算子的分组。
start_timestamp
通信开始时间戳。
elapse_time
算子的通信总耗时,单位ms。
transit_time
通信时长,单位ms。表示通信算子的通信耗时,如果通信耗时过长,可能是某条链路存在问题。
wait_time
等待时长,单位ms。节点之间通信前首先需要进行同步,确保通信的两个节点同步完成,再进行通信。
synchronization_time
同步时长,单位ms。节点之间进行同步需要的时长。
idle_time
通信算子下发耗时,单位ms。通信算子下发耗时(idle_time) = 算子的通信总耗时(elapse_time) - 通信时长(transit_time) - 等待时长(wait_time)。
图4 CommAnalyzerBandwidth表3 CommAnalyzerBandwidth 字段
说明
hccl_op_name
HCCL通信算子名称。
group_name
通信算子的分组。
transport_type
通信传输类型,包含:LOCAL、SDMA、RDMA、PCIE、HCCS。
transit_size
通信数据量,单位MB。
transit_time
通信时长,单位ms。表示通信算子的通信耗时,如果通信耗时过长,可能是某条链路存在问题。
bandwidth
通信带宽大小,单位GB/s。
large_packet_ratio
通信数据大包占比。
package_size
一次传输的通信数据包大小,单位MB。
count
通信传输次数。
total_duration
数据传输总耗时,单位ms。
- --type=db、--rule=communication_matrix
图5 CommAnalyzerMatrix
表4 CommAnalyzerMatrix 字段
说明
hccl_op_name
HCCL通信算子名称。
group_name
通信算子的分组。
src_rank
通信源Rank。
dst_rank
通信目的Rank。
transport_type
通信传输类型,包含:LOCAL、SDMA、RDMA、PCIE、HCCS。
transit_size
通信数据量,单位MB。
transit_time
通信时长,单位ms。表示通信算子的通信耗时,如果通信耗时过长,可能是某条链路存在问题。
bandwidth
通信带宽大小,单位GB/s。