docker wsl2启动不了_在wsl2中使用GPU

e3a21bf77c641f50d20ad14ec5c4d1d2.png

盼望着,盼望着,wsl2终于支持GPU了!之前预热了好久,一直等待着能正式上车,今天终于如愿以偿。关于wsl2的背景,关心的朋友大都知道,我就废话少说,直接来在wsl2上装CUDA!(不会真有人用AMD来炼丹吧。。

Windows侧驱动安装

  1. 首先需要升级到最新的fast预览版,版本号为20150,正好是618这天更新的,上车方法为参与Windows预览体验计划,选择fast ring,然后检查更新即可。
  2. 其次需要装好wsl2,这个就不用赘述了。
  3. 为了使用CUDA,我们还需要安装最新的测试版Nvidia驱动(需要申请一下Nvidia开发者账号,装过CuDnn的朋友们大多都有),下载链接如下:
CUDA on WSL​developer.nvidia.com

Linux侧环境配置

好了,准备工作做完了,如果你是AMD的GPU,那恭喜你,可以直接开始炼丹了。如果是Nvidia的GPU,根据NV的说法,在linux上build的CUDA程序可以直接运行,但是我手头并没有linux的机器,而且NV更推荐使用docker来配置CUDA,所以在此直接介绍基于docker的方案。

首先安装docker:

$ curl https://get.docker.com | sh

添加NV的docker源:

$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
$ curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container-experimental.list | sudo tee /etc/apt/sources.list.d/libnvidia-container-experimental.list

然后安装NV的docker runtime:

$ sudo apt update
$ sudo apt install -y nvidia-docker2

重启一下docker服务:

$ sudo service docker stop
$ sudo service docker start

安装合适的CUDA docker镜像

既然NV的GPU是通过docker实现GPU支持,那自然所有配置好了CUDA环境的镜像都是可以直接使用的。NV的文档中给出了TensorFlow的官方docker镜像例子,如果需要使用TF可以安装并运行这一镜像:

$ docker pull tensorflow/tensorflow:latest-gpu-py3-jupyter
$ docker run -it --gpus all -p 8888:8888 tensorflow/tensorflow:latest-gpu-py3-jupyter

这里一定需要添加--gpus all的参数,才能支持GPU,安装运行后,在浏览器打开localhost:8888/?token=xxxxxxxxxx即可直接使用启用GPU支持的Jupyter notebook,效果如下:

9dea06de8964402ba4cad703ae4c026f.png

如果不需要使用TF,而是像我一样需要在julia中使用CUDA.jl,则需要重头开始新建一个环境。由于CUDA.jl安装时会自动安装CUDACUDNN以及CUTENSOR等而不依赖系统,为了方便我直接使用了nvidia/cuda:10.2-base这一docker镜像(仅有41M)作为底包。之所以不直接用ubuntu是因为nvidia提供的底包里面添加了自己的源哈哈哈。 如果有其他包的需求可以看cuda镜像的tag,链接在此:https://ngc.nvidia.com/catalog/containers/nvidia:cuda/tags

$ docker pull nvidia/cuda:10.2-base
$ docker run -it --gpus all nvidia/cuda:10.2-base /bin/bash

进来以后直接就是root环境,然后就可以开始配置你自己的开发环境了,新建用户,安装build-essentialjulia等,和普通ubuntu没有任何差异。配置完成后千万千万记住要commit,保存对原镜像的修改。需要使用docker psdocker tag 等命令,在此不再赘述。

好了,大功告成!来看看效果吧:

eb2569b140c3b59de03f4cb5dd27cf4d.png

还有更多有关的细节可以参考以下链接:

CUDA Toolkit Documentation​docs.nvidia.com
5fa61c775b1c79960dbcbfa4e177df99.png
DirectX ❤ Linux | DirectX Developer Blog​devblogs.microsoft.com
031654ba0e46a931a7938fd7972c9fa7.png
Announcing CUDA on Windows Subsystem for Linux 2 | NVIDIA Developer Blog​devblogs.nvidia.com
b4a3b6b0a676f62348a63bb1510e6d21.png
https://devblogs.microsoft.com/commandline/gpu-compute-wsl-install-and-wsl-update-arrive-in-the-windows-insiders-fast-ring-for-the-windows-subsystem-for-linux/​devblogs.microsoft.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值