系统相关
首页 > 系统相关> > Windows11使用WSL Ubuntu搭建paddle的GPU环境

Windows11使用WSL Ubuntu搭建paddle的GPU环境

作者:互联网

Windows11使用WSL Ubuntu搭建paddle的GPU环境

最近升级到了Windows11,突然有个大胆的想法:在Windows11上安装WSL,将所有开发环境安装到WSL中。这样就能在windows各种QQ/微信/Steam玩的飞起,又能在Linux中敲代码。

当前时间:2022-08-13,本文章中所有步骤都是根据官网的安装方法,如果时间比较长了,可能需要切换到最新的官方文档。

本文章为安装成功后的分享,可以放心参考。

paddle的坑

  1. 目前不兼容ubuntu22.04,查资料说是paddle不支持高版本gcc
  2. 直接运行paddle提供的docker镜像是可行,但是docker内的python版本过低(python3.7),导致matplotlib无法安装,如果不需要个别依赖包可以不用折腾
  3. 吐槽下,ubuntu22.04都发布半年了,还做不到兼容,天天吹流弊有个锤子用

版本/型号

项目 型号
当前时间 2022-08-13
CPU Intel i7-11700
显卡 GTX 1050 Ti
Windows 11 64位 专业版 21H2
WSL2 5.10.102.1
Ubuntu 22.04
CUDA 11.7
cuDNN 8.5.0.*

疑问

在完成安装前,自己对WSL也有疑问的地方,可能大家也有类似的疑问,所以列举出来。

步骤

Windows11安装WSL

官网-安装WSL
官网-WSL基本命令

  1. 打开"Windows功能",将"Hyper-V"/"适用于Linux的Windows子系统"/"虚拟平台"都勾选上,重启

  2. windows系统就自动安装了wsl工具

  3. 在微软商店搜索"Ubuntu",直接点击安装等待完成(这里选择ubuntu20.04,因为paddle不兼容ubuntu22,因为)

  4. 打开"ubuntu20.04",如果如下报错

Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernel

Press any key to continue...
  1. 请更新下WSL内核并重启即可
wsl --update

配置ubuntu20.04的环境

官网-安装Docker Engine on Ubuntu

  1. 进入ubuntu内部
  2. 安装miniconda当作python管理工具
  3. 更换"ubuntu"/"conda"/"pypi"国内镜像源
  4. 安装Dockers,注意是安装Dockers Engine,而不是Docker Desktop

驱动/CUDA/cuDNN关系

显卡、显卡驱动、cuda 之间的关系是什么? - 智星云服务的回答 - 知乎

应用层到硬件的分层结构
TensorRT for Inference: Paddle
GPU Accelerated SDKcuDNN
CUDA ToolKits
GPU Driver
OS
GPU Computing Servers

安装CUDA

官网-安装cuda命令

  1. 提前安装好miniconda(安装命令会自动配置conda环境)
  2. 打开上面的地址,访问比较慢,刷不出来多试几次,环境不同安装的命令也不同,选择好参数后会有安装命令,照抄命令就可以了
  3. 有些文章说安装cuda后要改环境变量,我提前装好了miniconda,所以安装好自动配置了,不需要改,打开"~/.bashrc"最下方可以看到配置的内容
  4. 下面以我选择的参数"Linux"/"x86_64"/"Ubuntu"/"20.04"/"deb(network)",生成的代码如下:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda

自动添加的环境变量如下,本人的登录用户名为"x",所以每个人安装的路径都有区别

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/x/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/x/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/home/x/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/x/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

安装cuDNN

官网-安装cuDNN

  1. 注意看里面的目录,自行选择对应的系统和安装方式
  2. 我选择的是ubuntu的网络安装,执行的代码如下:
# 由于文档中的地址使用了变量,用export方式赋值
export OS=ubuntu2004
export cudnn_version=8.5.0.*
export cuda_version=cuda11.7

# 安装
wget https://developer.download.nvidia.com/compute/cuda/repos/${OS}/x86_64/cuda-${OS}.pin 

sudo mv cuda-${OS}.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/${OS}/x86_64/3bf863cc.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/${OS}/x86_64/ /"
sudo apt-get update
sudo apt-get install libcudnn8=${cudnn_version}-1+${cuda_version}
sudo apt-get install libcudnn8-dev=${cudnn_version}-1+${cuda_version}

完成

上面完成了所有配置,测试下是否成功

  1. 进入ubuntu
  2. 进入conda环境
  3. 打开python命令行
import paddle
paddle.utils.run_check()

其他

标签:Windows11,WSL,paddle,conda,cuda,ubuntu,docker,安装
来源: https://www.cnblogs.com/XuXiaoCong/p/16584680.html