timeline数据总表

在host、device和timeline目录下均保存timeline数据总表,其中timeline目录下的数据总表为host和device目录下两个数据总表之和。

timeline数据总表文件为msprof*.json。

msprof*.json在Chrome浏览器中展示如下。

图1 timeline汇总展示

图1所示,timeline汇总数据主要展示如下区域:

  • 单算子场景下(当App调用应用软件开发指南(C&C++)中“AscendCL API参考>算子加载与执行”接口场景下执行Profiling采集的数据),通过箭头连线展示AscendCL API和Task Scheduler(底层NPU算子)之间的关联关系,详细分析方法请参见查看算子下发方向
  • msprof*.json展示的数据是迭代内的数据,迭代外的数据不展示。
  • 在device_{id}或timeline文件夹下存在msprof*.json,包含Device侧的timeline数据汇总;在host/timeline文件夹下存在msprof*.json,包含host侧的timeline数据汇总;在timeline文件夹下存在msprof*.json,包含整体timeline数据汇总。
  • 当用户在“chrome://tracing”中查看msprof*.json文件时,单击“Flow events”并勾选“async_acl_npu”“async_npu”后,正常情况下会查看到上层应用算子与底层NPU算子之间通过连线方式展示映射关系。但由于软件测量的昇腾AI处理器频率与真实频率有误差,以及host与device的时间同步误差,会造成算子下发非常快时连线断连的问题。

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

集群或单机多卡场景下,开启了HCCL性能数据采集开关时,除了生成HCCL性能数据(hccl_*.json)外,还会在msprof*.json下生成“Overlap Analysis”计算及通信的流水掩盖分析数据。如图2所示。

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

字段名

字段含义

communication_not_overlapped

无掩盖的通信时间。

communication_time

通信时间。

compute_time

计算时间。

free_time

间隙时间。

Start

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

Wall Duration

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