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