问题描述:

在新的环境中运行程序时发现如下问题
RuntimeError: CUDA error: no kernel image is available for execution on the device
环境:Ubuntu18.04

原因:

CUDA版本和Pytorch版本不对应

解决办法:

使用nvcc -V进行查看cuda 的版本
发现是CUDA的版本是9,而1.8版本的pytorch至少是10以上的CUDA,因此重新安装Pytorch
去官网上,查找安装的命令,最终安装成功,程序运行成功。


但是发现一个问题,nvidia-smi命令下的CUDA版本,和nvcc -V下的版本显示的不同,但是最终要以nvcc -V之歌版本为准,具体看另外一篇文章。

CUDA有两个CUDA版本
runtime api 使用nvcc -V显示
driver api, 使用nvidia-smi显示
而此处报错的命令是RuntimeError,因此使用nvcc -V命令
使用cuda Toolkit 安装,可以使这两个命令显示的版本相同,因为包含了

通常,driver api的版本能向下兼容runtime api的版本,即nvidia-smi显示的版本大于nvcc -V的版本通常不会出现大问题。

done
【参考】
https://www.jianshu/p/eb5335708f2a

更多推荐

【解决】RuntimeError: CUDA error: no kernel image is available for execution on the