timeline和summary数据
trace_view.json
- 区域1:上层应用数据,包含上层应用算子的耗时信息。
- 区域2:CANN层数据,主要包含AscendCL、GE和Runtime组件的耗时数据。
- 区域3:底层NPU数据,主要包含Task Scheduler组件耗时数据和迭代轨迹数据以及其他昇腾AI处理器系统数据。
- 区域4:展示trace中各算子、接口的详细信息。单击各个trace事件时展示。


开启record_shapes时,trace_view中的上层应用算子会显示Input Dims和Input type信息。
仅PyTorch场景支持,MindSpore场景暂不支持record_shapes控制此数据。

开启with_stack时,trace_view中的上层应用算子会显示Call stack信息。
仅PyTorch场景支持。
kernel_details.csv



字段名 |
字段解释 |
---|---|
Step Id&Step ID |
迭代ID。 |
Device_id |
设备ID。 |
Model ID |
模型ID。 |
Task ID |
Task任务的ID。 |
Stream ID |
该Task所处的Stream ID。 |
Name |
算子名。 |
Type |
算子类型。 |
OP State |
算子的动静态信息,dynamic表示动态算子,static表示静态算子,通信算子无该状态显示为N/A,该字段仅在--task-time=l1情况下上报,--task-time=l0时显示为N/A。 |
Accelerator Core |
AI加速核类型,包括AI Core、AI CPU等。 |
Start Time(us) |
算子执行开始时间,单位us。 |
Duration(us) |
当前算子执行耗时,单位us。 |
Wait Time(us) |
算子执行等待时间,单位us。 |
Block Dim |
运行切分数量,对应任务执行时核数。 |
Mix Block Dim |
部分算子同时在AI Core和Vector Core上执行,主加速器的Block Dim在Block Dim字段描述,从加速器的Block Dim在本字段描述。task_time为l0时,不采集该字段,显示为N/A。(
|
HF32 Eligible |
标识是否使用HF32精度标记,YES表示使用,NO表示未使用。 |
Input Shapes |
算子输入Shape。 |
Input Data Types |
算子输入数据类型。 |
Input Formats |
算子输入数据格式。 |
Output Shapes |
算子输出Shape。 |
Output Data Types |
算子输出数据类型。 |
Output Formats |
算子输出数据格式。 |
memory_record.csv

字段名 |
字段解释 |
---|---|
Component |
组件,包含:
|
Timestamp(us) |
时间戳,记录显存占用的起始时间,单位us。 |
Total Allocated(MB) |
内存分配总额,单位MB。 |
Total Reserved(MB) |
内存预留总额,单位MB。 |
Total Active(MB) |
Stream流所申请的总内存(包括被其他流复用的未释放的内存),单位MB。 |
Stream Ptr |
AscendCL流的内存地址,用于标记不同的AscendCL流。 |
Device Type |
设备类型和设备ID,仅涉及NPU。 |
operator_memory.csv

字段名 |
字段解释 |
---|---|
Name |
算子名称。 |
Size(KB) |
算子占用内存大小,单位KB。 |
Allocation Time(us) |
Tensor内存分配时间,单位us。 |
Release Time(us) |
Tensor内存释放时间,单位us。 |
Active Release Time(us) |
内存实际归还内存池时间,单位us。 |
Duration(us) |
内存占用时间(Release Time-Allocation Time),单位us。 |
Active Duration(us) |
内存实际占用时间(Active Release Time-Allocation Time),单位us。 |
Allocation Total Allocated(MB) |
算子内存分配时的内存分配总额(Name算子名称为aten开头时为PTA内存,算子名称为cann开头时为GE内存),单位MB。 |
Allocation Total Reserved(MB) |
算子内存分配时的内存占用总额(Name算子名称为aten开头时为PTA内存,算子名称为cann开头时为GE内存),单位MB。 |
Allocation Total Active(MB) |
算子内存分配时当前流所申请的总内存(包括被其他流复用的未释放的内存),单位MB。 |
Release Total Allocated(MB) |
算子内存释放时的内存分配总额(Name算子名称为aten开头时为PTA内存,算子名称为cann开头时为GE内存),单位MB。 |
Release Total Reserved(MB) |
算子内存释放时的内存占用总额(Name算子名称为aten开头时为PTA内存,算子名称为cann开头时为GE内存),单位MB。 |
Release Total Active(MB) |
算子内存释放时的内存中被其他Stream复用的内存总额(Name算子名称为aten开头时为PTA内存,算子名称为cann开头时为GE内存),单位MB。 |
Stream Ptr |
AscendCL流的内存地址,用于标记不同的AscendCL流。 |
Device Type |
设备类型和设备ID,仅涉及NPU。 |
npu_module_mem.csv


operator_details.csv

字段 |
说明 |
---|---|
Name |
算子名称。 |
Input Shapes |
Shape信息。 |
Call Stack |
函数调用栈信息。由with_stack字段控制。 |
Host Self Duration(us) |
算子在Host侧的耗时(除去内部调用的其他算子),单位us。 |
Host Total Duration(us) |
算子在Host侧的耗时,单位us。 |
Device Self Duration(us) |
算子在Device侧的耗时(除去内部调用的其他算子),单位us。 |
Device Total Duration(us) |
算子在Device侧的耗时,单位us。 |
Device Self Duration With AICore(us) |
算子在Device侧执行在AI Core上的耗时(除去内部调用的算子),单位us。 |
Device Total Duration With AICore(us) |
算子在Device侧执行在AI Core上的耗时,单位us。 |
step_trace_time.csv


字段 |
说明 |
---|---|
Device_id |
设备ID。 |
Step |
迭代数。 |
Computing |
NPU上算子的计算总时间,单位us。 |
Communication(Not Overlapped) |
通信时间,通信总时间减去计算和通信重叠的时间,单位us。 |
Overlapped |
计算和通信重叠的时间,单位us。更多重叠代表计算和通信之间更好的并行性。理想情况下,通信与计算完全重叠。 |
Communication |
NPU上算子的通信总时间,单位us。 |
Free |
迭代总时间减去计算和通信时间,单位us。可能包括初始化、数据加载、CPU计算等。 |
Stage |
Stage时间,代表除receive算子时间外的时间,单位us。 |
Bubble |
指receive时间的总和,单位us。 |
Communication(Not Overlapped and Exclude Receive) |
通信总时间减去计算和通信重叠以及receive算子的时间,单位us。 |
Preparing |
迭代开始到首个计算或通信算子运行的时间,单位us。 |