# ascendebug调测工具参数说明

#### 整体说明

可通过**ascendebug -h**或**ascendebug --help**查看工具支持的所有调测模式，具体参见表1。

**表1** 支持的命令行调测模式

| 参数 | 模式说明 | 备注 |
| --- | --- | --- |
| tiling | 主要对算子Tiling代码进行调测，具体参见Tiling调测功能。 | 通过ascendebug tiling -h或ascendebug tiling --help查看Tiling调测涉及的所有参数。 |
| kernel | 主要对Device侧算子Kernel代码进行精度和性能调测，包含CPU、NPU、Simulator调测功能，具体参见CPU孪生调试功能、Simulator性能仿真功能等章节。 | 通过ascendebug kernel -h或ascendebug kernel --help查看CPU、NPU、Simulator调测涉及的所有参数。 说明： 参数NPU暂不支持。 |
| json | 主要提供数据准备阶段如何生成算子json配置模板，具体参见算子json配置模板获取。 说明： 当前仅适用于标准自定义算子工程场景、built-in工程场景。 | 通过ascendebug json convert -h或ascendebug json convert --help查看涉及的所有参数。 |
| mc2parse | 预留参数项，开发者无需关注。 | - |
| op_compiler | 预留参数项，开发者无需关注。 | - |

#### Tiling调测参数

| 参数（区分大小写） | 说明 | 是否必选 | 默认值 | 备注 |
| --- | --- | --- | --- | --- |
| tiling | 开启Tiling调测的固定参数。 | 是 | 无 | 无。 |
| --chip-version | Kirin AI处理器的版本。 | 是 | 无。 | 在运行环境上通过命令行获取： hdc -t {target} shell param get ohos.boot.chiptype target：设备的SN码，可以通过hdc list targets获取当前环境上所有设备的SN码。 |
| -i，--install-path | CANN软件安装后文件存储路径。 | 否 | 工具自动获取。 | 不支持，开发者无需关注。 |
| -w，--work-dir | 调测结果的存放路径。 | 否 | 缺省为当前执行路径下/debug_workspace/${op_type}文件夹（若无则会自动新建）。 | 调测工作目录，可用于存放调测中各种临时文件、结果文件。例如/home/debug_workspace/AddCustom/tiling。 |
| -j，--json-file | 算子信息json配置文件，配置算子输入/输出/属性信息。 | 是 | 无 | json配置文件必须是绝对路径，其配置项说明详见输入数据和标杆数据准备。 |
| --log-level | 日志级别。 | 否 | info | 支持debug 、info、warning、error级别。 |
| --log-file | 日志文件路径。 | 否 | 缺省值为当前目录下的debug_op.log文件（若无则会新建）。 | 根据设置的--log-level存放程序执行过程中的日志信息。 |
| --repo-type | 算子开发场景类型。 | 否 | customize | 根据实际情况设置。 - minimalist：核函数直调工程场景。 - customize：标准自定义算子工程。 |
| --customize-path | 自定义算子包的安装目录。 | 否 | 无 | 开发者无需关注，当前固定为${install_path}/ddk/tools/tools_ascendc/custom_op/${chip-version}。 说明： 仅当--repo-type为customize，该参数生效。 |
| --tiling-json | Tiling json文件路径（绝对路径），用于生成自定义Tiling data。 | 否 | 无 | 说明： 预留参数项，开发者无需关注。 |
| --repo-path | 算子源码仓所在路径（绝对路径）。 | 否 | 无 | 说明： 预留参数项，开发者无需关注。 |
| --recompile-tiling | 是否重新编译算子Tiling so，无需配置值。 | 否 | 无 | 说明： 预留参数项，开发者无需关注。 |

#### CPU调测参数

