有 v 友用 wsl 来做 3d 图形或 AI 训练的吗?

2021-12-25 10:28:57 +08:00
 James369

windows 还是挺有意思的,搞了一个 linux 子系统在里面,以前以为只是个单独的虚拟机,用了一段时间感觉还不错。与 windows 结合的比较紧密,包括磁盘的映射,服务的穿透等,还是比较丝滑的,基本感觉不到是 2 个系统的割裂存在。

所以想进一步挖掘下,能否用来搞 3d 图形开发 /应用,甚至利用多 GPU/Cuda 来跑机器学习训练?另外,应该用 wsl1 好还是 wsl2 更好?

4471 次点击
所在节点    程序员
24 条回复
Saxton
2021-12-25 10:43:36 +08:00
wsl2 无脑冲就完事了
thinkershare
2021-12-25 10:48:38 +08:00
有的, 我长时间使用 WSL2, 已经用了一年了, 没啥问题, 图像程序也没啥问题
James369
2021-12-25 10:59:55 +08:00
@thinkershare 准备改变一下工作方式,以前都是 linux 当宿主机再跑 win 虚拟机,哈
James369
2021-12-25 11:39:17 +08:00
就是 GPU 要从宿主机穿进虚拟机,不知道性能损失怎么样?,buffer 不知道拷贝了多少次
padeoe
2021-12-25 12:02:43 +08:00
现在还是测试版吧,在里面装了 nvidia-docker 跑 torch 程序,吃掉巨量内存还卡着不动,同样的容器 linux 就没问题,所以是 wsl2 的 bug ,放弃了,哪天稳定版了再考虑
ch2
2021-12-25 12:04:14 +08:00
你说的都是 2 代专属的
interim
2021-12-25 12:17:39 +08:00
需要安装测试版驱动,5 开头的驱动版本,支持 gpu 直通
wwqgtxx
2021-12-25 12:26:23 +08:00
@chnyuwen 如果是 wsl2 跑 cuda 的话,R495 驱动就已经支持了,配合 win10 21h2 或者 win11 即可,至于完整的 gpu passthrough 好像也没见到又这方面的新闻吧
leaves98
2021-12-25 14:17:12 +08:00
可以的,与原生差距不大了,越跑满差距越小。
https://developer.nvidia.com/blog/leveling-up-cuda-performance-on-wsl2-with-new-enhancements/
nightwitch
2021-12-25 14:56:16 +08:00
都可以用,都用的不开心。

3D 图形开发,Linux 下只有 OpenGL 和 Vulkan 可以用,DX 是没有的。
机器 /深度学习 Windows 有显存上的限制,可用的显存比 Linux 上要小,本来显存对于训练就很吃紧,windows 再预留 20%没得玩了
whywaoxaks
2021-12-25 14:57:50 +08:00
装 docker 就给我劝退了,为啥必须得在 win 下装,不能直接在 wsl 里装。。
lysS
2021-12-25 15:16:59 +08:00
磁盘 io 好像资源 75%的性能,cpu ,gpu 优化得很好
lysS
2021-12-25 15:17:45 +08:00
@whywaoxaks 可以直接在 wsl 里装,只不过没有 systemctl ,得用 service 启动
CrazyRundong
2021-12-25 16:10:26 +08:00
wsl2 可以用 cuda ,日常轻量 debug 还行,真要训练也就图一乐
LeeReamond
2021-12-25 17:16:01 +08:00
有个疑问谁能给我解答一下,虚拟机不是装不上显卡驱动的吗。。
momocraft
2021-12-25 17:26:08 +08:00
我 wsl2 才开始用 不知道 wsl1
opengl 直接可以用
CUDA 不支持 wsl2 和 tf 的较新版本
sujin190
2021-12-25 22:35:41 +08:00
@LeeReamond #15 win11 的 wsl 已经可以装了,主机和 wsl 都能同时识别出显卡来了,tensorflow 跑起来很正常
ByteCat
2021-12-26 02:44:55 +08:00
跑 CUDA 炼丹没问题,见 https://www.imbytecat.com/arch-linux-for-wsl2-bbac09e473044bf7934357267bbcb4d1
运行 GUI 程序也没问题,就是缩放之后有点糊
ywy12345
2021-12-26 14:05:16 +08:00
docker 也是虚拟机,为啥比 wsl2 轻量?
James369
2021-12-26 17:40:02 +08:00
@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 都不算虚拟机?)

还有很多值得研究的东西。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/824356

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX