WSL 2 Ubuntu 20.04 配置 CUDA

文章目录

  • Windows 侧
    • 安装 NVIDIA 显卡驱动
  • WSL 2 侧
    • 安装 CUDA Toolkit
    • 安装 cuDNN(可选)
  • 参考文档

Windows 侧

安装 NVIDIA 显卡驱动

目前大多数 N 卡电脑都已经自带了 NVIDIA GeForce Experience 软件以及显卡驱动,无需额外配置。

在 Windows 的终端中,可以执行 nvidia-smi 查看显卡状态:

WSL 2 Ubuntu 20.04 配置 CUDA_第1张图片

如果没有驱动的话,可以在官网下载,根据自己的配置选择安装即可:

WSL 2 Ubuntu 20.04 配置 CUDA_第2张图片

驱动安装完成后,可以执行 nvidia-smi 验证驱动安装是否成功。

WSL 2 侧

安装 CUDA Toolkit

需要注意的是,新版本的 Windows NVIDIA 显卡驱动已经内置了对 WSL 2 的支持,这也就意味着只需 Windows 中有 NVIDIA 显卡驱动即可,而不需要 WSL 2 中另外再安装。WSL 2 中只需要安装 CUDA Toolkit for WSL 2 即可:


在 WSL 2 终端中可以直接执行 nvidia-smi 来查看显卡状态:

WSL 2 Ubuntu 20.04 配置 CUDA_第3张图片

可以看到,驱动版本为 522.25,所能支持的最新的 CUDA 的版本为 11.8。

CUDA 安装方式可以参考官网,注意选择 WSL 版:

WSL 2 Ubuntu 20.04 配置 CUDA_第4张图片

参考安装命令如下:

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(可选)

cuDNN 是进行 GPU 加速的深度神经网络库,可以从官网下载。注意选择与 CUDA 对应的版本,具体安装包类型可以根据个人需要选择。

在 WSL 2 终端中执行 lsb_release -auname -a 可以查看系统信息:


可以看到,我所使用的系统是 x86_64 架构的 Ubuntu 20.04。

前文中已经安装了 CUDA 11.8,此处以 Deb 类型的本地安装包为例,首先下载对应的 cuDNN:

WSL 2 Ubuntu 20.04 配置 CUDA_第5张图片

进入下载目录,参考安装流程如下:

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 配置成功:

WSL 2 Ubuntu 20.04 配置 CUDA_第6张图片

参考文档

CUDA on WSL :: CUDA Toolkit Documentation (nvidia.com)

Installation Guide :: NVIDIA Deep Learning cuDNN Documentation

你可能感兴趣的:(WSL,配置与使用,ubuntu,linux,windows,人工智能)