windows部署ubuntu wsl2子系统并调用windows GPU
最近天天想跑一下github上的热门repo,实验室的电脑太少了导致不得不充分利用一下工位上的windwos电脑,把windows部署docker并跑wsl2调GPU的过程总结一下~
安装前提
- 需要win10 22H2或win11 pro以上的版本
- 需要将nvidia更新为最新的驱动
安装docker desktop
Docker下载地址:docker官网下载地址
启用hyper-v:微软教程官网。
Shift + Ctrl + ESC 启动任务管理器,查看
性能-虚拟化
是否启用。安装docker
如果需要配置docker镜像加速,推荐阿里云:容器镜像服务 (aliyun.com)
安装wsl2
执行以下命令, 将wsl升级为wsl2:
1 | wsl --update |
执行以下命令确认版本均为2:1
wsl -l -v
安装linux子系统
- 打开微软商店。搜索【Ubuntu】或【linux】都可以,安装tls长期支持版即可。
- 打开子系统并进行配置
- 设置默认使用root登录
管理员权限打开【powershell】
运行:ubuntu2004.exe config --default-user root
然后再打开的时候就可以看到默认登录用户为【root】。 - 将Ubuntu2004设置为默认wsl,执行
wslconfig /setdefault Ubuntu-20.04
- docker配置ubuntu20.04 LTS
配置ssh链接
因为有局域网访问的需求,故需要配置远程ssh链接。
打开powershell,执行代码,其中
172.27.155.153
是wsl的dockerIP1
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=2222 connectaddress=172.27.155.153 connectport=22
listenport不要设为22,否则会有bug
查看windows宿主机端口转发情况:
1
netsh interface portproxy show all
当然,如果配置错的话可以删除:
1
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=2222
GPU的使用
请确保打开开发人员模式
windows更新到最新版本,并开启可选更新
显卡驱动下载
首先需要安装显卡驱动,NVIDIA官网下载地址。
找到自己的显卡型号下载安装即可。CUDA For WSL
驱动下载:NVIDIA官网文档,找到对应版本下载安装即可。在Ubuntu中安装cuda toolkit
CUDA Toolkit Archive | NVIDIA Developer在这里找对应的版本,选择x86_64 ws-ubuntu系统选择对应的安装方式即可。配置权限
完成第三步后如果用root账户登录直接置执行
nvidia-smi
可以正常使用cuda,但是用普通账户会报错Command 'nvidia-smi' not found, but can be installed with:xxx
,如果需要用普通账户访问需要还需要配置权限,执行以下梁行代码:1
2cp /usr/lib/wsl/lib/nvidia-smi /usr/bin/nvidia-smi
chmod ogu+x /usr/bin/nvidia-smi然后在执行
nvidia-smi
配置成功~