Simulator仿真参数

参数(区分大小写)

说明

是否必选

默认值

备注

kernel

开启仿真功能的固定参数。

-b,--backend

算子调试类型。

npu

性能仿真场景设为simulator。

  • cpu:CPU调测场景。
  • npu:NPU调测场景。
  • simulator:仿真器调测场景。

--chip-version

昇腾AI处理器的版本。

工具自动获取对应版本。

若用户在没有Device的环境下调试算子,该参数必须指定,查询方法如下:

  • 在安装昇腾AI处理器的服务器执行npu-smi info命令进行查询,获取Chip Name信息。实际配置值为AscendChip Name,例如Chip Name取值为xxxyy,实际配置值为Ascendxxxyy

-i,--install-path

CANN软件安装后文件存储路径

工具自动获取CANN包安装路径,缺省值为/usr/local/Ascend/ascend-toolkit

例如,若安装的Ascend-cann-toolkit软件包,则安装后文件存储路径为:$HOME/Ascend/ascend-toolkit/latest。

-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:标准自定义算子工程。
  • ops_adv:cann-ops-adv算子工程。
  • cann_dev:预留的built-in算子工程场景,开发者无需关注。
  • op_contrib:预留的内源框架工程场景,开发者无需关注。

--customize-path

自定义算子包的安装目录。

例如${INSTALL_DIR}/opp/vendors/${vendor_name},其中${INSTALL_DIR}为CANN安装包路径,${vendor_name}为部署自定义算子包时设置的vendor名。

说明:

仅当--repo-type为customize,该参数生效。

--dump-mode

printf/PRINTF/DumpTensor/DumpAccChkPoint/assert打印功能的模式。

若不设置表示关闭打印功能,若开启支持如下取值:

  • normal: 使能通用的打印功能。
  • acc_chk:使能偏移位置打印Tensor(DumpAccChkPoint功能)。

更多打印功能说明参见更多功能

--core-type

算子类型。

AiCore

根据实际算子情况填写,可选值为AiCore、MixCore、CubeCore、VectorCore、MixVectorCore,MixVectorCore为预留参数,开发者无需关注。

-t,--timeout

设置运行超时时间,单位秒。

600

CAModel运行时间比较长,一般设为1200s, 用户可根据实际情况修改。

--block-num

设置运行的核个数。

CAModel场景一般单核运行,设置为1。

--kernel-bin

指定已编译好的kernel bin文件。

当该参数生效时,会跳过编译流程,直接用指定的kernel bin文件执行。

--simulator-mode

仿真器模式设置。

camodel

当前仅支持camodel模式,camodel模式会拉起msprof op simulator,msprof op simulator具体情况请参见工具使用的msprof op simulator。

--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。
  • 若未设置,工具自动查找CANN包下的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:Ascend C框架自带的编译方式。
  • ccec:本工具基于毕昇编译器自动拼接编译选项得到的编译方式,毕昇编译器介绍参见毕昇编译器使用指南

--compile-option

设置opc编译场景下的自定义选项。

通过op_debug_config配置Global Memory(DDR)内存检测功能的配置文件路径及文件名。

说明:

该参数仅当--npu-compile-type为opc编译时生效。

支持配置多个选项,一般用英文逗号分隔,配置示例如下:

ascendebug kernel --backend simulator --repo-type customize --customize-path ${INSTALL_DIR}/opp/vendors/${vendor_name} --json-file ${op_config_json_file} --core-type ${core_type} --compile-option op_debug_config=dump_cce,dump_bin
  • dump_bin:算子编译时,在当前执行路径算子编译生成的kernel_meta文件夹中保留*.o(算子二进制文件)和*.json文件(算子描述文件)。
  • dump_cce:算子编译时,在当前执行路径算子编译生成的kernel_meta文件夹中保留算子*.cpp、*.o(算子二进制文件)和*.json文件(算子描述文件)。
  • ccec_O0:算子编译时,开启ccec编译器选项-O0,配置该选项不会对调试信息执行优化操作,用于后续分析AI Core Error问题。
  • ccec_g:算子编译时,开启ccec编译器选项-g,配置该选项对调试信息执行优化操作,用于后续分析AI Core Error问题。
  • sanitizer:开启后,算子编译生成的*.o(算子二进制文件)可用于后续msSanitizer工具进行内存异常检测,详细介绍参见算子开发工具使用指南中“异常检测(msSanitizer)”。

--syncall

硬同步功能的使能开关,无需配置值。

当--repo-type为ops_adv、cann_dev且--npu-compile-type为ccec时,该参数在 Atlas A2 训练系列产品/Atlas 800I A2 推理产品 上才生效。

--task-ration

设置核函数运行时的block数分配方式比例,例如“--task-ration 1:1”。

当--repo-type为ops_adv、cann_dev且--npu-compile-type为ccec时,该参数才生效。