admin 管理员组

文章数量: 887021

概览

  • Windows 配置 WSL CUDA 环境
    • 0. 安装前准备
      • 0.0 系统要求
      • 0.1 WSL 安装
      • 0.2 WSL 版本设置
      • 0.3 下载
    • 1. 驱动安装配置
      • 1.0 安装主机 CUDA 驱动
      • 1.1 WSL 安装 CUDA 驱动
    • 2. 环境安装
      • 2.0 MiniConda
      • 2.1 Pytorch
      • 2.2 Conda 环境 Tips
      • 2.3 安装后检查
    • Reference

Windows 配置 WSL CUDA 环境

目的:日常办公主机装配了 Windows10系统,课题工作主要在远程Linux主机上完成,但偶尔需要在本地主机进行代码测试开发,双系统切换效率太低,因此想利用Windows中的Linux子系统(WSL)完成相应功能

说明:在Windows 10 21H2或者Windows 11版本,启用WSL V2版本后可以在WSL中使用系统的GPU资源,进而使用PyTorch等深度学习工具或者利用NVIDIA-Docker实现容器化GPU使用

0. 安装前准备

0.0 系统要求

系统至少为Windows10 21H2版本,或者为Windows 11, 如果是低版本,需要先升级。可以按住 Win+R 输入 winver 查看系统版本

0.1 WSL 安装

按照 设置->应用->程序和功能->启用或关闭 Windows 功能的步骤,确认将WSL启用:

设置完成,更新重启之后,打开 Microsoft Store 应用商店,安装 Ubuntu-20.04 或者其他个人习惯使用的 Linux 发行版。

安装完成之后可以打开,进入 Ubuntu-20.04 终端,完成系统设置,按照要求设置用户名和密码之后可以进入如下界面:

0.2 WSL 版本设置

(Windows11 可忽略,版本自带是V2)确保 WSL 版本是 V2,可以通过 wsl.exe -l -v 查看对应版本:

如果看到还是 VERSION 1,则可以按 微软官网教程 将 WSL1 升级到 WSL2,然后运行wsl --set-version Ubuntu-20.04 2 将版本进行升级。最佳做法是确认升级到 WSL2 之后,再在应用商店安装 Ubuntu 等 Linux 发行版。

0.3 下载

完成上述准本工作之后,为了保证安装顺利,可提前准备好需要的包:

  • NVIDIA CUDA WSL驱动: 官网链接
  • CUDA WSL PIN 官网链接
  • CUDA TOOLKIT REPO 官网链接

1. 驱动安装配置

1.0 安装主机 CUDA 驱动

将上述步骤下载得到的 NVIDIA CUDA WSL驱动 在Windows 本地安装,双击打开 EXE 文件后按照导引运行即可

1.1 WSL 安装 CUDA 驱动

打开 WSL 终端,将下载的另外两个包放到方便查找的目录,例如如果在主机的 D:\\Downloads\\cuda 目录:
则此时可以在 WSL 中 cd /mnt/d/Downloads/cuda 进入该目录:


进入目录后运行以下命令安装:

# 如果之前没有提前下载,则输入 wget 命令下载;否则可略过下述所有 wget 命令
wget https://developer.download.nvidia/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia/compute/cuda/11.4.0/local_installers/cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-4-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

注: 上述安装的是 11.4 版本的 CUDA,例如 Pytorch 目前最高支持 11.3 版本,则可以修改上面的链接,下载对应版本即可。

驱动完成安装后,可以利用 nvidia-smi 查看是否安装成功:

右上角显示的 11.6 实际上是主机安装的驱动,和实际的 CUDA 版本无关,可以通过运行 /usr/local/cuda/bin/nvcc -V 查看实际的版本

CUDNN 安装和正常一样下载解压即可。

2. 环境安装

2.0 MiniConda

从清华等 国内Conda源 下载自己需要的 MiniConda 版本,(MiniConda 包含基本的 Python 环境和 Conda 等包管理器,比 AnaConda 更精简)

下载后执行 bash MiniConda-XXXX.sh 安装即可

2.1 Pytorch

可以直接参照官网的 conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch 安装,或者通过其他的 pip 或者提前下好安装包等方式。

2.2 Conda 环境 Tips

如果在远程已经有安装配置好的环境,且远程环境与 WSL 环境兼容且驱动等也一致(例如远程服务器与本地 WSL 都是 Ubuntu 20.04,都安装的是一样的 MiniConda,且都安装了 CUDA-11.3 驱动),则此时可以直接将远程服务器的环境用于本地

  • 在远程服务器 conda 环境中安装 conda-pack: pip install conda-pack
  • 查看远程服务器中对应的 conda 环境:conda env list
  • 打包对应的环境 conda pack -n torch -o /home/Downloads/torch.tar.gz
  • 假设远程用户名为 user,远程主机 IP 地址为 192.168.100.200,将远程服务器的压缩包拷贝到本地:scp user@192.168.100.200:/home/Downloads/torch.tar.gz ./
  • 将拷贝的文件移动到 /home/xxx/miniconda/envs/torch目录 (先在 envs 目录下新建 torch 目录 )
  • cd /home/xxx/miniconda/envs/torch 进入目录
  • 解压文件:tar zxf torch.tar.gz
  • 完成安装,如无需要,可以删除压缩包 rm torch.tar.gz

2.3 安装后检查

安装完成后,可以在其中检查 CUDA 是否可用:
python -c "import torch; print(torch.cuda.is_available())"

可以看到已经能够使用。


Reference

  • 英伟达官方 CUDA 用户指导:https://docs.nvidia/cuda/wsl-user-guide/index.html
  • 微软 WSL CUDA 说明:https://docs.microsoft/zh-cn/windows/ai/directml/gpu-cuda-in-wsl
  • 微软 WSL 安装说明:https://docs.microsoft/en-us/windows/wsl/install

本文标签: 环境 Windows WSL CUDA