GPU 與 Docker
這兩項都依賴 WSL 2 的真實 kernel,也是很多人從虛擬機器或 WSL 1 遷過來的原因。
Docker
建議在 Windows 安裝 Docker Desktop,並在設定裡啟用 Use the WSL 2 based engine,再把你的發行版勾進 integration。這樣在 Ubuntu 終端機打 docker/docker compose,引擎跑在 WSL 2 裡,映像與容器也在 Linux 檔案系統。
不要同時在發行版裡再裝一套衝突的 docker-engine,除非你很清楚要停掉 Desktop 的整合。官方入門:Get started with Docker remote containers on WSL 2。
專案目錄同樣放在 ~/...,不要放 /mnt/c,否則 bind mount 會很慢。
GPU 與機器學習
WSL 2 可把 Windows 上的 GPU 分給 Linux 使用。NVIDIA 的做法是:只在 Windows 安裝支援 WSL 的 Game Ready/Studio/Quadro 驅動,不要在 WSL 裡再裝一份 Linux 顯示卡驅動。接著在發行版安裝 CUDA Toolkit 或直接用 NGC 容器。
NVIDIA 說明:CUDA on WSL。Microsoft:GPU acceleration。
確認 GPU 在 WSL 可見(NVIDIA):
PyTorch/TensorFlow 是否看到 CUDA,用各框架自己的裝置查詢。Docker 內要用 GPU 時,需 NVIDIA Container Toolkit,並以 Desktop 的 WSL 後端執行。
Intel/AMD 的 GPU 計算支援範圍與驅動不同,請以當下官方文件為準,不要套用 NVIDIA 的安裝步驟。
官方示範
GPU 加速機器學習(TensorFlow、CUDA、容器)約 16 分鐘:
短片 Build Node.JS apps with WSL(約 3 分鐘)適合對照 Docker/Node 工作流程,見 官方影音。