windows 还是挺有意思的,搞了一个 linux 子系统在里面,以前以为只是个单独的虚拟机,用了一段时间感觉还不错。与 windows 结合的比较紧密,包括磁盘的映射,服务的穿透等,还是比较丝滑的,基本感觉不到是 2 个系统的割裂存在。
所以想进一步挖掘下,能否用来搞 3d 图形开发 /应用,甚至利用多 GPU/Cuda 来跑机器学习训练?另外,应该用 wsl1 好还是 wsl2 更好?
1
Saxton 2021-12-25 10:43:36 +08:00
wsl2 无脑冲就完事了
|
2
thinkershare 2021-12-25 10:48:38 +08:00
有的, 我长时间使用 WSL2, 已经用了一年了, 没啥问题, 图像程序也没啥问题
|
3
James369 OP @thinkershare 准备改变一下工作方式,以前都是 linux 当宿主机再跑 win 虚拟机,哈
|
4
James369 OP 就是 GPU 要从宿主机穿进虚拟机,不知道性能损失怎么样?,buffer 不知道拷贝了多少次
|
5
padeoe 2021-12-25 12:02:43 +08:00
现在还是测试版吧,在里面装了 nvidia-docker 跑 torch 程序,吃掉巨量内存还卡着不动,同样的容器 linux 就没问题,所以是 wsl2 的 bug ,放弃了,哪天稳定版了再考虑
|
6
ch2 2021-12-25 12:04:14 +08:00
你说的都是 2 代专属的
|
7
interim 2021-12-25 12:17:39 +08:00
需要安装测试版驱动,5 开头的驱动版本,支持 gpu 直通
|
8
wwqgtxx 2021-12-25 12:26:23 +08:00
@chnyuwen 如果是 wsl2 跑 cuda 的话,R495 驱动就已经支持了,配合 win10 21h2 或者 win11 即可,至于完整的 gpu passthrough 好像也没见到又这方面的新闻吧
|
9
leaves98 2021-12-25 14:17:12 +08:00 1
|
10
nightwitch 2021-12-25 14:56:16 +08:00
都可以用,都用的不开心。
3D 图形开发,Linux 下只有 OpenGL 和 Vulkan 可以用,DX 是没有的。 机器 /深度学习 Windows 有显存上的限制,可用的显存比 Linux 上要小,本来显存对于训练就很吃紧,windows 再预留 20%没得玩了 |
11
whywaoxaks 2021-12-25 14:57:50 +08:00
装 docker 就给我劝退了,为啥必须得在 win 下装,不能直接在 wsl 里装。。
|
12
lysS 2021-12-25 15:16:59 +08:00
磁盘 io 好像资源 75%的性能,cpu ,gpu 优化得很好
|
13
lysS 2021-12-25 15:17:45 +08:00
@whywaoxaks 可以直接在 wsl 里装,只不过没有 systemctl ,得用 service 启动
|
14
CrazyRundong 2021-12-25 16:10:26 +08:00
wsl2 可以用 cuda ,日常轻量 debug 还行,真要训练也就图一乐
|
15
LeeReamond 2021-12-25 17:16:01 +08:00
有个疑问谁能给我解答一下,虚拟机不是装不上显卡驱动的吗。。
|
16
momocraft 2021-12-25 17:26:08 +08:00
我 wsl2 才开始用 不知道 wsl1
opengl 直接可以用 CUDA 不支持 wsl2 和 tf 的较新版本 |
17
sujin190 2021-12-25 22:35:41 +08:00
@LeeReamond #15 win11 的 wsl 已经可以装了,主机和 wsl 都能同时识别出显卡来了,tensorflow 跑起来很正常
|
18
ByteCat 2021-12-26 02:44:55 +08:00
跑 CUDA 炼丹没问题,见 https://www.imbytecat.com/arch-linux-for-wsl2-bbac09e473044bf7934357267bbcb4d1
运行 GUI 程序也没问题,就是缩放之后有点糊 |
19
ywy12345 2021-12-26 14:05:16 +08:00 via iPhone
docker 也是虚拟机,为啥比 wsl2 轻量?
|
20
James369 OP @ywy12345 确实,安装 docker desktop 之后发现,win10 上的 docker 其实 backend 后端就是基于 wsl2 的。
不过发现还是挺绕的,就是 hyper-v ,wsl2 ,ubuntu ,docker 之间的关系。 基本环境如下: 1. win10 启用 wsl2 ,wsl2 安装 ubuntu 子系统。 2. win10 安装 docker desktop. 奇怪现象 1: ubuntu 里面没有安装 docker ,却可以使用 docker 命令:并且结果和 win10 在 powershell 上输入 docker 命令一样的结果。(后来发现原来是 win10 的 wsl 挂载到了 ubuntu 里面:即: /usr/bin/docker 软链到 /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker ,互相嵌套。当然前提是要在 win10 上先要启动 docker ) 奇怪的现象 2: 打开 Hyper-V 管理器,查看虚拟机列表,竟然是空的。(那么 wsl2 ,ubuntu ,docker 都不算虚拟机?) 还有很多值得研究的东西。。 |
21
wwqgtxx 2021-12-26 22:32:07 +08:00 1
@James369 因为 WSL2 的虚拟机属于 windows-hypervisor-platform
https://docs.microsoft.com/en-us/virtualization/api/hypervisor-platform/hypervisor-platform 本质上并不是一个 Hyper-V 的虚拟机 |
22
Coelacanth 2021-12-29 08:51:45 +08:00
训练跑得还行,不过不是很确定跟 linux 原版上跑得效率相比较如何。
|
23
UchihaJay 2021-12-29 13:59:36 +08:00
我也很好奇,纠结点主要有
1. systemctl 支持不友好。 2. 磁盘性能,数据全放 C 盘? 3. 显存能用 100%? 4. 会不会出现一些奇葩的问题 |