---
title: 函数：dump_reg_callback
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclpythondevg_01_0990.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclpythondevg_01_0990.html
indexId: f57547881e5dd794f0d8b6b4e6cb68d6224bf103805a535c04b5c069fbc433a671
---
# 函数：dump_reg_callback

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |


#### 功能说明

Dump数据回调函数注册接口。

函数：init_dump接口、函数：dump_reg_callback接口（通过该接口注册的回调函数需由用户自行实现，回调函数实现逻辑中包括获取Dump数据及数据长度）、函数：dump_unreg_callback接口、函数：finalize_dump接口配合使用，用于通过回调函数获取Dump数据。场景举例如下：- 执行一个模型，通过回调获取Dump数据：
支持以下两种方式：

  - 在aclInit接口处不启用模型Dump配置、单算子Dump配置
    函数：init接口-->函数：init_dump接口-->函数：dump_reg_callback接口-->模型加载-->模型执行-->函数：dump_unreg_callback接口-->函数：finalize_dump接口-->模型卸载-->函数：finalize接口

  - 在aclInit接口处启用模型Dump配置、单算子Dump配置，在aclInit接口处启用Dump配置时需配置落盘路径，但如果调用了    函数：dump_reg_callback
接口，则落盘不生效，以回调函数获取的Dump数据为准
    函数：init接口-->函数：dump_reg_callback接口-->模型加载-->模型执行-->函数：dump_unreg_callback接口-->模型卸载-->函数：finalize接口

- 执行两个不同的模型，通过回调获取Dump数据，该场景下，只要不调用  函数：dump_unreg_callback
接口取消注册回调函数，则可通过回调函数获取两个模型的dump数据：
  函数：init接口-->函数：init_dump接口-->函数：dump_reg_callback接口-->模型1加载-->模型1执行-->-->模型2加载-->模型2执行-->函数：dump_unreg_callback接口-->函数：finalize_dump接口-->模型卸载-->函数：finalize接口


#### 函数原型

- C函数原型
  1 aclError acldumpRegCallback(int32_t (* const messageCallback)(const acldumpChunk *, int32_t len), int32_t flag)

- python函数
  1 ret = acl.mdl.dump_reg_callback(mdl_dump_callback, flag)


#### 参数说明

| 参数名 | 说明 |
| --- | --- |
| mdl\_dump\_callback | 用于接收回调数据的回调函数，有如下两个参数： dump\_chunk：dict，在实现mdl\_dump\_callback函数时可以获取dump\_chunk中的data\_fuf、buf\_len等参数值，用于获取Dump数据及其数据长度： { "file\_name": file\_name, // 待落盘的Dump数据文件名 "data\_buf": data\_buf, // Dump数据的内存地址 "buf\_len": buf\_len, // data\_buf数据长度，单位Byte "is\_last\_chunk": is\_last\_chunk, // 标识Dump数据是否为最后一个分片，0表示不是最后一个分片，1表示最后一个分片 "offset": offset, // Dump数据文件内容的偏移，其中\-1表示文件追加内容 "flag": flag // 预留Dump数据标识，当前数据无标识 } |
| flag | int，在调用回调接口后是否还落盘dump数据。 0：不落盘，当前仅支持0 |


#### 返回值说明

| 返回值 | 说明 |
| --- | --- |
| ret | int，错误码，返回0表示成功，返回其它值表示失败。 |


#### 约束说明

无
