目录

DumpTensor功能

功能介绍

使用工具进行算子调测时,支持DumpTensor功能,默认从Tensor的第0位元素开始打印指定长度的元素值。

  • simulator调测场景下的DumpTensor,受dump mode参数控制。

  • 固定为每个核分配的打印数据的最大可使用空间为1M,目前该大小不支持修改,若打印超过1M,打印内容不再显示,请开发者控制待打印的数据量。

使用方法(命令行)

  1. 在核函数代码中按需在目标位置调用DumpTensor接口,接口说明参见表1,样例如下。

    DumpTensor(srcLocal, 5, dataNum);
  2. simulator调测场景执行如下命令,使能Dump开关。

    ascendebug kernel --backend simulator --dump-mode normal ... {其他simulator调测参数}

    --dump-mode取normal,开启通用打印Tensor模式,其他参数参考NPU调测参数按需配置。

  3. 查看dump结果,具体参见产物说明。

接口说明

DumpTensor接口说明如下。

产物说明

Dump的Tensor数据存放在${root}/${work_dir}/simulator路径下,其中${root}表示当前操作路径,${work_dir}表示调测工作空间,默认为/debug_workspace/${op_type}目录,${op_type}为算子名。目录结构示例如下。

├ ${op_type} // 算子名
├── simulator
│   ├── dump
│       ├── PARSER_${timestamp}
│           ├── dump_data
│               ├──0 // 核心编号
│                   ├──index_5 // index是dump接口的desc唯一标识值
│                       ├──core_0_index_5_loop_0.bin
│                       ├──core_0_index_5_loop_0.txt
│                       ├──core_0_index_5_loop_1.bin
│                       ├──core_0_index_5_loop_1.txt
│               ├──index_dtype.json // 存放每个dump Tensor的数据类型

其中core_${core_id}_index_${index}_loop_${loop}.txt是工具根据bin文件自动解析的Dump结果,其命名规则为: