目前CUDA ToolKit需要切换到WSL2,在WLS1下不支持。之前折腾了很久,才从WSL1的坑中爬出来,仅写此文避免大家再从坑里走一次。
Windows WSL2相关
检查正在运行的 WSL 版本
可列出已安装的 Linux 发行版,并通过在 PowerShell 或 Windows 命令提示符中输入以下命令来检查每个发行版的 WSL 版本。
> wsl -l -v
NAME STATE VERSION
* Ubuntu-22.04 Running 2
比如我电脑里的运行结果时Ubuntu-22.04, Version 2
启用虚拟机功能
安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。
以管理员身份打开 PowerShell 并运行:
> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
安装或升级WSL2
使用 wsl --install
命令安装的新 Linux 安装将默认设置为 WSL 2。
wsl --set-version
命令可用于从 WSL 2 降级到 WSL 1,或将以前安装的 Linux 发行版从 WSL 1 更新到 WSL 2。
要查看 Linux 发行版是设置为 WSL 1 还是 WSL 2,请使用命令 wsl -l -v
。
要更改版本,请使用 wsl --set-version <distro name> 2
命令将 <distro name>
替换为要更新的 Linux 发行版的名称。 例如,如下命令会将 Ubuntu 22.04 发行版设置为使用 WSL 2。
> wsl --set-version Ubuntu-22.04 2
有关与 WSL 2 关键区别的信息,请访问 https://aka.ms/wsl2
正在进行转换,这可能需要几分钟时间。
操作成功完成。
> wsl -l -v
NAME STATE VERSION
* Ubuntu-22.04 Running 2
CUDA Toolkit相关(仅WSL2可用)
验证Nvidia环境
在WSL-Ubuntu中输入命令,查看是否可以出现图片中的结果。如果可以,说明环境已经是OK的,CUDA环境都不需要安装了。
> nvidia-smi
安装CUDA环境
CUDA安装链接
因为是安装WSL,所以选择WSL-Ubuntu;Version目前只有2.0,Installer Type看自己心情,我选的是通过network安装。
目前使用的安装指令如下:
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-3
配置环境变量
一般Ubuntu默认的bash做为命令行终端,所以把环境变量配置到.bashrc中即可。
> vi ~/.bashrc
打开后,在靠后的位置,配置上PATH的路径和动态库的查找路径(具体路径需要结合当前的cuda版本和具体路径),之后保存。
export PATH=/usr/local/cuda-12.3/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.3/targets/x86_64-linux/lib/:$LD_LIBRARY_PATH
保存后运行如下命令,进行验证,如果nvcc -V出现如下错误,即表示环境配置成功。
> source ~/.bashrc
> nvcc -V
nvcc fatal : No input files specified; use option --help for more information
引用
- 安装 WSL | Microsoft Learn
- CUDA Toolkit 12.3 Downloads | NVIDIA Developer
- Windows安装WSL2并配置nVidia GPU - 知乎