在win11下创建可以运行gpu的docker容器

0. WSL2安装

WSL(Windows Subsystem for Linux)可以让开发者们在win10系统中运行Linux环境,包括Linux命令行及应用等,个人感觉WSL和虚拟机很相似。在之前,WSL一直是不支持使用CUDA的,也就是无法用GPU来进行计算。今年6月,Nvidia推出了CUDA on WSL,使WSL中可以使用GPU了。

0.1 开启Hyper-V

0.2 启动组件安装

以管理员身份打开 powershell

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

然后重启

下载并安装适用于 x64 计算机的最新 WSL2 Linux 内核更新包

https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package

打开 powershell,运行如下命令以将 wsl 的默认版本设置为 WSL 2:

wsl --set-default-version 2

0.3 下载Linux分发版

在微软商店内下载linux分发版,比如Ubuntu20.04LTS

1. docker安装

https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe

2. WSL2 cudaToolKit安装

2.1 windows下显卡驱动安装

下载并安装适配的驱动版本

https://www.nvidia.com/download/index.aspx

2.2 在WSL内部安装 cudaToolKit

PS: 选择与WSL适配的cudaToolKit版本

进入到WSL,运行以下命令:

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-4-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

这时候nvcc -V显示不出来,需要在~/.bashrc文件下做环境变量的配置。vim ~/.bashrc 在最下面添加这几行

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PAT
znsz@WIN-VJ77RBRSI1K:/usr/local$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Wed_Jun__2_19:15:15_PDT_2021
Cuda compilation tools, release 11.4, V11.4.48
Build cuda_11.4.r11.4/compiler.30033411_0

3 用docker创建一个带有pytorch-gpu环境的容器

进入到docker-hub选取适配的cuda版本

https://hub.docker.com/r/pytorch/pytorch/tags?page=1&ordering=last_updated

在windows终端运行,拉取镜像

docker pull pytorch/pytorch:1.11.0-cuda11.3-cudnn8-devel

创建容器

docker run -i -t --gpus all pytorch:pytorch:1.11.0-cuda11.3-cudnn8-devel

猜你喜欢

转载自blog.csdn.net/weixin_42990464/article/details/125197672