---
title: --op_debug_level
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/devaids/atctool/atlasatcparam_16_0086.html
sourcePath: /source/zh/canncommercial/900/devaids/atctool/atlasatcparam_16_0086.html
indexId: a6be19250e69da7a02d4802fcf7f057579216b2bdbe78bea13196079826ac88872
---
# --op_debug_level

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 功能说明

算子debug功能开关。


#### 关联参数

如果要自行指定算子编译的过程文件存放路径，需--op_debug_level（取值为非0）与--debug_dir配合使用。


#### 参数取值

参数值：

- 0：（默认值）不开启算子debug功能，在当前执行路径不生成算子编译目录kernel_meta。
- 1：开启算子debug功能，在当前执行路径生成kernel_meta文件夹，并在该文件夹下生成*.o（算子二进制文件）、*.json文件（算子描述文件）和TBE指令映射文件（算子cce文件*.cce和python-cce映射文件*_loc.json），用于后续分析AICore Error问题。
  Atlas 350 加速卡不会生成TBE指令映射文件。

- 2：开启算子debug功能，在当前执行路径生成kernel_meta文件夹，并在该文件夹下生成*.o（算子二进制文件）、*.json文件（算子描述文件）和TBE指令映射文件（算子cce文件*.cce和python-cce映射文件*_loc.json），用于后续分析AICore Error问题，同时设置为2，还会关闭编译优化开关、开启ccec调试功能（ccec编译器选项设置为-O0-g）。
  Atlas 350 加速卡不会生成TBE指令映射文件。

- 3：不开启算子debug功能，在当前执行路径生成kernel_meta文件夹，并在该文件夹中生成*.o（算子二进制文件）和*.json文件（算子描述文件），分析算子问题时可参考。
- 4：不开启算子debug功能，在当前执行路径生成kernel_meta文件夹，并在该文件夹下生成*.o（算子二进制文件）、*.json文件（算子描述文件）、TBE指令映射文件（算子cce文件*.cce）和UB融合计算描述文件（{$kernel_name}_compute.json），可在分析算子问题时进行问题复现、精度比对时使用。
  Atlas 350 加速卡不会生成TBE指令映射文件和UB融合计算描述文件。


参数值约束：

- 进行模型转换时，建议配置为0、3或4。如果需要定位AICore Error问题，则需要将参数值设置为1或2。设置为1或2后，由于加入了调试功能，会导致网络性能下降。
- 若--op_debug_level配置为0，同时配置了  --op_debug_config
参数，该场景下在执行atc命令当前路径会保留算子编译目录kernel_meta。
- 若--op_debug_level配置为0，同时设置了  NPU_COLLECT_PATH(https://www.hiascend.comdocument/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0130.html)
环境变量，则会始终保留编译目录kernel_meta；若设置了  ASCEND_WORK_PATH(https://www.hiascend.comdocument/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0007.html)
环境变量，则保留在该环境变量指定路径下，若无  ASCEND_WORK_PATH(https://www.hiascend.comdocument/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0007.html)
环境变量，则保留在当前执行路径。
- 配置为2（即开启ccec编译选项）时，会导致算子Kernel（*.o文件）大小增大。动态Shape场景下，由于算子编译时会遍历可能的Shape场景，因此可能会导致算子Kernel文件过大而无法进行编译，此种场景下，建议不要配置ccec编译选项。
  由于算子Kernel文件过大而无法编译的报错日志示例如下：

```
message:link error ld.lld:
error: InputSection too large for range extension thunk
./kernel_meta_xxxxx.o
```


- debug功能开关打开场景下，若模型中含有如下通算融合算子，算子编译目录kernel_meta中，不会生成下述算子的*.o、*.json、*.cce文件。
  MatMulAllReduce

  MatMulAllReduceAddRmsNorm

  AllGatherMatMul

  MatMulReduceScatter

  AlltoAllAllGatherBatchMatMul

  BatchMatMulReduceScatterAlltoAll


#### 推荐配置及收益

无。


#### 示例

```
--op_debug_level=1
```


#### 使用约束

- 算子编译生成的调试文件存储路径，除  --debug_dir
参数设置的方式外，还可以配置环境变量  ASCEND_WORK_PATH(https://www.hiascend.comdocument/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0007.html)
，几种方式优先级为：配置参数“  --debug_dir
”>环境变量ASCEND_WORK_PATH >默认存储路径。
- 该参数优先级高于算子编译接口（TBE DSL的build接口或者TBE TIK的BuildCCE接口）中的tbe_debug_level的值。
