參考指南:
1 適用於 Linux 的 Windows 子系統安裝指南 (Windows 10)
https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
2 WSL2的Ubuntu中使用CUDA入門教程
https://ubuntu.com/blog/getting-started-with-cuda-on-ubuntu-on-wsl-2
3 Nvidia的WSL用戶指南
https://docs.nvidia.com/cuda/wsl-user-guide/index.html
4 發布可在wsl2上運行的CUDA
https://developer.nvidia.com/blog/announcing-cuda-on-windows-subsystem-for-linux-2/
Windows Subsystem of Linux(WSL)是Windows 10 功能特性之一,提供了一個容器化環境,使用戶能夠直接在 Windows 上運行本機 Linux 命令行工具。WSL 主要是開發人員的工具。如果您正在 Linux 容器中處理計算工作負載,可以使用您熟悉的同一本機 Linux 工具在 Windows PC 上本地開發和測試工作。
借助 WSL 2 和 GPU 遠程化 (GPU-PV) 技術,Microsoft 允許您運行針對 GPU 硬件的計算工作負載,從而在 Windows 上為 Linux 支持添加GPU加速功能。在本文的稍后部分,我們將更詳細地介紹 WSL 2 以及如何添加 GPU。
1 安裝預覽版本NVIDIA驅動
NVIDIA 驅動程序開發團隊向 CUDA 驅動程序添加了對 WDDM 模型和 GPU-PV 的支持,以便能夠在 Windows 上的 Linux 上運行該模型和 GPU-PV。
它仍然是一個預覽驅動程序,不會發布,直到在 Windows 10 中的 WSL 中的官方 GPU 支持發布。有關版本的信息,請參閱CUDA WSL 2 下載。
https://developer.nvidia.com/cuda/wsl/download
2 安裝預覽版本Win10
在設置->更新和安全中,開啟 Microsoft Windows預覽體驗計划,安裝最新的 Windows 版本上的 WSL 版本,並設置容器以 WSL 2 模式運行。
以管理員身份運行PowerShell,執行以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart wsl --set-default-version 2
3 GPU 容器安裝與配置
除了 DirectX 和 CUDA 支持外,NVIDIA 還在 WSL 2 中增加了對 NVIDIA 容器工具包(以前 nvidia-docker2)的支持。數據科學家准備在本地硬件下運行或在雲中執行的容器化 GPU 工作負載現在可以在 Windows PC 上的 WSL 2 內按樣運行。
首先,從應用商店安裝Ubuntu:
如果沒有安裝最新的內核啟動Ubuntu會被阻止,需要對內核進行更新:
通過以下命令對WSL內核進行更新:
wsl.exe --update
安裝docker和cuda工具庫:
$ curl https://get.docker.com | sh
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) $ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - $ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list $ curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container-experimental.list | sudo tee /etc/apt/sources.list.d/libnvidia-container-experimental.list
$ sudo apt-get update $ sudo apt-get install -y nvidia-docker2
運行測試容器:
docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
4 常用wsl命令
# 查看已安裝系統 wsl --list --verbose wsl --set-default-version 2 wsl.exe --list -v command # 查看運行wsl版本 wsl cat /proc/version # 檢查內核版本 wsl.exe --shutdown Ubuntu wsl.exe --update wsl --set-version Ubuntu 2 # 切換發行版運行的WSL版本