@
howthen 数据放到 WSL2 的磁盘上了吗?访问宿主文件的性能会比较差。
----------------------------------------------
写给想要尝试 CUDA on WSL2 或 WSLg 的人
i) 关于 GPU 穿透和 CUDA on WSL2,Win11 或 Win10 Dev Channel 不是必须的。虽然几乎所有微软、Nvidia 官方文档都没有更新,这个 feature 其实已经包含在了在 8 月底 Release Preview Channel 发布的 Insider Preview Build 19044.1200 (21H2)里 [1],不需要进入麻烦的 Dev Channel 即可使用,GPU 性能损失足够小。
ii) 关于 WSLg,其实 X11 forwarding 自 WSL1 发布的第一天起就可以使用.当时还有人在 Win10 上开发了一个相对现代,优化了高分屏等一些痛点的 X server 叫 X410,也贡献了一些实用的教程和脚本。
iii) 关于基于 Hyper-V 的 WSL2,使用上基本没有大问题,最近的 VMware 和 VirtualBox 也都适配了 Hyper-V (有性能损失)。不过有一些小坑需要注意,这里随便提几个:a) 访问宿主文件的速度会很慢; b) Win10 抢内存抢不过 WSL2,不过最近的 WSL2 也能有效地释放内存了。有一些 workaround,比如重启 WSL2 或设置可用内存上限; c) 如果配置了 X11 forwarding,较新版本的 pip3 会卡住,使用前需要加上`DISPLAY=`; d) IP 的一系列问题; e) systemd 的一系列问题。
另外,一个对我而言比较新奇的体验是 WSL 和 Win10 的互操作性,在 WSL1 、WLS2 内可以直接调用宿主 Win10 的程序,Win10 下也可调用 WSL 的程序。
1.
https://blogs.windows.com/windows-insider/2021/08/18/announcing-windows-10-insider-preview-build-19044-1198-21h2/