如何在Windows 11上的WSL2做到GPU直通,并用Deepracer本地训练炸干电脑的资源(显卡降价了,618等等党还等什么,一起来加入Deepracer的比赛学习交流吧)

本文详细介绍了如何在Windows 11的WSL2环境下,通过Docker和Nvidia-docker2配置GPU直通,用于Deepracer的本地训练。内容涵盖Docker的安装、CUDA的安装、镜像文件移动、VcXsrv X服务器配置等步骤,旨在帮助用户充分利用GPU资源进行机器学习训练。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

image


目录


第一步: 安装Docker

下面两种安装docker环境的方式中选其一

方式一: 下载Docker Desktop并配置Nvidia-docker2

1.1 下载并安装 Docker Desktop

docker的官方网站下载并安装:
image

1.2 在Docker Desktop中配置Nvidia docker环境

1.2.1 用下面的命令行代码在WSL2的环境中安装nvidia-docker2:

在WSL2 terminal中输入

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
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo sed -i 's/#swarm-resource = "DOCKER_RESOURCE_GPU"/swarm-resource = "DOCKER_RESOURCE_GPU"/' /etc/nvidia-container-runtime/config.toml

1.2.2 在docker desktop界面修改Docker daemon配置文件添加使用nvidia容器的部分

打开 Docker Desktop:
image

点击右上角那个齿轮文件打开设置菜单:
image

选择Docker Engine选项
image

复制下面的内容到文本编辑框中:

注意逗号也要复制而且要粘贴到"buildkit": true }的大括号后面

,
  "default-runtime": "nvidia",
  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  }

注意整个json文本框里的内容应类似下面这样:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "default-runtime": "nvidia",
  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}

然后点击Apply and Restart,注意这里如果是编辑框中如果出现语法错误,那么Apply and Restart这个按键会是灰色不可点击的,请修改格式正确后继续。

image

1.2.3 检查一下WSL2中的docker环境在修改后是否正确运行:

在WSL2 terminal中输入

docker ps

结果应该于下面类似:

CONTAINER ID   IMAGE                COMMAND                  CREATED       STATUS       PORTS      NAMES

1.2.4 故障排除:

如果出现下面的故障

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock:

请运行

在WSL2 terminal中输入

sudo chmod 666 /var/run/docker.sock

附加步骤: 如果docker desktop软件和WSL2没有联通

进入docker desktop的设置界面然后找到Resources选项:
image

在Resources选项中找到”WSL INTERGRATION“,查看”Enble intergration with my default WSL distro"是否勾选,这里需要勾选并开启对应的Linux系统,然后按Apply & Restart:
image


方式 二: 使用 Docker-ce + Nvidia-docker2

2.1 在WSL2 terminal中安装docker-ce:

如果已经安装了docker desktop请忽略此步骤,如果是使用WSL2中原生的docker-ce请根据本步骤配置Nidia-docker2

在WSL2 terminal中输入

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository    "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update && sudo apt-get install -y --no-install-recommends docker-ce docker-ce-cli containerd.io

2.2 在docker-ce中配置Nvidia docker environment

使用下面命令在WSL2 terminal中配置安装nvidia-docker2:

在WSL2 terminal中输入

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
sudo apt-get update
sudo apt-get install -y jq nvidia-docker2
cat /etc/docker/daemon.json | jq 'del(."default-runtime") + {"default-runtime": "nvidia"}' | sudo tee /etc/docker/daemon.json

sudo sed -i 's/#swarm-resource = "DOCKER_RESOURCE_GPU"/swarm-resource = "DOCKER_RESOURCE_GPU"/' /etc/nvidia-container-runtime/config.toml

sudo usermod -a -G docker $(id -un)

在操作完成后请根据Deepracer for cloud的Windows环境配置wiki教程中的

WSLWindows Subsystem for Linux)是一种允许用户在Windows操作系统上直接运行Linux环境的技术。WSL2WSL的最新版本,它引入了虚拟机技术,使得用户体验更接近于在Linux上运行。现在,让我们来看看如何在Windows 10或Windows 11上安装WSL2,以及如何将现有的WSL1升级到WSL2。 参考资源链接:[WSL2详解:Windows下的Linux子系统安装与升级教程](https://wenku.csdn.net/doc/6o9eetqef4?spm=1055.2569.3001.10343) 首先,为了安装WSL2,你需要确认你的Windows系统满足如下要求: - Windows 10版本至少为2004,构建19041或更高。 - Windows 11。 接下来,按照以下步骤操作: 1. 启用WSL功能: 打开“控制面板” -> “程序” -> “启用或关闭Windows功能”,找到并勾选“适用于Linux的Windows子系统”,点击确定并重启电脑2. 安装WSL2内核组件: 打开“控制面板” -> “程序和功能” -> “启用或关闭Windows功能”,勾选“虚拟机平台”,点击确定并重启电脑。 3. 设置WSL2为默认版本: 通过管理员权限打开PowerShell,输入命令`wsl --set-default-version 2`,将默认的WSL版本设置为WSL2。 4. 安装Linux发行版: 打开Microsoft Store,搜索你想要的Linux发行版,例如Ubuntu,点击获取并安装。安装完成后,通过Store或PowerShell启动它,并完成初始化设置。 如果你已经安装了WSL1,并希望升级到WSL2,可以按照以下步骤进行: 1. 启用WSL2内核组件(如上所述)。 2. 升级现有的WSL1实例到WSL2: 在PowerShell中输入命令`wsl --set-version <distribution name> 2`(将<distribution name>替换为你的Linux发行版名称),系统将会把指定的WSL1实例转换为WSL2。 完成以上步骤后,你的WSL版本应该已经是WSL2了。如果你想要检查当前的WSL版本,可以在PowerShell中输入命令`wsl -l -v`,查看所有已安装的WSL发行版及其版本信息。 为了更好地理解这一过程和解决可能出现的问题,你可以参考这份资料:《WSL2详解:Windows下的Linux子系统安装与升级教程》。本手册不仅详细介绍了WSL2的安装过程,还涵盖了WSL的各种特性和使用技巧,让你能够更加深入地掌握WSL技术。 参考资源链接:[WSL2详解:Windows下的Linux子系统安装与升级教程](https://wenku.csdn.net/doc/6o9eetqef4?spm=1055.2569.3001.10343)
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值