在 WSL2 裡面使用 GPU 加速機器學習
微軟在 Microsoft Build 2020 時曾表示,將在 WSL2 中新增支援 NVIDIA CUDA 以及 DirectML 來讓 Linux 中的機器學習應用可以無痛直接放到 WSL2 中使用。
沒想到才過一個月,微軟就在 Windows 10 Insider (20150+, WSL2 Kernel 4.19.121+) 釋出了支援 NVIDIA CUDA 以及 DirectML 的功能,目前 NVIDIA CUDA 看起來是直接跟 NVIDIA 合作並釋出驅動程式來支援在 WSL2 中的 GPU 虛擬化;而 DirectML 則是跟 NVIDIA/AMD/Intel 合作釋出驅動程式[1],並在 TensorFlow 上面實作以 DirectML 為後端的版本,並向上游提交了 Pull Request[2]。
沒想到微軟動作這麼快,看來是真的有在 WSL2 上面投注很多資源想要鞏固整個生態系,對我們這些開發者來說其實也是挺好的,選擇也變多了。XD
ref: https://blogs.windows.com/windowsdeveloper/2020/06/17/gpu-accelerated-ml-training-inside-the-windows-subsystem-for-linux/
ref: https://docs.microsoft.com/zh-tw/windows/win32/direct3d12/gpu-accelerated-training
截至本文發文時間為止,NVIDIA 僅釋出了可使用 CUDA 的驅動,而 DirectML 的版本則尚未釋出。 ↩︎