# **MindStudio Insight系统调优**
## 简介
MindStudio Insight支持导入性能数据文件,提供时间线视图、内存、算子耗时、通信瓶颈分析等功能,以图形化形式呈现相关内容,帮助开发者快速定位模型性能瓶颈。
## 使用前准备
**环境准备**
请先安装MindStudio Insight工具,具体安装步骤请参见《[MindStudio Insight安装指南](./mindstudio_insight_install_guide.md)》。
**数据准备**
请导入正确格式的性能数据,具体数据说明请参见[数据说明](#数据说明),数据导入操作请参见[导入数据](./basic_operations.md#导入数据)。
## 数据说明
**概述**
性能数据文件的采集方式请分别参见《性能调优工具指南》中的“PyTorch训练场景性能分析快速入门”、“TensorFlow训练场景性能分析快速入门”和“msprof采集通用命令”章节内容,以及《[MindSpore教程](https://www.mindspore.cn/tutorials/zh-CN/r2.7.0/index.html)》中的“调试调优 \> [Ascend性能调优](https://www.mindspore.cn/tutorials/zh-CN/r2.7.0/debug/profiler.html)”章节内容。
性能数据分为单卡场景和集群场景,具体请参见[**表 1** 性能数据场景说明](#性能数据场景说明)。
**表 1** 性能数据场景说明
|场景|说明|
|--|--|
|单卡场景|可在MindStudio Insight工具中导入单卡进行分析。当导入单卡场景数据时,MindStudio Insight工具支持显示时间线(Timeline)、内存(Memory)和算子(Operator)界面,具体内容请参见单卡场景。|
|集群场景|- 集群场景根据卡数量可分为小集群场景和大集群场景,导入不同场景的数据,界面展示也会有所变化,具体请参见集群场景。
- 集群精简数据,将集群数据简化,只显示通信大算子数据和部分计算类算子。|
**注意事项**
- 当导入的text场景的性能数据中同时存在db文件,MindStudio Insight工具会优先解析db文件。如果您只需要可视化呈现text场景数据,则需要在性能数据原文件夹中查找db文件并删除,再重新导入,即可呈现text场景数据。
- 支持同时导入系统调优和服务化调优的性能数据,需将两个场景的数据置于同一文件夹中,导入时选择该文件夹即可。
- memory\_record.csv和operator\_memory.csv两个文件必须同时存在且保证在同一目录,导入成功后内存(Memory)界面才能正常展示。
- 导入单卡时,不展示概览(Summary)和通信(Communication)界面。
- 当采集MindSpore训练/推理数据时,在GRAPH模式下,编译优化等级参数jit\_level设置为O2,且调用step接口方式采集的性能数据,在导入MindStudio Insight工具时,不支持展示通信(Communication)界面。
- 对于未完成性能数据解析的PROF\__XXX_目录,需要先使用msprof命令行的export功能解析并导出性能数据文件后才可以使用MindStudio Insight工具展示,数据使用msprof命令行解析并导出的操作请参见《性能调优工具指南》中的“msprof模型调优工具 \> 离线解析”章节。
- 支持导入算子打点数据文件,获取文件方式请参见《性能调优工具指南》中的“Ascend PyTorch Profiler”章节“msprof\_tx”相关内容,导入成功后会在时间线(Timeline)界面展示打点数据。
- 当导入集群数据时,如果性能数据文件中包含cluster\_analysis\_output目录文件,导入成功后,概览(Summary)和通信(Communication)界面会根据cluster\_analysis\_output目录文件内容呈现相关信息;如果性能数据文件中不包含cluster\_analysis\_output目录文件,在MindStudio Insight工具中导入数据时,会生成对应的cluster\_analysis\_output目录文件。
- 在集群场景下,使用Ascend PyTorch Profiler接口或者MindSpore Profiler接口采集到的性能数据,需要使用MindStudio Insight工具显示,则建议配置repeat=1,不推荐配置为0。如果repeat\>1,则需要将采集的性能数据文件夹分为repeat等份,按照文件夹名称中的时间戳先后将文件分别放到不同文件夹下重新导入,才可正常展示。
- 在Linux环境下使用MindStudio Insight工具分析集群场景数据时,如果已经安装了msprof-analyze工具,请检查版本并将其升级至最新版本,最新版本的msprof-analyze工具安装可参考《[msprof-analyze](https://gitcode.com/Ascend/msprof-analyze/blob/26.0.0/docs/zh/install_guide.md)》。
- 支持导入含有ACLGraph构图过程数据的单个json文件。
- 当导入数据的目录中同时存在单卡数据和集群数据,MindStudio Insight仅支持解析集群数据并进行可视化展示。
**单卡场景**
在单卡场景下,性能数据可分为三大类型,如下所示:
- PyTorch训练/推理数据:支持导入以“ascend\_pt”结尾的性能数据目录,性能数据文件详情请参见[**表 2** PyTorch训练/推理性能数据文件](#PyTorch训练/推理性能数据文件)。
**表 2** PyTorch训练/推理性能数据文件
|文件名|说明|展示界面|
|--|--|--|
|trace_view.json|包括应用层数据、CANN层数据和底层NPU数据。|时间线(Timeline)|
|msprof_*.json|Timeline数据总表。如果存在变频数据(AI Core Freq)信息,会展示AI Core Freq层级。|时间线(Timeline)|
|operator_details.csv|统计PyTorch算子在Host侧(下发)和Device侧(执行)的耗时。|时间线(Timeline)|
|memory_record.csv|进程级内存申请情况信息。|内存(Memory)|
|operator_memory.csv|算子内存申请情况信息。|内存(Memory)|
|kernel_details.csv|NPU上执行的所有算子的信息。|算子(Operator)|
|step_trace_time.csv|迭代中计算和通信的时间统计。|概览(Summary)|
|communication.json|通信算子通信耗时、带宽等详细信息文件。|通信(Communication)|
|communication_matrix.json|通信小算子基本信息文件。|通信(Communication)|
|ascend_pytorch_profiler_{*rank_id*}.db|Ascend PyTorch Profiler接口采集的性能数据文件。|时间线(Timeline)
内存(Memory)
算子(Operator)
概览(Summary)
通信(Communication)|
|analysis.db|多卡或集群等存在通信的场景下,采集到的数据文件。|时间线(Timeline)
内存(Memory)
算子(Operator)
概览(Summary)
通信(Communication)|
|注:“*”表示{timestamp}时间戳。|
- MindSpore训练/推理数据:支持导入MindSpore框架性能数据,获取方式请参见《[MindSpore教程](https://www.mindspore.cn/tutorials/zh-CN/r2.7.0/index.html)》中的“调试调优 \> [Ascend性能调优](https://www.mindspore.cn/tutorials/zh-CN/r2.7.0/debug/profiler.html)”章节。
MindStudio Insight工具支持导入以“ascend\_ms”结尾的性能数据目录,性能数据文件详情请参见[**表 3** MindSpore训练/推理性能数据文件](#MindSpore训练/推理性能数据文件)。
**表 3** MindSpore训练/推理性能数据文件
|文件名|说明|展示界面|
|--|--|--|
|msprof_*.json|Timeline数据总表。如果存在变频数据(AI Core Freq)信息,会展示AI Core Freq层级。|时间线(Timeline)|
|trace_view.json|包括应用层数据、CANN层数据和底层NPU数据。|时间线(Timeline)|
|memory_record.csv|进程级内存申请情况信息。|内存(Memory)|
|operator_memory.csv|算子内存申请情况信息。|内存(Memory)|
|static_op_mem.csv|静态图场景内存申请情况信息。当static_op_mem.csv存在时,内存(Memory)界面会展示静态图模式。|内存(Memory)|
|kernel_details.csv|NPU上执行的所有算子的信息。|算子(Operator)|
|step_trace_time.csv|迭代中计算和通信的时间统计。|概览(Summary)|
|communication.json|通信算子通信耗时、带宽等详细信息文件。|通信(Communication)|
|communication_matrix.json|通信小算子基本信息文件。|通信(Communication)|
|注:“*”表示{timestamp}时间戳。|
- 离线推理数据:支持导入mindstudio\_profiler\_output目录下性能数据,性能数据文件详情请参见[**表 4** 离线推理性能数据文件](#离线推理性能数据文件)。
**表 4** 离线推理性能数据文件
|文件名|说明|展示界面|
|--|--|--|
|msprof_*.json|Timeline数据总表。|时间线(Timeline)|
|fusion_op_*.csv|模型中算子融合前后信息。单算子场景下无此性能数据文件。|时间线(Timeline)|
|api_statistic_*.csv|用于统计CANN层的API执行耗时信息。|时间线(Timeline)|
|memory_record_*.csv|进程级内存申请情况信息。|内存(Memory)|
|operator_memory_*.csv|算子内存申请情况信息。|内存(Memory)|
|op_summary_*.csv|AI Core和AI CPU算子数据。|算子(Operator)|
|op_statistic_*.csv|AI Core和AI CPU算子调用次数及耗时统计。|算子(Operator)|
|prof_rule_0_*.json|调优建议。|时间线(Timeline)
概览(Summary)
通信(Communication)|
|step_trace_*.csv|迭代轨迹数据。单算子场景下无此性能数据文件。|-|
|step_trace_*.json|迭代轨迹数据,每轮迭代的耗时。单算子场景下无此性能数据文件。|-|
|task_time_*.csv|Task Scheduler任务调度信息。|-|
|msprof_*.db|统一db文件。当前该格式数据与text参数解析的数据信息量存在差异。|时间线(Timeline)
内存(Memory)
算子(Operator)
概览(Summary)
通信(Communication)|
|注:“*”表示{timestamp}时间戳。|
- npumonitor数据:支持导入npumonitor采集的性能数据,采集方式请参见[npumonitor特性](https://gitcode.com/Ascend/msmonitor/blob/26.0.0/docs/zh/npumonitor_instruct.md),性能数据文件详情请参见[**表 5** 性能数据文件详情表](#性能数据文件详情表)。
**表 5** 性能数据文件详情表
|文件名|说明|展示界面|
|--|--|--|
|msmonitor_{pid}\_{timestamp}\_{rank_id}.db|npumonitor采集的db文件。|时间线(Timeline)|
> [!NOTE]
>
> - pid为进程号,timestamp为时间戳。如果是集群数据,rank\_id为非负整数,从0排序;如果是单卡数据,rank\_id为-1。
> - MindStudio Insight支持导入npumonitor采集的单个db文件;也支持导入db文件的上一级目录,目录中多个db文件平铺展示。在数据量大的情况下,建议导入单个db文件,如果全部导入,数据解析耗时较长,可能会引发OOM(Out of Memory,内存溢出)问题。
**集群场景**
- 集群场景也称多卡场景,由多个单卡组成的集群数据,集群数据可分为小集群和大集群,MindStudio Insight工具导入不同场景的数据时,也有所不同,如[**表 6** 集群场景说明](#集群场景说明)所示。
如果在大集群场景下,直接导入性能调优工具采集的全部原始数据,解析耗时较长,不建议直接导入。
**表 6** 集群场景说明
|场景|卡数量|导入数据|界面展示|
|--|--|--|--|
|小集群|不超过32卡。|可导入采集到的全部原始数据。|时间线(Timeline)
内存(Memory)
算子(Operator)
概览(Summary)
通信(Communication)|
|大集群|超过32卡,千卡,万卡等。|采用mstt工具集中的msprof-analyze的集群分析能力预处理的原始性能数据,可得到基于通信域的通信分析和迭代耗时分析,导入预处理后得到的数据。
msprof-analyze工具的下载请参见《[msprof-analyze](https://gitcode.com/Ascend/msprof-analyze/blob/26.0.0/docs/zh/install_guide.md)》。
1. 将所有以“ascend_pt”或“ascend_ms”结尾的目录汇总至同一文件夹。
2. 使用msprof-analyze工具生成通信相关文件“cluster_analysis_output”目录,“cluster_analysis_output”目录中数据文件请参见[**表 7** cluster\_analysis\_output目录文件](#目录文件)。
3. 将生成的“cluster_analysis_output”目录文件拷贝至本地,并导入MindStudio Insight工具。
4. 可先前往通信(Communication)界面分析后,导入对应小集群数据或者单卡数据,再次仔细分析。|概览(Summary)
通信(Communication)|
**表 7** cluster\_analysis\_output目录文件
|文件名|说明|
|--|--|
|cluster_step_trace_time.csv|数据解析模式为communication_matrix、communication_time或all时均生成。|
|cluster_communication_matrix.json|数据解析模式为communication_matrix或all时生成。|
|cluster_communication.json|数据解析模式为communication_time或all时生成,主要为通信耗时数据。|
|cluster_analysis.db|解析analysis.db或ascend_pytorch_profiler_{*rank_id*}.db生成的文件。|
- 集群精简数据,是基于ascend\_pytorch\_profiler\_\{_rank\_id_\}.db文件,提取通信类大算子数据,计算类关键函数和框架关键函数,将数据精简,节约内存,快速进行全局分析,导入集群精简数据后,MindStudio Insight工具只显示时间线(Timeline)界面。
集群数据精简可使用mstt工具集中的msprof-analyze工具,通过设置`-m filter_db`生成集群精简数据,msprof-analyze工具安装可参考《[msprof-analyze](https://gitcode.com/Ascend/msprof-analyze/blob/26.0.0/docs/zh/install_guide.md)》,设置`-m filter_db`可参考《[recipe结果和cluster\_analysis.db交付件表结构说明](https://gitcode.com/ascend/mstt/blob/pre-research/profiler/msprof_analyze/docs/recipe_output_format.md#filter_db)》中的“filter\_db”内容,集群数据精简功能只支持统一db场景。
## 时间线(Timeline)
### 功能说明
在昇腾异构计算架构中,MindStudio Insight工具以时间线(Timeline)的呈现方式将训练/推理过程中的host、device上的运行详细情况平铺在时间轴上,直观呈现host侧的API耗时情况以及device侧的task耗时,并将host与device进行关联呈现,帮助用户快速识别host瓶颈或device瓶颈,同时提供各种筛选分类、专家建议等功能,支撑用户进行深度调优。
通过观察时间线视图各个层级上的耗时长短、间隙等判断对应组件和算子是否存在性能问题,如算子下发是否存在瓶颈、是否存在高耗时的kernel以及是否存在冗余的转换类算子。
> [!NOTE]
> 时间线(Timeline)界面默认最大展示三分钟的数据。如果导入的数据时间长度超过三分钟,则不支持缩小展示,仅可放大展示,通过左右平移查看其它时间数据。
### 界面介绍
**界面展示**
时间线(Timeline)界面由工具栏(区域一)、时间线树状图(区域二)、图形化窗格(区域三)和数据窗格(区域四)四个部分组成,如[**图 1** 时间线(Timeline)界面](#时间线(Timeline)界面)所示。
**图 1** 时间线(Timeline)界面
界面")
- 区域一:工具栏,包含常用快捷按钮,从左至右依次为标记列表、过滤(支持按卡或按泳道过滤展示)、搜索、连线事件、重置缩放(页面复原)和时间轴缩小放大按钮。
- 区域二:时间线树状图,text场景和db场景显示会有所不同,具体泳道信息请参见[泳道信息](#泳道信息)。
- text场景:显示集群场景下各设备的分层信息,以Rank维度显示分层信息,一层级为Rank ID,二层级为进程或专项分层,三层级为线程等名称。二层级包括Python层数据(包含PyTorch和打点数据的耗时信息)、CANN层数据(包含AscendCL、GE和Runtime组件的耗时数据)、底层NPU数据(包含Ascend Hardware下各个Stream任务流的耗时数据和迭代轨迹数据、Communication和Overlap Analysis通信数据、Memory内存数据以及其他昇腾AI处理器系统数据)和AI Core Freq等层级,层级内容展示随导入的数据而变化。
- db场景:显示各机器下的信息,一层级为机器名称,二层级为Host和Rank ID。Host层级是按照进程与线程级维度展示PyTorch和CANN的数据;Rank ID层级包括底层NPU数据(包含Ascend Hardware下各个Stream任务流的耗时数据和迭代轨迹数据、Communication和Overlap Analysis通信数据、Memory内存数据以及其他昇腾AI处理器系统数据)和AI Core Freq等层级,且卡下属层级内容的展示随导入的数据而变化。
- 区域三:图形化窗格,展示的数据是迭代内的数据,图形化窗格对应时间线树状图,逐行对时间线进行图形化展现,包括上层应用算子、各组件及接口的执行序列和执行时长。
- 区域四:数据窗格,统计信息或算子详情信息展示区,选中详情(Slice Detail)为选中单个算子的详细信息、选中列表(Slice List)为某一泳道选中区域的算子列表信息、系统视图(System View)为某类算子的汇总信息、以及查找(Find)为搜索的算子信息。
**泳道信息**
时间线(Timeline)界面上展示的泳道信息如下。
**表 1** 泳道信息
| 一层级泳道名称 | 二层级泳道名称 | 说明 |
|---|---|---|
| Process | Thread | 仅db格式文件支持展示此泳道,Thread层级泳道下还存在pytorch、CANN和MSTX,分别展示的是PyTorch框架下上层应用线程运行的耗时信息、CANN框架下线程运行的耗时信息和打点信息。 |
| Python | Thread | 应用层数据,每个子泳道Thread包含上层应用线程运行的耗时信息,需要使用PyTorch Profiler或msproftx采集。仅支持在text格式文件下展示该泳道。 |
| CANN | Thread | CANN层数据,每个子泳道Thread主要包含AscendCL、GE、Runtime组件以及Node(算子)的耗时数据。 如果是db格式文件,二层级泳道名称可能包含acl,model,node,hccl,runtime,op,queue,trace,mstx等。 |
| MindSpore | Thread | 在MindSpore场景下,展示当前Thread下运行的阶段耗时。 |
| Scope Layer | Thread | 在MindSpore场景下,展示当前Thread网络层级的执行耗时。 |
| Python GC | Python GC | 在PyTorch场景下,采集性能数据时开启了GC检测功能后,如果在采集的时间周期内发生了GC事件,则采集到的数据中会记录GC事件并显示在Python GC泳道中。 |
| Ascend Hardware | Stream <id> | 底层NPU数据,任务调度信息数据,记录AI任务运行时,各个Task在不同加速器下的执行耗时和AI Core的性能指标。 |
| Stream <id> MSTX domain <domainid> | Stream <id>的MSTX device侧打点数据。 | |
| Step Trace | 迭代轨迹数据。仅step_trace_*.json文件存在时展示该泳道。 | |
| Low Power | - | 低功耗数据,包含功耗、带宽、频率、温度等数据,通过呈现变频曲线,准确识别算子执行过程中的变频情况。 Low Power泳道仅支持展示Atlas 350 加速卡导出的性能数据。 |
| Biu Perf | Group<id>-aiv<id> | 呈现SU、VEC、CUBE、MTE等指令执行时间,以及打点数据。 Biu Perf泳道仅支持展示Atlas 350 加速卡导出的性能数据。 |
| UB | UDMA/UNIC-Ports<id> | 为UDMA和UNIC两种数据类型,呈现UB总体收发带宽情况。 UB泳道仅支持展示Atlas 350 加速卡导出的性能数据。 |
| Block Detail | AIC/AIV Earliest | 展示各个算子在最早的AI core或AI Vector Core上的执行时间,当算子为Mix类型时,会同时执行在AIC和AIV上。 Block Detail泳道仅支持展示Atlas 350 加速卡导出的性能数据。 |
| AIC/AIV Latest | 展示各个算子在最晚的AI core或AI Vector Core上的执行时间,当算子为Mix类型时,会同时执行在AIC和AIV上。 | |
| HBM | HBM <id>/Read | HBM内存读取速率,单位为MB/s。 |
| HBM <id>/Write | HBM内存写入速率,单位为MB/s。 | |
| DDR | Read | DDR内存读取速率。 |
| Write | DDR内存写入速率。 | |
| LLC | LLC <id> Read/Hit Rate LLC <id> Write/Hit Rate |
三级缓存读写速率数据,三级缓存读取、写入时的吞吐量。 |
| LLC <id> Read/Throughput LLC <id> Write/Throughput |
三级缓存读取、写入时的命中率。 | |
| NPU_MEM | APP/DDR | 进程级DDR内存占用,单位KB。 |
| APP/HBM | 进程级HBM内存占用,单位KB。 | |
| APP/MEMORY | 进程级DDR和HBM内存占用和,单位KB。 | |
| Device/DDR | 设备级DDR内存占用,单位KB。 | |
| Device/HBM | 设备级HBM内存占用,单位KB。 | |
| Device/MEMORY | 设备级DDR和HBM内存占用和,单位KB。 | |
| CCU | Communication | 包含集合通信指令数据,CCU任务的起止时间以及CCU任务的一级索引指令的起止时间,以及同步及数据搬运耗时。 CCU泳道仅支持展示Atlas 350 加速卡导出的性能数据。 |
| Communication | Group <id> Communication | 通信域下的通信算子。一个卡(Rank)可以存在于不同的通信域中,一个Group标识当前卡在当前通信域的行为。 |
| Plane <id> | 集合通信算子信息。网络平面ID,对多个收发通信链路的并行调度执行,每个Plane就是一个并发通信维度。 | |
| Stars Soc Info | L2 Buffer Bw Level | SoC传输带宽信息,L2 Buffer带宽等级信息。 |
| Mata Bw Level | Mata带宽等级信息。 | |
| acc_pmu | Accelerator {accId}/readBwLevel | DVPP和DSA加速器读带宽。 acc_pmu泳道在Atlas 350 加速卡不支持该泳道。 |
| Accelerator {accId}/readOstLevel | DVPP和DSA加速器读并发。 | |
| Accelerator {accId}/writeBwLevel | DVPP和DSA加速器写带宽。 | |
| Accelerator {accId}/writeOstLevel | DVPP和DSA加速器写并发。 | |
| Overlap Analysis | Communication | 通信时间。 |
| Communication(Not Overlapped) | 未被计算掩盖的通信时间。 | |
| Computing | 计算时间。 | |
| Free | Device侧既不在计算也不在通信的时间。按Step维度拆解时,会被进一步区分为Preparing和Free,其中Preparing在做数据预处理,加载拷贝等操作。 | |
| AI Core Utilization | Average | AI Core指令占比数据的均值。AI Core Utilization泳道仅支持在text格式文件下展示。 |
| Core <id> | 各AI Core在执行Task的total cycle(从AI Core开始执行算子的第一条指令开始计数,到最后一条指令执行完成)占比情况。 | |
| AI Core Freq | AI Core Freq | 展示AI Core芯片在执行AI任务的过程中频率的变化情况。 AI Core Freq泳道仅支持展示 |
| SIO | dat_rx、dat_tx | 数据流通道的接收、发送带宽。SIO泳道仅支持在text格式文件下展示。 SIO泳道仅支持展示 |
| req_rx、req_tx | 请求流通道的接收、发送带宽。 | |
| rsp_rx、rsp_tx | 回应流通道的接收、发送带宽。 | |
| snp_rx、snp_tx | 侦听流通道的接收、发送带宽。 | |
| QoS | QoS <id>:OTHERS | 设备QoS带宽信息。 |
| NIC | Port <id>/Rx Port <id>/Tx |
text场景:展示每个时间节点网络信息数据。 db场景:展示带宽信息数据。 泳道名称会根据导入的数据不同而变化。 |
| RoCE | Port <id>/Rx Port <id>/Tx |
RoCE通信接口带宽数据。RoCE泳道仅支持在text格式文件下展示。 |
| PCIe | PCIe_cpl | 接收写请求的完成数据包,单位MB/s。Tx表示发送端,Rx表示接收端。 |
| PCIe_nonpost | PCIe Non-Posted数据传输带宽,单位MB/s。Tx表示发送端,Rx表示接收端。 | |
| PCIe_nonpost_latency | PCIe Non-Posted模式下的传输时延,单位us。Tx表示发送端,Rx表示接收端。PCIe_nonpost_latency无Rx,取固定值0。 | |
| PCIe_post | PCIe Posted数据传输带宽,单位MB/s。Tx表示发送端,Rx表示接收端。泳道名称会根据导入的数据不同而变化。 | |
| HCCS | txThroughput rxThroughput |
HCCS集合通信带宽数据,展示接收带宽和发送带宽,单位MB/s。 |
| biu_group | Bandwidth Read | BIU总线接口单元读取指令时的带宽。biu_group泳道仅支持在text格式文件下展示。 |
| Bandwidth Write | BIU总线接口单元写入指令时的带宽。 | |
| Latency Read | BIU总线接口单元读取指令时的时延。 | |
| Latency Write | BIU总线接口单元写入指令时的时延。 | |
| aic_core_group | Cube | 矩阵类运算指令在本采样周期内的cycle数和占比。aic_core_group泳道仅支持在text格式文件下展示。 |
| Mte1 | L1->L0A/L0B搬运类指令在本采样周期内的cycle数和占比。 | |
| Mte2 | 片上内存->AICORE搬运类指令在本采样周期内的cycle数和占比。 | |
| Mte3 | AICORE->片上内存搬运类指令在本采样周期内的cycle数和占比。 | |
| aiv_core_group | Mte1 | L1->L0A/L0B搬运类指令在本采样周期内的cycle数和占比。aiv_core_group泳道仅支持在text格式文件下展示。 |
| Mte2 | 片上内存->AICORE搬运类指令在本采样周期内的cycle数和占比。 | |
| Mte3 | AICORE->片上内存搬运类指令在本采样周期内的cycle数和占比。 | |
| Scalar | 标量类运算指令在本采样周期内的cycle数和占比。 | |
| Vector | 向量类运算指令在本采样周期内的cycle数和占比。 | |
| Stars Chip Trans | PA Link Rx | PA流量接收等级。当有集合通信带宽时,不建议参考该字段值,该字段为粗粒度的统计值。Stars Chip Trans泳道仅支持在text格式文件下展示,且Atlas 350 加速卡不支持该泳道。 |
| PA Link Tx | PA流量发送等级。当有集合通信带宽时,不建议参考该字段值,该字段为粗粒度的统计值。 | |
| PCIE Read Bandwidth | PCIe读带宽。当有PCIe带宽时,不建议参考该字段值,该字段为粗粒度的统计值。 | |
| PCIE Write Bandwidth | PCIe写带宽。当有PCIe带宽时,不建议参考该字段值,该字段为粗粒度的统计值。 | |
| CPU Usage | CPU <id> | Host侧CPU利用率数据。 |
| Memory Usage | Memory Usage | Host侧内存利用率数据。 |
| Disk Usage | Disk Usage | Host侧磁盘I/O利用率数据。 |
| Network Usage | Network Usage | Host侧网络I/O利用率数据。 |
| OS Runtime API | Thread | Host侧syscall和pthreadcall数据。OS Runtime API泳道仅支持在text格式文件下展示。 |