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

#### 产品支持情况

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


#### 功能说明

去初始化函数，用于释放进程内acl接口使用的相关资源。

acl.finalize_reference接口内部涉及引用计数的实现，acl.init接口每被调用一次，则引用计数加一，acl.finalize_reference接口每被调用一次，则该引用计数减一，当引用计数减到0时，才会真正去初始化。acl.finalize接口与本接口的区别在于，调用acl.finalize接口会将计数清零，直接去初始化。


#### 函数原型

- C函数原型
  1 aclError aclFinalizeReference(uint64_t *refCount)

- python函数
  1 count, ret = acl.finalize_reference()


#### 参数说明

无


#### 返回值说明

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


#### 约束说明

应用进程退出前，应确保已调用acl.finalize或acl.finalize_reference接口完成去初始化，否则可能会导致异常，例如应用进程退出时有异常报错。

不建议在析构函数中调用acl.finalize或acl.finalize_reference接口，否则在进程退出时可能由于单例析构顺序未知而导致进程异常退出的问题。