| 参数（区分大小写） | 说明 | 是否必选 | 默认值 | 备注 |
| --- | --- | --- | --- | --- |
| kernel | 开启CPU调测功能的固定参数。 | 是 | 无 | 无 |
| -b，--backend | 算子调试类型。 | 否 | npu | CPU调测场景设为cpu。 - cpu：CPU调测场景。 - npu：NPU调测场景。 - simulator：仿真器调测场景。 说明： 参数npu暂不支持。 |
| --chip-version | Kirin AI处理器SoCNPU IP加速器的版本。 | 否 | 工具自动获取对应版本。 | 在运行环境上通过命令行获取： hdc -t {target} shell param get ohos.boot.chiptype target：设备的SN码，可以通过hdc list targets获取当前环境上所有设备的SN码。 |
| -i，--install-path | ddk安装后文件存储路径。 | 否 | 工具自动获取对应路径 | 不支持，开发者无需关注。 |
| -w，--work-dir | 调测结果的存放路径。 | 否 | 缺省为当前执行路径下/debug_workspace/${op_type}文件夹（若无则会自动新建）。 | 调测工作目录，可用于存放调测中各种临时文件、结果文件。例如/home/debug_workspace/AddCustom/cpu。 |
| -j，--json-file | 算子信息json配置文件，配置算子输入/输出/属性信息。 | 是 | 无 | json配置文件必须是绝对路径，其配置项说明详见输入数据和标杆数据准备。 |
| --log-level | 日志级别。 | 否 | info | 支持debug 、info、warning、error级别。 |
| --log-file | 日志文件路径。 | 否 | 缺省值为当前目录下的debug_op.log文件（若无则会新建）。 | 根据设置的--log-level存放程序执行过程中的日志信息。 |
| --repo-type | 算子开发场景类型。 | 否 | customize | 根据实际情况设置。 - minimalist：核函数直调工程场景。 - customize：标准自定义算子工程。 |
| --customize-path | 自定义算子包的安装目录。 | 否 | 无 | 开发者无需关注，当前固定为${install_path}/ddk/ tools/tools_ascendc/custom_op/${chip-version}。 说明： 仅当--repo-type为customize，该参数生效。 |
| --dump-mode | PRINTF/DumpTensor/DumpAccChkPoint/assert打印功能的模式。 | 否 | 无 | 若不设置表示关闭打印功能，若开启支持如下取值： normal： 使能通用的打印功能。 更多打印功能说明参见更多功能。 说明： CPU调测场景中printf采用C++自身打印功能，不受dump-mode参数控制。 |
| --core-type | 算子类型。 | 否 | AiCore | 根据实际算子情况填写，可选值为AiCore、CubeCore、VectorCore Kirin9020/KirinX90系列处理器中的算子，一般使用了AI Cube计算单元，其算子类型为AiCore。 |
| --rel-err-thd | 精度比对的相对误差阈值。 | 否 | 0.005 | 无 |
| --abs-err-thd | 精度比对的绝对误差阈值。 | 否 | 0.005 | 无 |
| --block-num | 设置运行的核个数。 | 否 | 无 | 如果有tiling bin文件，则使用其对应的block_num值，否则根据实际情况自行配置。 |
| --npucheck | npucheck功能开关，提供CPU侧内存校验、异常检测功能。 | 否 | true | - true: 开启内存校验功能。 - false:关闭内存校验功能。 说明： 该参数与--dump-mode打印功能冲突，因为打印会对内存做特殊处理。 |
| --tiling-bin | 使用开发者传入的tiling.bin进行编译。 | 否 | 无 | 传入的Tiling bin是带绝对路径的文件名，文件命名规则为tiling_data_tiling_key_${tiling_key}block_dim${block_num}workspace${workspace}.bin，确保tiling_key、block_num、workspace与Tiling bin文件匹配。 说明： 该参数与--tiling-so、--tiling-json、--recompile-tiling冲突，不支持同时设置。 |
| --tiling-so | 使用开发者传入的liboptiling.so进行编译。 | 否 | 无 | 该参数与--tiling-bin、--tiling-json、--recompile-tiling冲突，不支持同时设置。 |
| --tiling-json | Tiling json文件路径（绝对路径），用于生成自定义Tiling data。 | 否 | 无 | 说明： 预留参数项，开发者无需关注。 |
| --repo-path | 算子源码仓所在路径（绝对路径）。 | 否 | 无 | 说明： 预留参数项，开发者无需关注。 |
| --recompile-tiling | 是否重新编译算子Tiling so，无需配置值。 | 否 | 无 | 说明： 预留参数项，开发者无需关注。 |

#### NPU调测参数

