• 请不要在回答技术问题时复制粘贴 AI 生成的内容
James369
V2EX  ›  程序员

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

  •  
  •   James369 · Dec 25, 2021 · 5747 views
    This topic created in 1625 days ago, the information mentioned may be changed or developed.

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

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

    Supplement 1  ·  Dec 26, 2021
    诶,既然 docker 也支持 GPU/cuda ,那么基于 docker 的方式岂不是比 wsl2 更加轻量?
    准备明天玩玩试试。。
    24 replies    2021-12-29 20:50:01 +08:00
    Saxton
        1
    Saxton  
       Dec 25, 2021
    wsl2 无脑冲就完事了
    thinkershare
        2
    thinkershare  
       Dec 25, 2021
    有的, 我长时间使用 WSL2, 已经用了一年了, 没啥问题, 图像程序也没啥问题
    James369
        3
    James369  
    OP
       Dec 25, 2021
    @thinkershare 准备改变一下工作方式,以前都是 linux 当宿主机再跑 win 虚拟机,哈
    James369
        4
    James369  
    OP
       Dec 25, 2021
    就是 GPU 要从宿主机穿进虚拟机,不知道性能损失怎么样?,buffer 不知道拷贝了多少次
    padeoe
        5
    padeoe  
       Dec 25, 2021
    现在还是测试版吧,在里面装了 nvidia-docker 跑 torch 程序,吃掉巨量内存还卡着不动,同样的容器 linux 就没问题,所以是 wsl2 的 bug ,放弃了,哪天稳定版了再考虑
    ch2
        6
    ch2  
       Dec 25, 2021
    你说的都是 2 代专属的
    interim
        7
    interim  
       Dec 25, 2021
    需要安装测试版驱动,5 开头的驱动版本,支持 gpu 直通
    wwqgtxx
        8
    wwqgtxx  
       Dec 25, 2021
    @chnyuwen 如果是 wsl2 跑 cuda 的话,R495 驱动就已经支持了,配合 win10 21h2 或者 win11 即可,至于完整的 gpu passthrough 好像也没见到又这方面的新闻吧
    leaves98
        9
    leaves98  
       Dec 25, 2021   ❤️ 1
    可以的,与原生差距不大了,越跑满差距越小。
    https://developer.nvidia.com/blog/leveling-up-cuda-performance-on-wsl2-with-new-enhancements/
    nightwitch
        10
    nightwitch  
       Dec 25, 2021
    都可以用,都用的不开心。

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

    还有很多值得研究的东西。。
    wwqgtxx
        21
    wwqgtxx  
       Dec 26, 2021   ❤️ 1
    @James369 因为 WSL2 的虚拟机属于 windows-hypervisor-platform
    https://docs.microsoft.com/en-us/virtualization/api/hypervisor-platform/hypervisor-platform
    本质上并不是一个 Hyper-V 的虚拟机
    Coelacanth
        22
    Coelacanth  
       Dec 29, 2021
    训练跑得还行,不过不是很确定跟 linux 原版上跑得效率相比较如何。
    UchihaJay
        23
    UchihaJay  
       Dec 29, 2021
    我也很好奇,纠结点主要有
    1. systemctl 支持不友好。
    2. 磁盘性能,数据全放 C 盘?
    3. 显存能用 100%?
    4. 会不会出现一些奇葩的问题
    wwqgtxx
        24
    wwqgtxx  
       Dec 29, 2021
    @UchihaJay 直到现在 WSL2 也没支持 systemd 吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2862 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 128ms · UTC 08:10 · PVG 16:10 · LAX 01:10 · JFK 04:10
    ♥ Do have faith in what you're doing.