下载
中文
注册

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

问题描述

  • 报错截图

  • 报错文本
    ……
    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。