1/3
2/3
3/3
Windows10/11 WSL2 安装nvidia-cuda驱动
小丁同学_99
2021年12月28日 16:58

很多人反映驱动地址没有了,我点进去看了一下,确实是这样。原因是:以前带有wsl2驱动的地址是“过渡时期”的过渡方案,类似于预览版:

代码块
JavaScript
自动换行
复制代码
https://developer.nvidia.cn/cuda/wsl/download
复制成功

现在英伟达好像把wsl2驱动集成到正式版的驱动上了,下面是英伟达的wsl介绍网址:

代码块
JavaScript
自动换行
复制代码
https://developer.nvidia.com/cuda/wsl
复制成功

点进去后,再点击get cuda就直接跳到驱动下载网页了

代码块
JavaScript
自动换行
复制代码
https://www.nvidia.com/Download/index.aspx?lang=en-us
复制成功

所以,有可能直接在这个驱动下载地址下载对应的驱动即可。

此外,兄弟们一定要记得下载最新的Windows10,有时候在设置中检查更新时,虽然已经提示是最新版本了,但其实版本号还没有达到标准。我的建议是,有条件的直接升级到win11。


驱动安装背景

最近在实验室的Windows服务器上学习“炼丹”知识,发现速度不尽人意,即使设置了使用GPU训练,但总觉得Windows没有压榨出显卡全部实力。本科的时候听说过WSL,其实就是Windows下的Linux子系统,我记得第一代的WSL不能安装显卡驱动,毛病挺多的……最近WSL2出山,听很多人说不错,也可以安装驱动。折腾的过程中踩了很多坑,希望我前几天的经验能够帮助到你们。


服务器的硬件情况

Intel(R) Core(TM) i9-10940X CPU @ 3.30GHz   3.31 GHz

NVIDIA GeForce RTX 3090 * 3

Windows10系统(系统版本是很大的坑!一会会讲)


开始安装

1. 安装WSL2

这一步可以参考Windows官网,以及其他B站UP主的安装教程,贴两个链接(一定要装WSL2)。

代码块
clike
自动换行
复制代码
https://docs.microsoft.com/zh-cn/windows/wsl/install
复制成功

2. 安装Windows的nvidia驱动(Windows下操作)

  • 下载并安装带有WSL2驱动的nvidia-Windows驱动

根据自己电脑显卡类型,分GeForce和QUADRO两个版本,自己电脑是哪个就选哪个。下载驱动后,安装。(安装过程中可以直接选择“精简”模式)

带有WSL驱动的官方驱动下载地址:https://developer.nvidia.cn/cuda/wsl/download

  • 注意!

有人会问:不是安装WSL2的驱动吗?为什么装Windows的?实际上,官网文档上标注 了,带有WSL2的官方nvidia驱动是整个过程唯一要装的GPU驱动!!!千万别被其他指南带错路了!(我就是没找到这个,白白浪费很多时间)

Nvidia-WSL驱动官方文档:https://docs.nvidia.cn/cuda/wsl-user-guide/index.html

  • 检测是否安装成功

cmd命令行输入:

代码块
JavaScript
自动换行
复制代码
nvidia-smi
复制成功

如果出现类似于下图效果,即安装完成。

检测驱动是否安装完成

记下图中的CUDA version

3. 在WSL2中安装CUDA(WSL2中操作)

  • 参考CUDA官网,选择自己对应的版本。

代码块
JavaScript
自动换行
复制代码
https://developer.nvidia.cn/cuda-downloads
复制成功

这里的cuda版本,要比刚才cmd中标注的CUDA version要低。

比如我的CUDA version是11.6,我在下载CUDA驱动时,可以安装最新的11.5版本。

一定要选择红圈标注的WSL版本!!!

选择cuda版本及安装模式

选择完版本后,下面会有整个安装提示,在WSL2中按照方法来就行,如:

在WSL中一步一步地跟着安装即可

  • 安装相关依赖库

代码块
Shell
自动换行
复制代码
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
复制成功
  • 在Ubuntu上配置CUDA的环境变量,命令行输入:

代码块
Shell
自动换行
复制代码
sudo vim ~/.bashrc
复制成功

在末尾添加(注意:将地址里面的11.5换成自己安装的版本!):

代码块
Shell
自动换行
复制代码
export PATH=/usr/local/cuda-11.5/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.5/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
复制成功

更新文件:

代码块
Shell
自动换行
复制代码
source ~/.bashrc
复制成功
  • 输入代码检测是否安装完成

代码块
Shell
自动换行
复制代码
nvcc -V
复制成功

如上图,即安装成功

4.安装CUDNN(在WSL2中安装)

需要注册账号,参考如下地址的3.2

代码块
HTML
自动换行
复制代码
https://blog.csdn.net/iwanvan/article/details/122119595
复制成功

然后可以安装pytorch,可以直接安装最新版本,只要比驱动version低就行。