---
title: 在模型运行或者算子运行时遇到报错“RuntimeError: ExchangeDevice:”-昇腾社区
description: (待补充)
keywords: RuntimeError,在模型运行或,者算子运行时,遇到报错,ExchangeDevice,昇腾社区,问题现象描述,原因分析
url: https://www.hiascend.com/document/caselibrary/detail/topic_0000001588958937
section: (其他)
---

# 在模型运行或者算子运行时遇到报错“RuntimeError: ExchangeDevice:”-昇腾社区

URL: https://www.hiascend.com/document/caselibrary/detail/topic_0000001588958937
描述: (待补充)
关键词: RuntimeError,在模型运行或,者算子运行时,遇到报错,ExchangeDevice,昇腾社区,问题现象描述,原因分析

昇腾文档 [了解详情](https://www.hiascend.com/document)

故障案例 [了解详情](https://www.hiascend.com/document/caselibrary)

在模型运行或者算子运行时遇到报错“RuntimeError: ExchangeDevice:”

在模型运行或者算子运行时遇到报错“RuntimeError: ExchangeDevice:”

2023/06/06

908

问题信息

| 问题来源 | 产品大类 | 关键字 |
| --- | --- | ---|
| 官方 | 模型训练 | -- |

#### 问题现象描述

- 报错截图
- 报错文本

```
……
RuntimeError : ExchangeDevice:/home/***/pytorch/c10/npu/sys_ctrl/npu_sys_ctrl.cpp:56 NPU error, error code is 500000
Error in atexit._run_exitfuncs:
……
RuntimeError: npuSynchronizeDevice:/***/code/pytorch/c10/npu/NPUStream.cpp:776 NPU error, error code is 200005.
```

#### 原因分析

目前在一个线程内，只能调用一个NPU设备，当切换不同的NPU device时，出现上述错误。

#### 解决措施

检查代码中在调用torch_npu.npu.set_device(device)、tensor.to(device)或者model.to(device)时，同一个线程内前后调用时device名称是否不一致。对于多个线程情况（如多卡训练），每个线程同样只能调用固定的NPU device。

本页内容

- 问题信息
- 问题现象描述
- 原因分析
- 解决措施
