BUG:RuntimeError: CUDA error: invalid device ordinal CUDA kernel errors might be asynchronously repo

报错分析

当运行以下代码报错:

# self.opt.gpu_ids = ["1"]
torch.cuda.set_device(self.opt.gpu_ids[0])

报错信息如下:
RuntimeError: CUDA error: invalid device ordinal
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

报错完整截图:
报错
报错的信息告诉我们,编号“1”是无效的设备序号。但我使用的设备属于单机多卡,是有编号为”1″的显卡的。

解决方法

检查报错代码前面执行过的程序,特别是导入第三方库部分,发现利用os库指定了该程序可见的GPU编号及数量,即:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1"

因此,注释掉os.environ["CUDA_VISIBLE_DEVICES"] = "1"后,重新运行程序,顺利解决bug~

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年7月15日
下一篇 2023年7月15日

相关推荐