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

#### 产品支持情况

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


#### 功能说明

复位当前运算的Device，释放Device上的资源。释放的资源包括默认Context、默认Stream以及默认Context下创建的所有Stream。若默认Context或默认Stream下的任务还未完成，系统会等待任务完成后再释放。


#### 函数原型

- C函数原型
  1 aclError aclrtResetDevice(int32_t deviceId)

- python函数
  1 ret = acl.rt.reset_device(device_id)


#### 参数说明

| 参数名 | 说明 |
| --- | --- |
| device\_id | int，Device设备号。 |


#### 返回值说明

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


#### 约束说明

若要复位的Device上存在显式创建的Context、Stream、Event，在复位前，建议遵循如下接口调用顺序，否则可能会导致业务异常。

接口调用顺序：调用acl.rt.destroy_event接口释放Event/调用acl.rt.destroy_stream接口释放显式创建的Stream-->调用acl.rt.destroy_context释放显式创建的Context-->调用acl.rt.reset_device接口。


#### 资源参考

接口调用流程与示例，请参见运行时资源申请与释放(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/acldevg/aclpythondevg_0009.html)、同步等待(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/acldevg/aclpythondevg_0022.html)。
