在模型运行或者算子运行时遇到报错“RuntimeError: ExchangeDevice:”
2023/06/06
126
问题信息
问题来源 | 产品大类 | 关键字 |
---|---|---|
官方 | 模型训练 | -- |
问题现象描述
- 报错截图
- 报错文本
…… 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。
本页内容