目前大多数 N 卡电脑都已经自带了 NVIDIA GeForce Experience 软件以及显卡驱动,无需额外配置。
在 Windows 的终端中,可以执行 nvidia-smi
查看显卡状态:
如果没有驱动的话,可以在官网下载,根据自己的配置选择安装即可:
驱动安装完成后,可以执行 nvidia-smi
验证驱动安装是否成功。
需要注意的是,新版本的 Windows NVIDIA 显卡驱动已经内置了对 WSL 2 的支持,这也就意味着只需 Windows 中有 NVIDIA 显卡驱动即可,而不需要 WSL 2 中另外再安装。WSL 2 中只需要安装 CUDA Toolkit for WSL 2 即可:
在 WSL 2 终端中可以直接执行 nvidia-smi
来查看显卡状态:
可以看到,驱动版本为 522.25,所能支持的最新的 CUDA 的版本为 11.8。
CUDA 安装方式可以参考官网,注意选择 WSL 版:
参考安装命令如下:
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin # 下载cuda的apt pin文件
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 # 将cuda的apt pin文件移入apt配置目录中
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb # 下载cuda的deb包
sudo dpkg -i cuda-repo-wsl-ubuntu-11-8-local_11.8.0-1_amd64.deb # 安装cuda的deb包
sudo cp /var/cuda-repo-wsl-ubuntu-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/ # 导入cuda的gpg key
sudo apt update # 更新apt仓库元数据
sudo apt -y install cuda # 安装cuda
安装完成后,在 ~/.bashrc
中添加相关环境变量:
# CUDA
export CUDA_HOME=/usr/local/cuda
export PATH=${PATH}:${CUDA_HOME}/bin
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
说明一下 LD_LIBRARY_PATH
部分涉及的 shell 语法。LD_LIBRARY_PATH:+
遵循 ${var:+string}
形式的覆盖缺省值规则。${var:+string}
表达式中,当 var
不为空值时表达式值为 string
,否则表达式值为 var
,即空值。对于 ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
这一表达式,如果原本LD_LIBRARY_PATH
的值不为空,那么表达式的值为 :${LD_LIBRARY_PATH}
,即在 ${LD_LIBRARY_PATH}
值的基础上往开头加了个冒号 :
;如果原本 LD_LIBRARY_PATH
为空值,那么表达式的值也就为空值。
最后,执行 nvcc -V
能正常输出版本信息即表示配置成功:
需要注意的是,执行 nvcc -V
输出的 CUDA 版本和执行 nvidia-smi
输出的 CUDA 版本并不等同,前者是 CUDA 运行 API 的版本,是实际安装的 CUDA 版本,而后者是 NVIDIA 显卡驱动能支持的最高 CUDA 运行 API 版本。实际安装 CUDA 版本不应高于驱动支持的最高版本。
cuDNN 是进行 GPU 加速的深度神经网络库,可以从官网下载。注意选择与 CUDA 对应的版本,具体安装包类型可以根据个人需要选择。
在 WSL 2 终端中执行 lsb_release -a
和 uname -a
可以查看系统信息:
可以看到,我所使用的系统是 x86_64 架构的 Ubuntu 20.04。
前文中已经安装了 CUDA 11.8,此处以 Deb 类型的本地安装包为例,首先下载对应的 cuDNN:
进入下载目录,参考安装流程如下:
sudo dpkg -i cudnn-local-repo-${OS}-8.x.x.x_1.0-1_amd64.deb # 安装cudnn的deb包
sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/ # 导入cudnn的gpg key
sudo apt-get update # 更新apt仓库元数据
sudo apt-get install libcudnn8=8.x.x.x-1+cudaX.Y # 安装cudnn运行时库
sudo apt-get install libcudnn8-dev=8.x.x.x-1+cudaX.Y # 安装cudnn开发库
sudo apt-get install libcudnn8-samples=8.x.x.x-1+cudaX.Y # 安装cudnn示例代码及文档
其中:
${OS}
为系统版本,对应本文环境为 ubuntu2004
X.Y
为 CUDA 的版本,对应本文环境为 11.8
8.x.x.x
为 cuDNN 的版本,当前官网默认供下载的版本为 8.7.0.84
以本文所使用的环境为例,具体的安装命令如下:
sudo dpkg -i cudnn-local-repo-ubuntu2004-8.7.0.84_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/
sudo apt update
sudo apt install libcudnn8=8.7.0.84-1+cuda11.8
sudo apt install libcudnn8-dev=8.7.0.84-1+cuda11.8
sudo apt install libcudnn8-samples=8.7.0.84-1+cuda11.8
安装完成后,可以通过 cuDNN 自带的示例程序进行验证:
cp -r /usr/src/cudnn_samples_v8/ $HOME
cd $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN
不同算法测试后都能得到 Test passed!
输出即表示 cuDNN 配置成功:
CUDA on WSL :: CUDA Toolkit Documentation (nvidia.com)
Installation Guide :: NVIDIA Deep Learning cuDNN Documentation