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

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教程中的

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值