昇腾社区首页
EN
注册

界面介绍

功能说明

在NPU性能调优过程中,Ascend Insight工具以时序图(Timeline View)的呈现方式为用户提供全流程在线推理/训练过程中的运行情况,并按照调度流程来呈现整体的运行状况,并且Ascend Insight支持集群Timeline展示。通过分析Timeline,用户可以对在线推理/训练过程进行细粒度的分析,如迭代间隙是否过长、算子执行时间等,并提供一些易用性功能辅助用户快速定位出性能瓶颈。

界面展示

Timeline View界面包含工具栏(区域一)、Timeline树状图(区域二)、图形化窗格(区域三)和数据窗格(区域四)四个部分组成,如图1所示。
图1 Timeline View界面
  • 区域一:工具栏,包含常用快捷按钮,从左至右依次为列表标记、过滤(支持按卡或按专项层过滤展示)、算子搜索、算子连线、页面自适应和缩放按钮。
  • 区域二:Timeline树状图,显示集群场景下各“Card”的分层信息,一层级为“Card”,二层级为进程或专项分层,三层级为线程等名称。包括上层应用数据(包含上层应用算子的耗时信息)、CANN层数据(包含AscendCL、GE和Runtime组件的耗时数据)、底层NPU数据(包含Ascend Hardware下各个Stream任务流的耗时数据和迭代轨迹数据、HCCL和Overlap Analysis通信数据以及其他昇腾AI处理器系统数据)。
  • 区域三:图形化窗格,展示的数据是迭代内的数据,图形化窗格对应Timeline树状图,逐行对Timeline进行图形化展现,包括上层应用算子、各组件及接口的执行序列和执行时长。
  • 区域四:数据窗格,统计信息或算子详情信息展示区,选中单个算子信息(Slice Detail)、某一泳道部分区域的算子信息(Slices List)以及某类算子的汇总信息(System View)。
    • Slice Detail:当选中区域三(图形化窗格)中某个算子时,区域四(数据窗格)将展示该算子的详细信息,如图2所示,字段解释如表1所示。
      图2 单算子信息展示
      表1 Slice Detail字段说明

      字段

      说明

      Title

      名称。

      Start

      起始时间。

      Wall Duration

      总耗时。

      Self Time

      总耗时(不包括子类)。

      Input Shapes

      算子输入维度。采集数据时task-time配置为l0时,不采集该字段,显示为N/A;NPU加速核上采集到的算子才有此字段。

      Input Data Types

      算子输入数据类型。采集数据时task-time配置为l0时,不采集该字段,显示为N/A;NPU加速核上采集到的算子才有此字段。

      Input Formats

      算子输入数据格式。采集数据时task-time配置为l0时,不采集该字段,显示为N/A;NPU加速核上采集到的算子才有此字段。

      Output Shapes

      算子的输出维度。采集数据时task-time配置为l0时,不采集该字段,显示为N/A;NPU加速核上采集到的算子才有此字段。

      Output Data Types

      算子输出数据类型。采集数据时task-time配置为l0时,不采集该字段,显示为N/A;NPU加速核上采集到的算子才有此字段。

      Output Formats

      算子输出数据格式。采集数据时task-time配置为l0时,不采集该字段,显示为N/A;NPU加速核上采集到的算子才有此字段。

      More

      更多信息,包括上层应用算子与底层NPU算子之间的映射关系等。

    • Slices List:当选中区域三(图形化窗格)中某一泳道部分区域时,区域四(数据窗格)将展示该泳道所有算子的详细信息,如图3所示,字段解释如表2所示。
      单击“Slices List”列表中的某个算子,在右侧“More”列表中将会显示此区域中与该算子同名的所有算子,单击“More”列表中某一行,则在区域三(图形化窗格)中定位出该算子的具体位置。
      图3 泳道部分算子信息展示
      表2 Slices List字段说明

      字段

      说明

      Name

      名称。

      Wall Duration

      总耗时。

      Self Time

      总耗时(不包括子类)。

      Average Wall Duration

      平均耗时。

      Occurrences

      调用次数。

      index

      序号。

      timestamp

      在图形化窗格中的时间戳。

      duration

      执行耗时。

    • System View:该页签包含RankId选框、5种类型的算子汇总统计页签和Kernel Details(NPU上算子的详细信息)。

      在RankId选框中可以选择想要查看的卡。

      5种算子类型包括Python API Summary、CANN API Summary、Ascend HardWare Task Summary、HCCL Summary、Overlap Analysis,算子信息如图4所示,字段解释如表3所示。

      图4 算子汇总页签
      表3 Stats System View字段说明

      字段

      说明

      Name

      名称。

      Time(%)

      总时间占比=该类的耗时总时间/所有耗时总时间。

      Total Time(us)

      该类耗时总和。

      Num Calls

      被调用次数。

      Avg(us)

      该类耗时的平均值。

      Min(us)

      该类耗时的最小值。

      Max(us)

      该类耗时的最大值。

      Kernel Details展示NPU上算子的详细信息,如图5所示,字段解释如表4所示,单击Click To Timeline列中的“click”,会跳转到算子在区域三(图形化窗格)的具体位置,区域四(数据窗格)将会展示Slice Detail,展示该算子的具体信息。

      图5 Kernel Details信息展示
      表4 Kernel Details字段说明

      字段

      说明

      Name

      算子名称。

      Type

      算子类型。

      Accelerator Core

      计算核类型。

      Start Time

      任务开始时间点。

      Duration(us)

      任务耗时。

      Wait Time(us)

      上一个任务的结束时间与当前任务的开始时间间隔,单位us。

      Block Dim

      任务运行切分数量,对应任务运行时核数。

      Input Shapes

      算子的输入维度。

      Input Data Types

      算子输入数据类型。

      Input Formats

      算子输入数据格式。

      Output Shapes

      算子的输出维度。

      Output Data Types

      算子输出数据类型。

      Output Formats

      算子输出数据格式。

      Click To Timeline

      单击click跳转到算子在时序图上的具体位置,并且在区域四(数据窗格)展示该算子的Slice Detail。

通过观察Timeline各个层级上的耗时长短、间隙等判断对应组件和算子是否存在性能问题,如算子下发是否存在瓶颈、是否存在高耗时的kernel以及是否存在冗余的转换类算子。