自动采集子系统 2020年6月,微软公布WindowsSubsystemforLinux2的最新更新
优采云 发布时间: 2021-08-21 05:23自动采集子系统 2020年6月,微软公布WindowsSubsystemforLinux2的最新更新
简介:2020 年 6 月,微软发布了 Windows Subsystem for Linux 2 的最新更新,全面支持 CUDA 和 N 卡 GPU。在 Windows 上运行 Ubuntu 子系统并在其中运行 GPU 加速的深度学习代码已成为现实。开发者终于不用为了熟悉的Linux环境(以及Windows 10之后的繁琐启动)在自己的开发机上安装Windows和Ubuntu的双系统了。 manager 调试设置过程),同时允许 Windows 和 Ubuntu 共享相同的文件系统。我买了一个新的工作站,并尝试通过各种方式安装 Windows 和 Ub
本文转载自:在Windows的Ubuntu子系统上运行支持CUDA的深度学习代码。 html,转载于本站以传达更多信息,版权归原作者或来源组织所有。
2020 年 6 月,微软发布了 Windows Subsystem for Linux 2 的最新更新,全面支持 CUDA 和 N 卡 GPU。在 Windows 上运行 Ubuntu 子系统并在其中运行 GPU 加速的深度学习代码已成为现实。开发者终于不用为了熟悉的Linux环境(以及Windows 10之后的繁琐启动)在自己的开发机器上安装Windows和Ubuntu的双系统了。 manager 调试设置过程),同时允许 Windows 和 Ubuntu 共享相同的文件系统。
作者买了一个新的工作站。在尝试安装Windows和Ubuntu双系统或安装Windows的Ubuntu子系统后,我终于在Windows 10中成功安装了最新的WSL2、。Ubuntu系统和NVIDIA Driver成功运行了Ubuntu子系统中的深度学习代码Windows,GPU资源全满!
设置 Windows Insider 并安装更新
首先确保电脑的BIOS选项中开启了Virtualization功能。
BIOS 设置好后,我们需要在 Windows 中安装微软于 2020 年 6 月 17 日开放的最新 Windows Insider Build。我们必须先注册为 Windows Insider,加入 Windows Dev Channel,然后更新 Windows 以构建 20150 或更高版本。
设置 Windows 子系统 Linux (WSL) 2
以后微软把WSL 2变成稳定版后,我们只需要输入如下命令就可以设置WSL 2:
wsl --install
现在WSL2的功能还处于测试阶段,我们需要以管理员权限打开PowerShell。
首先设置 WSL 1:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
然后设置 WSL 2:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动 Windows 10:
Restart-Computer
WSL 2 成为默认选项后,以下步骤可以省略,但现在我们需要打开 PowerShell 将 WSL 2 设置为默认选项:
wsl.exe --set-default-version 2
在 WSL 上安装 Ubuntu
在 Microsoft Store 中安装 Ubuntu:
安装 Windows 终端
在 Microsoft Store 中安装 Windows 终端。 Windows Terminal 的主要优点是以后可以在同一个窗口中一键打开多个 PowerShell 和 Ubuntu Terminal 选项卡,非常方便。
在 WSL 上设置 Ubuntu
在Windows开始菜单中打开Ubuntu,第一次打开需要设置Ubuntu系统的用户名和密码。此帐户独立于 Windows 帐户。
设置完成后,关闭原来的窗口,然后打开Windows Terminal,在下拉菜单中选择Ubuntu,打开一个新的Ubuntu Terminal。
下一步非常重要,我们必须检查以确保我们运行的是正确的 WSL 2 Linux 内核。进入 Ubuntu:
uname -r
内核版本必须为4.19.121 或更高版本。如果没有,请先在 Windows PowerShell 中尝试:
wsl.exe --update
如果还是不行,请检查是否在 Windows 升级设置中打开了“更新 Windows 时接收其他 Microsoft 产品的更新”选项:
然后再次检查 Windows Update,看看是否有最新的 Windows Subsystem for Linux Update。
在 Windows 10 上安装 Nvidia 的 WSL2 驱动程序
为不同的显卡安装相应的驱动程序。
未来英伟达的驱动会自动集成到Windows Update中,但现在支持WSL2的英伟达驱动还在开发者测试版中。用户需要加入英伟达开发者计划才能获得最新驱动程序的下载权限。
在 WSL 中安装 Docker
在 Ubuntu 终端中:
sudo apt -y install docker.io
安装 Nvidia 容器工具包
设置版本变量,导入Nvidia库的GPG Key,将Nvidia repo添加到Ubuntu的apt安装源中。在 Ubuntu 终端中:
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
更新Ubuntu的apt安装源并安装Nvidia运行环境:
sudo apt update && sudo apt install -y nvidia-docker2
关闭所有Ubuntu终端,打开PowerShell终端,手动关闭Ubuntu内核:
wsl.exe --shutdown Ubuntu
测试GPU计算环境
打开一个新的 Ubuntu 终端并启动 Docker:
sudo dockerd
在另一个新的 Ubuntu 终端中运行:
sudo docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
如果所有设置都没有问题,输出应该类似于以下内容:
测试 Tensorflow-GPU 容器
在另一个新的 Ubuntu 终端中运行:
docker run -u $(id -u):$(id -g) -it --gpus all -p 8888:8888 tensorflow/tensorflow:latest-gpu-py3-jupyter
如果一切正常,终端最终会给出一个带有token的jupter notebook地址。复制并在浏览器中打开,我们成功打开了一个运行Tensorflow的GPU加速的Jupyter notebook:
现在我们可以在这个 Windows Ubuntu 子系统环境中编写、测试和运行支持 CUDA 的 Tensorflow!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。