# ascendebug调测工具参数说明

## 整体说明

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

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

|参数|模式说明|备注|
|:----------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------|
|tiling|主要对算子Tiling代码进行调测，具体参见[Tiling调测功能](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-tiling-tuning)。|通过**ascendebug tiling -h** 或**ascendebug tiling --help**查看Tiling调测涉及的所有参数。|
|kernel|主要对Device侧算子Kernel代码进行精度和性能调测，包含CPU、NPU、Simulator调测功能，具体参见[CPU孪生调试功能](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-cpu-twin-debugging)、[Simulator性能仿真功能](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-simulator-performance-simulation)等章节。|通过**ascendebug kernel -h** 或**ascendebug kernel --help**查看CPU、NPU、Simulator调测涉及的所有参数。 **说明：** 参数NPU暂不支持。|
|json|主要提供数据准备阶段如何生成算子json配置模板，具体参见[算子json配置模板获取](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-obtaining-the-json-configuration)。 **说明：** 当前仅适用于标准自定义算子工程场景、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配置文件必须是绝对路径，其配置项说明详见[输入数据和标杆数据准备](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-preparing-input-data-and-benchmark)。|
|--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配置文件必须是绝对路径，其配置项说明详见[输入数据和标杆数据准备](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-preparing-input-data-and-benchmark)。|
|--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： 使能通用的打印功能。 更多打印功能说明参见[更多功能](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-commissioning-function-printf)。 **说明：** CPU调测场景中printf采用C++自身打印功能，不受**dump-mode**参数控制。|
|--core-type|算子类型。|否|AiCore|根据实际算子情况填写，可选值为AiCore、CubeCore、VectorCore Kirin9020/Kirin9030/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配置文件必须是绝对路径，其配置项说明详见[输入数据和标杆数据准备](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-preparing-input-data-and-benchmark)。|
|--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同时开启。 更多打印功能说明参见[更多功能](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-commissioning-function-printf)。|
|--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：本工具基于毕昇编译器自动拼接编译选项得到的编译方式，毕昇编译器介绍参见《[毕昇编译器使用指南](https://www.hiascend.com/document/detail/zh/canncommercial/82RC1/index/index.html)》。 **说明：** 预留参数项，开发者无需关注。|
|--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配置文件必须是绝对路径，其配置项说明详见[输入数据和标杆数据准备](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-preparing-input-data-and-benchmark)。|
|--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功能）。使能分阶段打印功能。 更多打印功能说明参见[更多功能](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-commissioning-function-printf)。|
|--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：本工具基于毕昇编译器自动拼接编译选项得到的编译方式，毕昇编译器介绍参见《[毕昇编译器使用指南](https://www.hiascend.com/document/detail/zh/canncommercial/82RC1/index/index.html)》。 **说明：** 预留参数项，开发者无需关注。|
|--compile-option|opc编译时是否开启个性化单算子编译调试能力。|否|xx|**说明：** 预留参数项，开发者无需关注。|
|--syncall|硬同步功能的使能开关，无需配置值。|否|无|**说明：** 预留参数项，开发者无需关注。|
|--task-ration|设置核函数运行时的block数分配方式比例，例如"--task-ration 1:1"。|否|无|当--repo-type为ops_adv、cann_dev且--npu-compile-type为CCEC时，该参数才生效。 **说明：** 预留参数项，开发者无需关注。|