| 参数（区分大小写） | 说明 | 是否必选 | 默认值 | 备注 |
| --- | --- | --- | --- | --- |
| kernel | 开启NPU调测功能的固定参数。 | 是 | 无 | 无 |
| -b，--backend | 算子调试类型。 | 否 | npu | NPU调测场景设为npu。 - cpu：CPU调测场景。 - npu：NPU调测场景。 - simulator：仿真器调测场景。 |
| --chip-version | Kirin AI处理器SoCNPU IP加速器的版本。 | 否 | 工具自动获取对应版本。 | 在运行环境上通过命令行获取： hdc -t {target} shell param get ohos.boot.chiptype target：设备的SN码，可以通过hdc list targets获取当前环境上所有设备的SN码。 |
| -i，--install-path | ascendc软件安装后文件存储路径。 | 否 | 工具自动获取。 | 不支持，开发者无需关注。 |
| -w，--work-dir | 调测结果的存放路径。 | 否 | 缺省为当前执行路径下/debug_workspace/${op_type}文件夹（若无则会自动新建）。 | 调测工作目录，可用于存放调测中各种临时文件、结果文件。例如/home/debug_workspace/AddCustom/npu。 |
| -j，--json-file | 算子信息json配置文件，配置算子输入/输出/属性信息。 | 是 | 无 | json配置文件必须是绝对路径，其配置项说明详见输入数据和标杆数据准备。 |
| --log-level | 日志级别。 | 否 | info | 支持debug 、info、warning、error级别。 |
| --log-file | 日志文件路径。 | 否 | 缺省值为当前目录下的debug_op.log文件（若无则会新建）。 | 根据设置的--log-level存放程序执行过程中的日志信息。 |
| --repo-type | 算子开发场景类型。 | 否 | customize | 根据实际情况设置。 - minimalist：核函数直调工程场景。 - customize：标准自定义算子工程。 |
| --customize-path | 自定义算子包的安装目录。 | 否 | 无 | 开发者无需关注，当前固定为${install_path}/ddk/ tools/tools_ascendc/custom_op/${chip-version}。 说明： 仅当--repo-type为customize，该参数生效。 |
| --dump-mode | printf/PRINTF/DumpTensor/DumpAccChkPoint/assert/时间戳打印功能的模式。 | 否 | 无 | 若不设置表示关闭打印功能，若开启支持如下取值： normal： 使能通用的打印功能。 说明： 当取值为normal时，不支持与--profiling同时开启。 更多打印功能说明参见更多功能。 |
| --core-type | 算子类型。 | 否 | AiCore | 根据实际算子情况填写，可选值为AiCore、CubeCore、VectorCore为预留参数，开发者无需关注。 |
| --rel-err-thd | 精度比对的相对误差阈值。 | 否 | 0.005 | 无 |
| --abs-err-thd | 精度比对的绝对误差阈值。 | 否 | 0.005 | 无 |
| -d，--device-id | 设置运行的device id。 | 否 | 0 | 无 |
| -t，--timeout | 设置运行超时时间，单位秒。 | 否 | 600 | 无 |
| --block-num | 设置运行的核个数。 | 否 | 无 | 如果有Tiling bin文件，则使用其对应的block_num值，否则根据实际情况自行配置。 |
| --profiling | Profiling功能开关，无需配置值。 | 否 | 无 | - 基础采集：无配置值，默认采集PipeUtilization数据（pmu数据）。 - 高级采集：支持采集多种运行性能数据，可通过--profiling ${profiling_metrics}设置，${profiling_metrics}取值如下。 说明： 预留参数项，开发者无需关注。 |
| --loop | 当使能Profiling时，设置上板执行次数。 | 否 | 10 | 说明： 预留参数项，开发者无需关注。 |
| --kernel-bin | 指定已编译好的Kernel bin文件。 | 否 | 无 | 当该参数生效时，会跳过编译流程，直接用指定的kernel bin文件执行。 说明： 预留参数项，开发者无需关注。 |
| --tiling-bin | 使用开发者传入的Tiling.bin进行编译。 | 否 | 无 | 传入的Tiling bin是带绝对路径的文件名，文件命名规则为tiling_data_tiling_key_${tiling_key}block_dim${block_num}workspace${workspace}.bin，确保tiling_key、block_num、workspace与Tiling bin文件匹配。 说明： - 该参数与--tiling-so、--tiling-json、--recompile-tiling冲突，不支持同时设置。 - 预留参数项，开发者无需关注。 |
| --tiling-so | 使用开发者传入的liboptiling.so进行编译。 | 否 | 无 | 该参数与--tiling-bin、--tiling-json、--recompile-tiling冲突，不支持同时设置。 说明： 预留参数项，开发者无需关注。 |
| --tiling-json | Tiling json文件路径（绝对路径），用于生成自定义Tiling data。 | 否 | 无 | 说明： 预留参数项，开发者无需关注。 |
| --repo-path | 算子源码仓所在路径（绝对路径）。 | 否 | 无 | 说明： 预留参数项，开发者无需关注。 |
| --recompile-tiling | 是否重新编译算子Tiling so，无需配置值。 | 否 | 无 | 说明： 预留参数项，开发者无需关注。 |
| --npu-compile-type | 设置调测场景下Kernel.o文件编译方式。 | 否 | opc | 当--repo-type为cann_dev、ops_adv时支持CCEC和opc两种编译方式，minimalist默认使用CCEC，customize、op_contrib默认使用opc。 - opc：AscendC框架自带的编译方式。 - CCEC：本工具基于毕昇编译器自动拼接编译选项得到的编译方式，毕昇编译器介绍参见《毕昇编译器使用指南》。 说明： 预留参数项，开发者无需关注。 |
| --compile-option | 设置opc编译场景下的自定义参数。 | 否 | 无 | 说明： 预留参数项，开发者无需关注。 |
| --syncall | 硬同步功能的使能开关，无需配置值。 | 否 | 无 | 说明： 预留参数项，开发者无需关注。 |
| --task-ration | 设置核函数运行时的block数分配方式比例，例如“--task-ration 1:1”。 | 否 | 无 | 当--repo-type为ops_adv、cann_dev且--npu-compile-type为CCEC时，该参数才生效。 说明： 预留参数项，开发者无需关注。 |
| --memory-check | 是否开启内存检测功能。 | 否 | 无 | 未设置：默认关闭。 - oom：开启内存异常检测，主要检测内存泄漏、非法释放、非法读写、越界访问。 - oob：开启内存异常检测，主要检测越界访问。 说明： - 与--dump-mode参数冲突，不支持同时开启。 - 仅当--repo-type为cann_dev、customize、ops_adv，且--npu-compile-type为opc时，该参数生效。 - 当--repo-type为minimalist、op_contrib，不支持设置该参数。 - 预留参数项，开发者无需关注。 |

