windows WSL2 安装 CUDA Toolkit 时,“couldn‘t communicate with the NVIDIA driver“ 问题

问题

在 windows 上用 WSL2 安装 “CUDA Toolkit” 时,按照 NVIDIA 官网上的 安装 命令 安装完成后(链接: link),在 WSL2 的 ubuntu 命令行中输入:nvidia-smi 后,提示:

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running

解决过程

1. 详细过程

查了一些资料,并没有解决问题。后来,无意中想到,我 windows 上运行的 WSL 会不会是 WSL1 呢?于是就查看了一下:
在 windows 命令行中运行:

wsl -l -v

查看一下 " VERSION " 一栏,是不是 2,我这里是 2,但是,之前出问题的那个 “Ubuntu-18.04” ,对应的 " VERSION " 一栏,却是 1,忘了截图了。
在这里插入图片描述
于是,我在 windows 应用 中 卸载了 之前安装的 “Ubuntu-18.04” WSL1 子系统 (还要在 windows 终端中注销,方法 见 链接: link),并升级到了 WSL2(升级方法见后面的链接),然后在 windows 应用商店中,重新安装了 “Ubuntu-20.04.6”,再次运行、检查," VERSION " 一栏变成 2 了。

卸载旧的 “Ubuntu-18.04” 后,要重启,系统中才会永久删除它的记录。当我重新安装好 WSL2 的 “Ubuntu-20.04.6” 后,此时还未安装 “CUDA Toolkit”,我在 “Ubuntu-20.04.6” 命令行中运行:nvidia-smi 命令,可以输出 GPU 信息,运行:nvcc -V 命令,提示要运行 “sudo apt install nvidia-cuda-toolkit” 安装 “CUDA Toolkit”,于是,我就运行了 “sudo apt install nvidia-cuda-toolkit” ,成功安装了 “CUDA Toolkit”,且没有配置环境变量 “nvcc -V” 也有了输出,版本不高,为 10.1,用于学习,够用了。
在这里插入图片描述

2. 参考

  1. WSL1 升级到 WSL2:链接: link 和 链接: link
  2. 卸载之前安装过的 cuda 工具时,用官方提供的命令,卸载才很干净,网上的方法卸载并不干净,参考 链接: link
  3. 卸载之前安装过的 cuda 工具命令总结起来就是下面三句(Ubuntu and Debian):
sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" "*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*"
sudo apt-get --purge remove "*nvidia*" "libxnvctrl*"
sudo apt-get autoremove

总结

最后对前面的方法做个总结:

  1. 确保 windows 主机已经安装好 GPU 驱动,就是在 windows 主机命令行中 运行 “nvidia-smi” 时能输出 GPU 信息。
  2. 在 windows 主机命令行中,用命令 “wsl -l -v” 查看一下 VERSION,你的 WSL ubuntu 是不是 WSL 版本2,有可能是 WSL 版本1,如果不是 2,参考上面给的链接升级到 WSL2。
  3. 在微软应用商店中安装一个 WSL2 对应的 ubuntu,我装了 “Ubuntu-20.04.6”。
  4. 在 WSL2 对应的 ubuntu 命令行中执行:“sudo apt install nvidia-cuda-toolkit” 就可以安装 cuda 相关的工具,且不用配置环境变量什么的,直接就可以用了,只是,它的版本不高,目前是 10.1 的,如果是用于学习,足够用了。
  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值