msopprof simulator模式用户指南
简介
MindStudio Ops Profiler(算子调优工具,msOpProf)用于采集和分析运行在AI处理器上算子的关键性能指标,用户可根据输出的性能数据,快速定位算子的软、硬件性能瓶颈,提升算子性能的分析效率。
当前支持基于上板(msopprof)或仿真(msopprof simulator)运行模式和不同文件形式(可执行文件或算子二进制.o文件)进行性能数据的采集和自动解析。本文档介绍msopprof simulator运行模式的使用。
功能特性
通过MindStudio Insight展示指令流水图、算子代码热点图、内存通路吞吐率波形图以及性能数据文件等单算子调优能力,具体请参考表 1 msopprof simulator模式功能特性。
| 功能 | 链接 |
|---|---|
| 指令流水图 | 指令流水图 |
| 算子代码热点图 | 算子代码热点图 |
| 内存通路吞吐率波形图 | 内存通路吞吐率波形图 |
| 性能数据文件 | msopprof simulator性能数据 |
调用场景
| 调用场景 | 参考章节 |
|---|---|
| Kernel直调场景 | Kernel直调场景 |
| 单算子API调用场景 | 单算子API调用场景 |
| PyTorch 框架接入算子 | PyTorch 框架算子调用场景 |
| Triton-Ascend 算子 | Triton 算子调用场景 |
| catlass算子 | catlass算子调用场景 |
使用前准备
环境准备
-
请参考MindStudio Ops Profiler安装指南,完成相关环境变量的配置。
-
若要使用MindStudio Insight进行查看时,需要单独安装MindStudio Insight软件包,具体下载链接请参见MindStudio Insight安装指南。
-
针对Atlas A2 训练系列产品/Atlas A2 推理系列产品,若要使用模板库进行仿真,编译脚本需增加选项--simulator,以simulator模式编译算子。具体操作请参见链接。
bash scripts/build.sh --simulator 00_basic_matmul
使用约束
- 性能数据采集时间建议在5min以内,同时推荐用户设置的内存大小在20G以上(例如容器配置:docker run --memory=20g 容器名)。
- 请确保性能数据保存在不含软链接的当前用户目录下,否则可能引起安全问题。
注意事项
- msOpProf工具的使用依赖CANN包中的msopprof可执行文件,该文件中的接口使用和msopprof一致,该文件为CANN包自带,无需单独安装。
- 通过键盘输入“CTRL+C”后,算子执行将会被停止,工具会根据当前已有信息生成性能数据文件。若不需要生成该文件,可再次键盘输入“CTRL+C”指令。
- 若未指定--output参数,需确保其他用户不具备当前路径的上一级目录的写入权限。
- 使用msopprof simulator之前,用户需保证app功能正常。
- 不支持在同一个Device侧同时拉起多个性能采集任务。
- 资料中的msopprof simulator的仿真结果仅供参考,算子真实的运行情况以用户的实际仿真数据为准。
- 用户需自行保证可执行文件或用户程序(application)执行的安全性。
- 建议限制对可执行文件或用户程序(application)的操作权限,避免提权风险。
- 不建议进行高危操作(删除文件、删除目录、修改密码及提权命令等),避免安全风险。
命令参考
登录运行环境,使用msopprof simulator开启算子仿真调优功能,并配合使用仿真可选参数和用户待调优程序(blockdim 1)进行调优,仿真可选参数请参考表 1 msopprof simulator可选参数说明。
说明
参数 --soc-version 的值可通过执行以下命令获取:python3 -c "import acl; print(acl.get_soc_name())"。
msprof op simulator --soc-version=Ascendxxxyy --output=/home/projects/output /home/projects/MyApp/out/main blockdim 1 # --output为可选参数,/home/projects/MyApp/out/main为使用的app,blockdim 1为用户app的可选参数,xxxyy为用户实际使用的具体芯片类型
可选参数 |
描述 |
是否必选 |
|---|---|---|
--application |
建议使用msprof op simulator --soc-version=Ascendxxxyy [msopprof simulator参数] ./app进行拉取,其中app为用户指定的可执行文件,如果app未指定路径,默认为使用当前路径,xxxyy为用户实际使用的具体芯片类型。 使用./app时,需将msopprof simulator的相关参数添加到./app前,以确保相关功能生效。 当前与./app [arguments]兼容,后期将修改为./app [arguments]。 |
是,指定的可执行文件、--config和--export三选一 |
--config |
配置为算子编译得到的二进制文件*.o,可配置为绝对路径或者相对路径。具体可参考json配置文件说明。 进行算子调优之前,可通过以下两种方式获取算子二进制*.o文件。
需确保群组和其他组的用户不具备--config指定的json文件及上一级目录的写入权限。同时,需要确保json文件的上一级目录属主为当前用户。 需要使用LD_LIBRARY_PATH环境变量设置仿真器类型。
export LD_LIBRARY_PATH=${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib:$LD_LIBRARY_PATH // xxxyy为用户实际使用的具体芯片类型
|
|
--export |
指定包含单算子仿真结果文件夹,直接对该仿真结果进行解析,并通过MindStudio Insight展示单算子单核或多核的指令流水图。 注意事项:
|
|
--kernel-name |
指定要采集的算子名称,支持使用算子名前缀进行模糊匹配。如果不指定,则只对程序运行过程中调度的第一个算子进行采集。 注意事项:
|
否 |
--launch-count |
设置可以采集算子的最大数量,默认值为1,取值范围为1~5000之间的整数。 |
否 |
--aic-metrics |
使能算子性能指标采集。支持以下性能指标采集项。
|
否 |
--core-id |
该参数适用于算子分布均匀的情况时,可使用--core-id参数指定部分逻辑核的id,解析部分核的仿真数据。 核id的取值范围为[0,49]。 若要解析多个核的仿真数据时,需要使用符号"|"进行拼接。例如,--core-id="0|31"表示解析核id为0和31的仿真数据。 --core-id设置对PMSampling参数不生效,PMSampling参数解析全部核。 |
否 |
--timeout |
该参数适用于数据量大且计算重复的算子,完整运行该类算子将会耗时很长,部分流水图即可获取必要信息。可通过设置--timeout参数缩短算子运行时长并获取必要流水信息。具体实现如下:
参数取值范围为1~2880之间的整数,单位为分钟。具体示例如下: msprof op simulator --soc-version=Ascendxxxyy --timeout=1 ./add_custom // xxxyy为用户实际使用的具体芯片类型 |
否 |
--mstx |
该参数决定算子调优工具是否使能用户代码程序中使用的mstx API。 默认为off,表示关闭对mstx API的使能。 当配置--mstx=on,算子调优工具将会使能用户代码程序中使用的mstx API。 具体举例如下: msprof op simulator --soc-version=Ascendxxxyy --mstx=on ./add_custom // xxxyy为用户实际使用的具体芯片类型
当前已支持mstx API中的mstxRangeStartA和mstxRangeEnd接口,功能为使能算子调优的指定区间,具体参数介绍请参见《MindStudio mstx API参考》中的mstxRangeStartA和mstxRangeEnd接口。 |
否 |
--mstx-include |
该参数支持在msOpProf工具使能用户指定mstx API。 若不配置,则默认使能所有用户代码中使用的mstx API。 若配置,--mstx-include仅使能用户指定的mstx API。--mstx-include的输入为用户调用mstx函数时传入的message字符串,多个字符串需使用"|"拼接。 具体举例如下: --mstx=on --mstx-include="hello|hi" //仅使能用户传入mstx函数中message参数为hello和hi的mstx API 不可单独配置,需要与--mstx配合使用。 仅支持message为A-Z a-z 0-9 _这些字符,使用"|"进行拼接。 |
否 |
--soc-version |
可以通过--soc-version或设置LD_LIBRARY_PATH环境变量来指定仿真器类型,两者必须二选一,具体介绍如下:
|
否 |
--output |
收集到的性能数据的存放路径,默认在当前目录下保存性能数据。 需确保群组和其他组的用户不具备--output指定输出路径的上一级目录的写入权限。同时,需要确保--output指定目录的上一级目录属主为当前用户。 |
否 |
--dump |
控制仿真器dump文件是否生成。 选项包括开启(on)和关闭(off),默认情况下设置为关闭(off),即不生成仿真器dump文件。 注意事项:
|
否 |
-h,--help |
输出帮助信息。 |
否 |
工具使用
msOpProf工具协助用户定位算子内存、算子代码以及算子指令的异常,实现全方位的算子调优。使用方式的详细说明请参考表 1 msopprof simulator功能说明表。
| 适用场景 | 使用方式 | 展示的图形 |
|---|---|---|
| 适用于开发和调试阶段,进行详细仿真调优,可协助用户分析算子指令和代码热点问题。 | 需要参考msopprof simulator配置,配置环境变量(如LD_LIBRARY_PATH)和编译选项(如添加-g生成调试信息),适合在仿真环境中详细分析算子行为。 | 指令流水图 算子代码热点图 内存通路吞吐率波形图 |
Note
- msOpProf工具的仿真功能仅支持单卡场景,无法仿真多卡环境。
- 参数
--soc-version的值可通过执行以下命令获取:python3 -c "import acl; print(acl.get_soc_name())"。
-
msOpProf工具使用--config模式进行算子仿真调优之前,需执行如下命令配置环境变量。
export LD_LIBRARY_PATH=${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib:$LD_LIBRARY_PATH请根据CANN软件包实际安装路径和AI处理器的型号对以上环境变量进行修改。
-
编译选项需添加-g,使能算子代码热点图和代码调用栈功能。
Note
- 添加-g编译选项会在生成的二进制文件中附带调试信息,建议限制带有调试信息的用户程序的访问权限,确保只有授权人员可以访问该二进制文件。
- 若不使用llvm-symbolizer组件提供的相关功能,输入msOpProf的程序编译时不包含-g即可,msOpProf工具则不会调用llvm-symbolizer组件的相关功能。
-
若参考msOpGen工具创建的算子工程,需编辑算子工程op_kernel目录下的CMakeLists.txt文件,可参考创建算子工程。
add_ops_compile_options(ALL OPTIONS -g) -
若参考完整样例,以链接为例,需在样例工程目录下的“cmake/npu_lib.cmake”文件中新增以下代码。
Note
-
此样例工程不支持Atlas A3 训练系列产品。
-
下载代码样例时,需执行以下命令指定分支版本。
git clone https://gitee.com/ascend/samples.git -b v1.9-8.3.RC1
ascendc_compile_options(ascendc_kernels_${RUN_MODE} PRIVATE -g -O2 ) -
-
若是Triton算子,需通过配置以下环境变量添加-g。
export TRITON_DISABLE_LINE_INFO=0
-
使用msOpProf工具对PyTorch脚本的算子进行仿真调优时,不支持Python内置的print函数打印Device侧上的变量和值。
-
Atlas A3 训练系列产品/Atlas A3 推理系列产品和Atlas A2 训练系列产品/Atlas A2 推理系列产品的仿真器在运行过程中,当仿真blockdim大于物理核数时,仿真器可能会出现以下报错,可以通过配置pem_config_cloud.toml文件中的core_ostd_num参数解决该问题。pem_config_cloud.toml文件的路径为${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib/pem_config_cloud.toml。

[ARCH] cube_core_num = 1 vec_core_num = 2 core_ostd_num = 2 # 2 early end 1 normal mode -
Atlas 350 加速卡使用msProf工具进行算子仿真调优时,需将config.json文件中的flush_level参数修改为info级,也就是将文件中的"flush_level": 3修改为"flush_level" : 2。config.json文件的路径为${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib/config.json。
启动工具
请先完成msopprof simulator配置,然后根据以下操作步骤使能msOpProf工具的仿真调优功能。算子调优工具支持仿真环境下的性能数据采集和自动解析。
Note
-
当前msOpProf不支持-O0编译选项。
-
仿真环境不支持采集MC2和HCCL类型的算子。
-
用户设置的仿真核数不能超过物理核数。
-
若用户仅需关注部分算子性能时,可在Atlas A3 训练系列产品/Atlas A3 推理系列产品、Atlas 推理系列产品和Atlas A2 训练系列产品/Atlas A2 推理系列产品的单核内调用《Ascend C算子开发接口》中的“算子调测API”章节的TRACE_START和TRACE_STOP接口。并在编译配置文件中添加-DASCENDC_TRACE_ON,具体操作请参见添加-DASCENDC_TRACE_ON的方法。然后,才能生成该范围内的流水图信息,具体流水图显示内容可参考指令流水图。
-
用户需在编译配置文件中添加-DASCENDC_TRACE_ON,具体修改方法可参考以下样例工程。 AddKernelInvocationNeo算子工程,需在${git_clone_path}/samples/operator/ascendc/0_introduction/3_add_kernellaunch/AddKernelInvocationNeo/cmake/npu_lib.cmake文件中新增以下代码。
ascendc_compile_definitions ( ... -DASCENDC_TRACE_ON )
-
登录运行环境,需要使用msopprof simulator开启算子仿真调优,并配合使用仿真可选参数和用户待调优程序(app [arguments])进行调优,仿真可选参数请参考命令参考。算子仿真调优可以通过以下两种方式执行:
-
基于可执行文件
-
单算子场景,以test为例
Note
示例中的可执行文件名称
test仅作为示例展示,实际名称请以当前工程中编译生成的可执行文件为准。msprof op simulator --soc-version=Ascendxxxyy --output=./output_data ./test # xxxyy为用户实际使用的具体芯片类型 -
多算子场景
若test中有Add,MatlMul,Sub算子,可配合--launch-count和--kernel-name使用,可以指定采集Add和Sub算子。
msprof op simulator --soc-version=Ascendxxxyy --launch-count=10 --kernel-name="Add|Sub" --output=./output_data ./test # xxxyy为用户实际使用的具体芯片类型,./test需要放置在命令末尾
-
-
基于输入算子二进制文件*.o的配置文件.json
Note
--config场景下,仅支持使用LD_LIBRARY_PATH导入环境变量,不支持使用--soc-version参数。
export LD_LIBRARY_PATH=${INSTALL_DIR}/tools/simulator/Ascendxxxyy/lib:$LD_LIBRARY_PATH # xxxyy为用户实际使用的具体芯片类型 msprof op simulator --config=./add_test.json --output=./output_data
-
-
命令完成后,会在指定的“--output”目录下生成以“OPPROF_{timestamp}_XXX”命名的文件夹,结构示例如下:
-
采集单个算子场景。
OPPROF_{timestamp}_XXX ├── dump └── simulator ├── core0.veccore0 // 按照core*.veccore*或core*.cubecore*目录存放各核的数据文件 │ ├── core0.veccore0_code_exe.csv │ ├── core0.veccore0_instr_exe.csv │ └── trace.json // 该核的仿真指令流水图文件 ├── core0.veccore1 │ ├── core0.veccore1_code_exe.csv │ ├── core0.veccore1_instr_exe.csv │ └── trace.json ├── core1.veccore0 │ ├── core1.veccore0_code_exe.csv │ ├── core1.veccore0_instr_exe.csv │ └── trace.json ├── ... ├── visualize_data.bin └── trace.json // 全部核的仿真指令流水图文件 -
采集多个算子场景。
└──OPPROF_{timestamp}_XXX ├── OpName1 // OpName1为采集算子名称 │ ├── 0 // 表示算子调度到的顺序 │ │ ├── dump // 与单算子含义一致,存放过程件的文件夹 │ │ └──simulator // 与单算子simulator文件夹内容一致,但simulator文件夹中的csv文件均会增加时序后缀,例如core*_code_exe_20240429111143146.csv │ ├── 1 │ │ ├── dump │ │ └──simulator │ ├── dump // 存放过程件的文件夹 ├── OpName2 │ ├── 0 │ │ ├── dump │ │ └── simulator │ ├── dump
表 2 msopprof simulator文件介绍
名称
说明
dump文件夹
原始仿真生成的dump数据存放文件夹。
simulator文件夹(dump数据文件分析结果存放文件夹。)
core*_code_exe.csv
代码行耗时,*代表0~n核,以便用户快速确定编写的代码中最耗时的部分,可参考代码行耗时数据文件。
core*_instr_exe.csv
代码指令详细信息,*代表0~n核,以便用户快速确定最耗时的指令,可参考代码指令信息文件。
visualize_data.bin
仿真流水图和仿真热点函数等信息可视化呈现文件。
trace.json
仿真指令流水图文件,包括每个核的子文件以及全部核的汇总文件。
-
-
将visualize_data.bin文件导入MindStudio Insight后,将会展示指令流水图、算子代码热点图和内存通路吞吐率波形图。
-
将trace.json文件导入Chrome浏览器或MindStudio Insight后,将会展示指令流水图和内存通路吞吐率波形图。
指令流水图
功能说明
通过msopprof simulator运行模式生成的visualize_data.bin文件或trace.json文件,并进行可视化呈现。指令流水图以指令维度展示时序关系,并关联调用栈快速定位瓶颈位置。
注意事项
- MindStudio Insight具体操作和详细字段解释请参考《MindStudio Insight算子调优》的“时间线(Timeline)”章节。
- 添加-g编译选项会在生成的二进制文件中附带调试信息,建议限制带有调试信息的用户程序的访问权限,确保只有授权人员可以访问该二进制文件。
- 若不使用llvm-symbolizer组件提供的相关功能,输入msOpProf的程序编译时不包含-g即可,msOpProf工具则不会调用llvm-symbolizer组件的相关功能。
- 若用户仅需关注部分算子性能时,可在Atlas A3 训练系列产品/Atlas A3 推理系列产品、Atlas 推理系列产品和Atlas A2 训练系列产品/Atlas A2 推理系列产品的单核内调用《Ascend C算子开发接口》中的“算子调测API”章节的TRACE_START和TRACE_STOP接口。并在编译配置文件中添加-DASCENDC_TRACE_ON,具体操作请参见添加-DASCENDC_TRACE_ON的方法。然后,才能生成该范围内的流水图信息。
使用说明
trace.json文件可分别通过Chrome浏览器和MindStudio Insight展示,visualize_data.bin文件仅可通过MindStudio Insight展示。
-
Chrome浏览器
在Chrome浏览器中输入“chrome://tracing”地址,并将通过msopprof simulator运行模式生成指令流水图文件(trace.json)拖到空白处打开,键盘上输入快捷键(W:放大,S:缩小,A:左移,D:右移)可进行查看。关键字段说明如表 1 关键字段说明。
字段名 字段含义 VECTOR 向量运算单元。 SCALAR 标量运算单元。 Cube 矩阵乘运算单元。 MTE1 数据搬运流水,数据搬运方向为:L1 ->{L0A/L0B, UBUF}。 MTE2 数据搬运流水,数据搬运方向为:{DDR/GM, L2} ->{L1, L0A/B, UBUF}。 MTE3 数据搬运流水,数据搬运方向为:UBUF -> {DDR/GM, L2, L1}、L1->{DDR/L2}。 FIXP 数据搬运流水,数据搬运方向为:FIXPIPE L0C -> OUT/L1。(仅Atlas A2 训练系列产品/Atlas A2 推理系列产品支持展示) FLOWCTRL 控制流指令。 CACHEMISS 未命中ICache。 USEMASK 自定义打点范围。若同一个USEMASK内存在范围嵌套或只有TRACE_START无TRACE_STOP时,不能正常绘制指令流水图。 ALL 表示在这个通道的指令在所有通道都执行。 PUSHQ VF/SMIT_VF类指令。 RVECLP vector寄存器LOOP指令。 RVECSU vector寄存器ASU指令,包含跳转和标量数据处理。 RVECLD vector寄存器LOAD指令。 RVECEX vector寄存器EXECUTE指令。 RVECST vector寄存器SET指令。 -
MindStudio Insight
将生成的trace.json文件或visualize_data.bin文件可导入MindStudio Insight进行可视化呈现。
MindStudio Insight工具以时序图方式为用户提供指令在昇腾AI处理器上的运行情况,用户可通过分析时序图中的指令详情、指令执行时间、指令关联代码的调用栈及指令/流水间同步连线等信息,识别微观指令的时序优化点。通过观察Timeline的流水排布等信息判断算子运行过程中可能存在的性能问题,如指令间未能有效并行等。
图 1 时间线界面

- 展示各PIPE中各指令的运行时长以及不同PIPE间的指令依赖关系,帮助用户分析流水排布间可能存在的性能优化点。
- 支持将流水指令信息与代码关联,指导用户如何基于代码去优化流水排布。
- 支持在选中详情展示与GM有关指令的数据搬运量。
算子代码热点图
功能说明
通过msopprof simulator运行模式生成的visualize_data.bin文件可通过MindStudio Insight进行可视化呈现。界面支持查看算子源码与指令集的映射关系、耗时情况等功能,可协助开发者识别热点代码分布,并分析热点函数优化的可行性。
注意事项
- MindStudio Insight具体操作和详细字段解释请参考《MindStudio Insight算子调优》的“源码(Source)”章节。
- 添加-g编译选项会在生成的二进制文件中附带调试信息,建议限制带有调试信息的用户程序的访问权限,确保只有授权人员可以访问该二进制文件。
- 算子程序编译时需要包含-g,否则msOpProf不会展示热点图,也不调用llvm-symbolizer组件的相关功能实现代码-PC映射。
- MC2算子和LCCL算子均不支持生成算子代码热点图。
使用说明
算子代码热点图界面如下。
图 1 msopprof simulator源码界面

- 在界面顶部,可切换计算单元和核函数文件。
- 在左侧界面,提供算子核函数各行代码对应的耗时、寄存器使用情况、Vector计算类指令在UB Bank上读和写的冲突情况、Vector计算单元利用率、与GM有关的数据搬运量及对应的指令数,帮助开发者快速定位瓶颈代码行。
- 在右侧界面,提供具体的指令耗时、寄存器使用情况、与GM有关的数据搬运量、Vector计算类指令在UB Bank上读和写的冲突情况、Vector计算单元利用率、执行次数及与代码相关联,帮助开发者进一步分析代码耗时长的原因。
Note
- 通用寄存器的最大数量为32,当寄存器的使用数量达到32时,仿真过程需等到使用中的寄存器释放后才能运行。
- 不支持使用TRACE_START和TRACE_STOP接口查看部分算子的寄存器使用情况。
- 查看与GM有关的数据搬运量(Process Bytes)时,不涉及GM单元的情况都显示为NA。
-
msopprof simulator具体特性支持情况请参见表 1 msopprof simulator热点图的功能介绍。
表 1 msopprof simulator热点图的功能介绍
列名 Atlas A2 训练系列产品/Atlas A2 推理系列产品 Atlas A3 训练系列产品/Atlas A3 推理系列产品 Atlas 推理系列产品 Atlas 350 加速卡 说明 源码 支持 支持 支持 支持 - 指令PC地址 支持 支持 支持 支持 - PIPE 支持 支持 支持 支持 - 耗时cycle 支持 支持 支持 支持 查看算子源码与指令的耗时情况。 执行次数 支持 支持 支持 支持 查看算子源码与指令的执行次数。 GPR Count 支持 支持 支持 不支持 查看寄存器使用情况。
不支持使用TRACE_START和TRACE_STOP接口查看部分算子的寄存器使用情况。UB Bank冲突 支持 支持 支持 不支持 - vec计算单元利用率 支持 支持 支持 不支持 - Process Bytes 支持 支持 不支持 不支持 查看与GM有关的数据搬运量。 真实阻塞时钟数 不支持 不支持 不支持 支持 展示实际阻塞的Cycles数。“阻塞”是指令在执行过程中,由于资源冲突、数据依赖等原因而产生的等待时间。
内存通路吞吐率波形图
功能说明
通过msopprof simulator运行模式生成的visualize_data.bin文件可通过MindStudio Insight进行可视化呈现。界面支持查看算子MTE日志通路的内存带宽在时序上的统计分析能力,可协助开发者识别算子各阶段的带宽使用状况,并分析带宽优化的可行性。
注意事项
- MindStudio Insight具体操作和详细字段解释请参考《MindStudio Insight算子调优》的“时间线(Timeline)”章节。
- 内存通路吞吐率波形图功能仅适用于Atlas A2 训练系列产品/Atlas A2 推理系列产品和Atlas A3 训练系列产品/Atlas A3 推理系列产品。
- 此功能默认不开启,--core-id设置对该功能不生效。
使用说明
内存通路吞吐率波形图如下。
图 1 内存通路吞吐率波形图

-
展示各种类型内存通路(当前仅展示GM_TO_L1、GM_TO_TOTAL、GM_TO_UB、L1_TO_GM、TOTAL_TO_GM、UB_TO_GM六个通路)的数据吞吐率(单位为MB/s)。例如,GM_TO_UB表示从GM搬运到UB的吞吐率,GM_TO_TOTAL表示从GM搬运到各内存单元的吞吐率。
-
结合MTE相关指令,观察执行相关命令时的吞吐率,协助用户识别算子性能问题。
Note
- 吞吐率计算所采用的数据是某一个指令多次请求结束时的数据。
- 吞吐率波形图可能出现在某指令的起始时间和结束时间范围内(包含起始时间和结束时间)。例如,持续时间为1~3微秒的指令,吞吐率数据可能分散在1~2微秒、2~3微秒及3~4微秒三个柱状图内。