#### Simulator仿真参数

| 参数（区分大小写） | 说明 | 是否必选 | 默认值 | 备注 |
| --- | --- | --- | --- | --- |
| kernel | 开启仿真功能的固定参数。 | 是 | 无 | 无 |
| -b，--backend | 算子调试类型。 | 否 | npu | 性能仿真场景设为simulator。 - cpu：CPU调测场景。 - npu：NPU调测场景。 - simulator：仿真器调测场景。 说明： 参数npu暂不支持。 |
| --chip-version | Kirin AI处理器SoCNPU IP加速器的版本。 | 否 | 工具自动获取对应版本。 | 在运行环境上通过命令行获取： hdc -t {target} shell param get ohos.boot.chiptype target：设备的SN码，可以通过hdc list targets获取当前环境上所有设备的SN码。 |
| -i，--install-path | ascendc软件安装后文件存储路径。 | 否 | 工具自动获取。 | 不支持，开发者无需关注。 |
| -w，--work-dir | 调测结果的存放路径。 | 否 | 缺省为当前执行路径下/debug_workspace/${op_type}文件夹（若无则会自动新建）。 | 调测工作目录，可用于存放调测中各种临时文件、结果文件。例如/home/debug_workspace/AddCustom/simulator。 |
| -j，--json-file | 算子信息json配置文件，配置算子输入/输出/属性信息。 | 是 | 无 | json配置文件必须是绝对路径，其配置项说明详见输入数据和标杆数据准备。 |
| --log-level | 日志级别。 | 否 | info | 支持debug 、info、warning、error级别。 |
| --log-file | 日志文件路径。 | 否 | 缺省值为当前目录下的debug_op.log文件（若无则会新建）。 | 根据设置的--log-level存放程序执行过程中的日志信息。 |
| --repo-type | 算子开发场景类型。 | 否 | customize | 根据实际情况设置。 - minimalist：核函数直调工程场景。 - customize：标准自定义算子工程。 |
| --customize-path | 自定义算子包的安装目录。 | 否 | 无 | 开发者无需关注，当前固定为${install_path}/ddk/ tools/tools_ascendc/custom_op/${chip-version}。 说明： 仅当--repo-type为customize，该参数生效。 |
| --dump-mode | printf/PRINTF/DumpTensor/DumpAccChkPoint/assert打印功能的模式。 | 否 | 无 | 若不设置表示关闭打印功能，若开启支持如下取值： - normal： 使能通用的打印功能。 - acc_chk：使能偏移位置打印Tensor（DumpAccChkPoint功能）。使能分阶段打印功能。 更多打印功能说明参见更多功能。 |
| --core-type | 算子类型。 | 否 | AiCore | 根据实际算子情况填写，可选值为AiCore、CubeCore、VectorCore。 |
| -t，--timeout | 设置运行超时时间，单位秒。 | 否 | 600 | CAModel运行时间比较长，一般设为1200s， 开发者可根据实际情况修改。 |
| --block-num | 设置运行的核个数。 | 否 | 无 | CAModel场景一般单核运行，设置为1。 |
| --kernel-bin | 指定已编译好的kernel bin文件。 | 否 | 无 | 当该参数生效时，会跳过编译流程，直接用指定的kernel bin文件执行。 |
| --simulator-mode | 仿真器模式设置。 | 否 | camodel | 支持camodel、esl、biprof模式，目前仅支持camodel模式。 说明： 当--simulator-mode为biprof时，会使能biprof分析插件帮助开发者生成结果流水图，并不影响Camodel/Esl的模拟仿真流程。 |
| --simu-pkg-path | 设置仿真器安装包路径。 | 否 | 无 | 当--simulator-mode为camodel时，不需要设置该参数，跑Esl仿真时需要设置该参数指定Esl包路径。 说明： 预留参数项，开发者无需关注。 |
| --tiling-bin | 使用开发者传入的tiling.bin进行编译。 | 否 | 无 | 传入的Tiling bin是带绝对路径的文件名，文件命名规则为tiling_data_tiling_key_${tiling_key}block_dim${block_num}workspace${workspace}.bin，确保tiling_key、block_num、workspace与Tiling bin文件匹配。 说明： - 该参数与--tiling-so、--tiling-json、--recompile-tiling冲突，不支持同时设置。 - 预留参数项，开发者无需关注。 |
| --tiling-so | 使用开发者传入的liboptiling.so进行编译。 | 否 | 无 | 该参数与--tiling-bin、--tiling-json、--recompile-tiling冲突，不支持同时设置。 说明： 预留参数项，开发者无需关注。 |
| --tiling-json | Tiling json文件路径（绝对路径），用于生成自定义Tiling data。 | 否 | 无 | 仅当--repo-type为ops_adv、cann_dev，该参数生效。 说明： - 该参数与--tiling-so、--tiling-bin、--recompile-tiling冲突，不支持同时设置。 - 预留参数项，开发者无需关注。 |
| --repo-path | 算子源码仓所在路径（绝对路径）。 | 否 | 无 | 仅当--repo-type为ops_adv、cann_dev、op_contrib，该参数生效。 说明： 预留参数项，开发者无需关注。 |
| --recompile-tiling | 是否重新编译算子Tiling so，无需配置值。 | 否 | 无 | - 若设置了，默认根据算子源码仓重新编译Tiling so。 - 若未设置，工具自动查找DDK包下的so文件，开发者无需关注。 说明： - 仅当--repo-type为ops_adv、cann_dev、op_contrib，该参数才生效。 - 该参数与--tiling-so、--tiling-bin、--tiling-json冲突，不支持同时设置。 - 预留参数项，开发者无需关注。 |
| --npu-compile-type | 设置调测场景下Kernel.o文件编译方式。 | 否 | opc | 当--repo-type为cann_dev、ops_adv时支持CCEC和opc两种编译方式，minimalist默认使用CCEC，customize、op_contrib默认使用opc。 - opc：AscendC框架自带的编译方式。 - CCEC：本工具基于毕昇编译器自动拼接编译选项得到的编译方式，毕昇编译器介绍参见《毕昇编译器使用指南》。 说明： 预留参数项，开发者无需关注。 |
| --compile-option | opc编译时是否开启个性化单算子编译调试能力。 | 否 | xx | 说明： 预留参数项，开发者无需关注。 |
| --syncall | 硬同步功能的使能开关，无需配置值。 | 否 | 无 | 说明： 预留参数项，开发者无需关注。 |
| --task-ration | 设置核函数运行时的block数分配方式比例，例如“--task-ration 1:1”。 | 否 | 无 | 当--repo-type为ops_adv、cann_dev且--npu-compile-type为CCEC时，该参数才生效。 说明： 预留参数项，开发者无需关注。 |