当前位置:   article > 正文

WSL2使用cuda_wsl2 本地cuda低于子系统

wsl2 本地cuda低于子系统

在微软最新发布的 Windows Insider 预览版本中,WSL2 获得了 GPU 计算支持。这意味着 Linux 二进制文件可以利用 GPU 资源,在 WSL 中进行机器学习、AI 开发或是数据科学等工作。微软在今年五月份的 Build 2020 大会上宣布了 WSL 对GPU 计算的支持,对这项功能的需求在社区中一直拥有很高的呼声。目前,需要在WSL中启用GPU支持需要加入Windows 预览版 SDK,以下为具体步骤。
原文转载于:https://blog.csdn.net/qq_20291997/article/details/106897324#comments_13435238

1.安装预览版系统

打开 “设置”-“更新和安全”-“windows预览体验计划” 选择加入,随后保存并按照提示重启,随后检查更新即可自动安装最新的快速预览版系统。
在这里插入图片描述

请务必确保win版本高于20150,可在运行(win+R)中执行winver进行确认,我的版本是20231。
在这里插入图片描述

2.安装预览版驱动

请勿在 WSL 中安装任何 Linux 显示驱动程序。Windows 显示驱动程序将同时安装本机 Windows 和 WSL 支持的常规驱动程序组件。
英伟达下载与安装支持WSL的GPU驱动。
在这里插入图片描述

记得按照自己的GPU产品选择对应的驱动(该步骤需要Nvidia账户,我下载的是Geforce的驱动),下载后安装即可。
在这里插入图片描述

3.安装WSL2

确保自己安装并启用了WSL2。

  1. 以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  • 1

随后重启即可。
2. 将 WSL 2 设置为默认版本,以管理员身份打开 PowerShell 并运行:

wsl --set-default-version 2
  • 1

ps: 若提示"WSL 2 需要更新其内核组件”。下载并安装WSL 2 Linux 内核
3. 随后进入微软商店下载并安装对应的Linux版本即可。或者前往在此选择具体Linux版本。
在这里插入图片描述

注:WSL必须安装在系统分区中。如果之前修改到了其它分区,请在下载安装对应Linux之前在win系统设置-系统-存储-更改新内容的保存设置-将新应用保存到…中选择对应系统分区,随后再进行安装。
5. 验证
请务必验证安装了WSL2(特别是以往就安装了WSL的电脑),以管理员身份打开 PowerShell 并运行:

wsl --l --v
  • 1

如果返回的结果中version下的值为2,WSL2就安装成功了。
在这里插入图片描述

4.配置环境

更新:在WSL2中配置Cuda
我说的时不要安装任何Linux显示驱动程序,必要的Cuda之类还是要自己安装的,以下为具体步骤:

安装编译环境

该步骤非必须,可以先尝试安装cuda,提示缺少编译器无法正常安装再进行该步骤

sudo apt update
sudo apt install build-essential
  • 1
  • 2

下载cuda包
前往Nvidia官网下载对应的cuda包,自己用什么版本就下什么版本。
在这里插入图片描述

如果需要使用tensorRT加速的话个人建议最好是下载cuda10.2的版本

安装cuda

安装cuda时不安装驱动,把“X”选项去掉就行。
在这里插入图片描述

安装后一定有如下提示,Driver: Not Selected
在这里插入图片描述
设置环境变量

在主目录下的~/.bashrc文件添加如下路径:

sudo su -
  • 1
vim ~/.bashrc
  • 1

末尾添加并保存:

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  • 1
  • 2
  • 3
source ~/.bashrc
  • 1

如果提示缺少相应的依赖库,直接执行如下代码自动安装相应的依赖库

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
  • 1

查看cuda是否安装成功:

nvcc -V
  • 1

在这里插入图片描述

安装cudnn

安装cudnn的时候也需要登录Nvidia账号,直接下载:cuDNN Library for Linux (x86)

在这里插入图片描述
然后打开终端执行:

tar -zxvf cudnn-10.2-linux-x64-v8.0.4.30.tgz
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-10.1/lib64/
sudo cp  cuda/include/cudnn.h /usr/local/cuda-10.1/include/
  • 1
  • 2
  • 3

为所有用户设置读取权限:

sudo chmod a+r /usr/local/cuda-10.1/include/cudnn.h sudo chmod a+r /usr/local/cuda-10.1/lib64/libcudnn*
  • 1

查看 CUDNN 是否安装成功:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
  • 1

在这里插入图片描述

安装pytorch

进入pytorch官网,下载安装包:
在这里插入图片描述
我选择pip安装:

pip3 install torch torchvision
  • 1

最终

最终可以调用GPU训练了。
注意:如何你的windows预览版是20150~20210之间的版本是没问题的,如果你的是20210版本之上是无法使用cuda版本,报以下错误,windows升级到最新版本20236以上就解决了。
在这里插入图片描述

PS:NVIDIA官方帮助文档:https://docs.nvidia.com/cuda/wsl-user-guide/index.html#installing-nvidia-drivers

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/391786
推荐阅读
相关标签
  

闽ICP备14008679号