DumpAccChkPoint功能
=================

#### 功能介绍

使用工具进行算子调测时，支持指定偏移位置的Tensor打印。**该功能与**[DumpTensor功能](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-commissioning-function-dumptensor)**类似**，其使用更加灵活。

当Tensor数据较大时，可通过DumpAccChkPoint指定偏移位置，截取指定长度的元素值打印。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/20/v3/AUo4-QqxRJecdePZmpVQJg/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073700Z&HW-CC-Expire=86400&HW-CC-Sign=4A3A73AC04BA18D0B676362C25A0851853375677C437162FDFD41214D1A7D113)

*   simulator调测场景下的Dump偏移位置Tensor，受dump mode参数控制。
    
*   固定为每个核分配的打印数据的最大可使用空间为1M，目前该大小不支持修改，若打印超过1M，打印内容不再显示，请开发者控制待打印的数据量。
    

#### 使用方法（命令行）

1.  在核函数代码中按需在需要打印Tensor偏移数据的地方调用DumpAccChkPoint接口，详情请参见接口说明，样例如下。
    
    DumpAccChkPoint(srcLocal,5,32,dataLen);
    
2.  simulator调测场景执行如下命令，使能Dump开关。
    
    ascendebug kernel --backend simulator --dump-mode acc\_chk ... {其他simulator调测参数}
    
    \--dump-mode取acc\_chk，开启偏移位置打印Tensor模式，其他参数参考[NPU调测参数](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-cli-parameters#npu调测参数)按需配置。
    
3.  查看dump结果。
    
    Dump偏移位置Tensor数据存放在${root}/${work\_dir}/npu路径下，其目录结构、结果说明与[DumpTensor功能](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/cannkit-commissioning-function-dumptensor)类似。
    

#### 接口说明

DumpAccChkPoint接口说明如下。

*   **函数原型：**
    
    *   void DumpAccChkPoint(const LocalTensor<T> &tensor, uint32\_t desc, uint32\_t offset, uint32\_t dumpNum)
    *   void DumpAccChkPoint(const GlobalTensor<T> &tensor, uint32\_t desc, uint32\_t offset, uint32\_t dumpNum)
*   **函数功能：** 支持指定偏移位置的Tensor打印。
    
*   **参数(IN)：**
    
    *   **tensor：** 开发者需要Dump的Tensor。多个DumpTensor调用时，不可重复。
        *   待dump的Tensor位于Unified Buffer/L1 Buffer/L0C Buffer时使用LocalTensor类型的Tensor参数输入。
        *   待dump的Tensor位于Global Memory时使用GlobalTensor类型的Tensor参数输入。
        *   当前支持的数据类型为uint8\_t、int8\_t、int16\_t、uint16\_t、int32\_t、uint32\_t、float、half。
    *   **desc：** 开发者自定义附加信息（行号或其他自定义数字）。
    *   **offset：** 偏移元素个数。
    *   **dumpNum：** 需要Dump的元素个数。
*   **参数(OUT)：** NA
    
*   **返回值：** NA
    
*   **使用约束：**
    
    *   当前接口仅支持位于Unified Buffer/L1 Buffer/L0C Buffer/Global Memory的数据Dump。
    *   偏移量需符合UB读取数据32B对齐的限制，即offset\*sizeof(T)需按32B对齐。
    *   每次Dump的大小(dataNum\*sizeof(T))需要32B对齐。
*   **调用示例：**
    
    DumpAccChkPoint(srcLocal, 7, 32 , 128);