AI Core和AI CPU算子数据op_summary_*.csv,用于统计算子的具体信息和耗时情况。
op_summary_*.csv文件内容格式示例(示例仅展示部分参数,详情请参见表1)如下。
Task Duration字段为算子耗时信息,可以按照Task Duration排序,找出高耗时算子;也可以按照Task Type排序,查看AI Core或AI CPU上运行的高耗时算子。
图中数据分别由--task-time和--aic-metrics开关控制。其中--task-time=l0时,部分数据不采集,详情请参见表1;当--task-time=l1时表1中的字段均采集;当配置--aic-metrics参数时,不同选项采集的数据不同,详情请参见AI Core/AI Vector Core性能指标采集项说明AI Core/AI Vector Core性能指标采集项说明(Atlas A2训练系列产品)。
仅以msprof命令行工具的参数为例,其他采集方式对应相同参数。
字段名 |
字段解释 |
---|---|
Model Name |
模型名称。如果Model Name值为空,则可能为获取的数据中该值为空。(默认情况下或单算子场景不显示该字段) |
Model ID |
模型ID。 |
Task ID |
Task任务的ID。 |
Stream ID |
该Task所处的Stream ID。 |
Infer ID |
标识第几轮推理数据。(默认情况下或单算子场景不显示该字段) |
Op Name |
算子名称。 |
OP Type |
算子类型。task-time配置为l0时,不采集该字段,显示为N/A。 |
Task Type |
执行该Task的加速器类型,包含AI Core、AI VECTOR CORE、AI CPU等。task-time配置为l0时,不采集该字段,显示为N/A。 |
Task Start Time(us) |
Task开始时间,单位us。 |
Task Duration(us) |
Task耗时,包含调度到加速器的时间、加速器上的执行时间以及结束响应时间,单位us。 |
Task Wait Time(us) |
上一个Task的结束时间与当前Task的开始时间间隔,单位us。 |
Block Dim |
Task运行切分数量,对应Task运行时核数。task-time配置为l0时,不采集该字段,显示为0。 |
Mix Block Dim |
Atlas A2训练系列产品,部分算子同时在AI Core和Vector Core上执行,主加速器的Block Dim在Block Dim字段描述,从加速器的Block Dim在本字段描述。task-time配置为l0时,不采集该字段,显示为N/A。 |
Input Shapes |
算子的输入维度。task-time配置为l0时,不采集该字段,显示为N/A。 |
Input Data Types |
算子输入数据类型。task-time配置为l0时,不采集该字段,显示为N/A。 |
Input Formats |
算子输入数据格式。task-time配置为l0时,不采集该字段,显示为N/A。 |
Output Shapes |
算子的输出维度。task-time配置为l0时,不采集该字段,显示为N/A。 |
Output Data Types |
算子输出数据类型。task-time配置为l0时,不采集该字段,显示为N/A。 |
Output Formats |
算子输出数据格式。task-time配置为l0时,不采集该字段,显示为N/A。 |
Context ID |
Context ID。task-time配置为l0时,不采集该字段,显示为N/A。(Atlas A2训练系列产品) |
aiv_time(us) |
当所有的Block被同时调度,且每个Block的执行时长相等时,该Task在AI Vector Core上的理论执行时间,单位us。通常情况下,不同的Block开始调度时间略有差距,故该字段值略小于Task在AI Vector Core上的实际执行时间。--task-time=l1、--aic-mode=task-based时生成。(Atlas A2训练系列产品) |
aicore_time(us) |
当所有的Block被同时调度,且每个Block的执行时长相等时,该Task在AI Core上的理论执行时间,单位us。通常情况下,不同的Block开始调度时间略有差距,故该字段值略小于Task在AI Core上的实际执行时间。手动调频、功耗超出默认功耗值时动态调频以及Atlas 300V/Atlas 300I Pro情况下该数据不准确,不建议参考。 --task-time=l1、--aic-mode=task-based时生成。 |
total_cycles |
该Task在AI Core上执行的cycle总数,由所有的Block的执行cycle数累加而成。 --task-time=l1、--aic-mode=task-based时生成。 |
寄存器值 |
自定义采集的寄存器的数值。由--aic-metrics配置自定义寄存器控制。 |