算子上板调优
算子调优工具支持上板环境下的性能数据采集和自动解析。

当前,不支持设置ASCEND_RT_VISIBLE_DEVICES环境变量后,使用msProf工具。
参数 |
描述 |
是否必选 |
---|---|---|
op |
开启算子调优。 说明:
msprof工具的使用依赖CANN包中的msopprof可执行文件,该文件中的接口使用和msprof op一致,该文件为CANN包自带,无需单独安装。 |
是 |
--application |
配置为运行环境上的指定可执行文件,可配置为绝对路径或者相对路径。 说明:
不建议配置其他用户目录或其他用户可写目录下的AI任务,避免提权风险。 不建议配置删除文件或目录、修改密码、提权命令等有安全风险的高危操作。 |
是,二选一 |
--config |
配置为算子编译得到的二进制文件*.o,可配置为绝对路径或者相对路径。 具体可参考msprof json配置文件说明。 |
|
--kernel-name |
指定要采集的算子名称,如果不指定,则只对程序运行过程中调度的第一个算子进行采集。 需与--application配合使用,限制长度为1024,仅支持A-Za-z0-9_中的一个或多个字符。 |
否 |
--aic-metrics |
使能算子性能指标采集。支持以下性能指标采集项,默认全部采集。
可选其中的一项或多项,选多项时用英文逗号隔开,例如:--aic-metrics=Memory,MemoryL0。 说明:
若仅采集部分性能指标,会影响visualize_data.bin的可视化数据的正确性。 |
否 |
--output |
收集到的性能数据的存放路径,默认在当前目录下保存性能数据。 |
否 |
--help |
输出帮助信息。 |
否 |
算子上板调优可以通过以下两种方式执行:
- 基于可执行文件
示例二:
msprof op --application=./add_custom_npu --aic-metrics=<select_metrics> --output=./output_data
- 基于输入算子二进制文件*.o的配置文件.json
msprof op --config=./add_test.json --aic-metrics=<select_metrics> --output=./output_data
命令完成后,会在默认路径或指定的“--output”目录下生成以“OPPROF_{timestamp}_XXX”命名的文件夹,在“--aic-metrics”全部开启时,结构示例如下:
OPPROF_{timestamp}_XXX ├── dump ├── ArithmeticUtilization.csv ├── L2Cache.csv ├── Memory.csv ├── MemoryL0.csv ├── MemoryUB.csv ├── OpBasicInfo.csv ├── PipeUtilization.csv └── ResourceConflictRatio.csv
- dump文件夹:原始的性能数据,用户无需关注。
- ArithmeticUtilization.csv:cube和vector类型的指令耗时和占比,可参考ArithmeticUtilization(cube及vector类型指令耗时和占比)。
- L2Cache.csv:L2 Cache命中率,可参考L2Cache(L2 Cache命中率)。
- Memory.csv:UB/L1/L2/主存储器采集内存读写带宽速率,可参考Memory(内存读写带宽速率)。
- MemoryL0.csv:L0A/L0B/L0C采集内存读写带宽速率,可参考MemoryL0(L0读写带宽速率)。
- MemoryUB.csv:mte/vector/scalar采集UB读写带宽速率,可参考MemoryUB(UB读写带宽速率)。
- PipeUtilization.csv:采集计算单元和搬运单元耗时和占比,可参考PipeUtilization(计算单元和搬运单元耗时占比)。
- ResourceConflictRatio.csv:UB上的 bank group、bank conflict和资源冲突在所有指令中的占比,可参考ResourceConflictRatio(资源冲突占比)。
- OpBasicInfo.csv:算子基础信息,包含算子名称、block dim和耗时等信息,可参考OpBasicInfo(算子基础信息)。
父主题: 使用msprof调优算子