下载
中文
注册

HCCL(算子计算、通信及流水掩盖数据)

集合通信算子数据timeline信息在msprof_*.json文件的HCCL层级展示,summary信息在hccl_statistic_*.csv文件汇总,以及在msprof*.json下展示“Overlap Analysis”计算及通信的流水掩盖分析数据。

集合通信算子数据只有在多卡、多机或集群等存在卡间通信的场景下才能被采集并解析出性能数据。

msprof_*.json文件的HCCL层级数据说明

msprof_*.json文件HCCL层数据如下图所示。

多卡、多机或集群场景时各Device之间存在通信,形成各个通信域(Group * Communication),HCCL层按照各个通信域进行排列,收集通信算子的耗时,该文件下可以直观找出耗时最长的通信算子。

表1 字段说明

字段名

字段含义

Group * Communication

通信域下的通信算子。一个卡(Rank)可以存在于不同的通信域中,一个Group标识当前卡在当前通信域的行为。

Title

选择某个组件的接口名称。

Start

显示界面中时间轴上的时刻点,chrome trace自动对齐,单位ms。

Wall Duration

表示当前接口调用耗时,单位ms。

Self Time

表示当前指令本身执行耗时,单位ms。

Plane ID

网络平面ID。对多个收发通信链路的并行调度执行,每个Plane就是一个并发通信维度。

notify id

notify唯一id。

duration estimated(us)

预估任务持续时间,单位us。

stream id

Stream任务的ID。

task id

Task任务的ID。

task type

Task类型。

src rank

源Rank。

dst rank

目的Rank。

transport type

传输类型,包含:LOCAL、SDMA、RDMA。

size(Byte)

数据量,单位Byte。

data type

数据格式。

link type

链路类型,包含:HCCS、PCIe、RoCE。

bandwidth(GB/s)

带宽大小,单位GB/s。

计算及通信的流水掩盖分析

msprof_*.json下的“Overlap Analysis”为计算及通信的流水掩盖分析数据,由task-time和--hccl开关控制。如图1所示。

计算和通信存在并行,那么可通过查看流水掩盖的重叠时间(计算和通信并行的时间)从而判断计算通信效率。

图1 计算及通信的流水掩盖呈现效果图

字段名

字段含义

Communication

通信时间。单卡场景无通信,不展示该字段。

Communication(Not Overlaopped)

无掩盖的通信时间。单卡场景无通信,不展示该字段。

Computing

计算时间。

Free

间隙时间。

Start

表示当前接口开始调用的时刻点,单位ms。

Wall Duration

表示当前接口调用耗时,单位ms。

hccl_statistic_*.csv文件说明

hccl_statistic_*.csv文件内容格式示例如下。

hccl_statistic_*.csv为集合通信算子统计信息,通过集合通信算子统计信息了解该类算子的耗时,以及各HCCL算子在集合通信内部的耗时占比,从而判断某个算子是否存在优化空间。

表2 字段说明

字段名

字段含义

Device_id

设备ID。

OP Type

集合通信算子类型。

Count

集合通信算子执行次数。

Total Time(us)

集合通信算子执行总耗时,单位us。

Min Time(us)

集合通信算子执行最小耗时,单位us。

Avg Time(us)

集合通信算子执行平均耗时,单位us。

Max Time(us)

集合通信算子执行最大耗时,单位us。

Ratio(%)

集合通信算子执行耗时与整体集合通信耗时占比。