WSL Ubuntu 安装 CUDA 教程
WSL Ubuntu 安装 CUDA 教程
- 1. 概述
- 2. 准备工作
- 3. 删除旧的 GPG 密钥
- 4. 安装 CUDA Toolkit
- 4.1 使用 WSL-Ubuntu 包安装(推荐)
- 5. 设置环境变量
- 6. 注意事项
- 7. 参考链接
- 8. 总结
1. 概述
随着 WSL 2 的推出,Windows 用户现在可以在 Windows 子系统 for Linux (WSL) 中运行 Linux 应用程序,并且 NVIDIA 已经为 WSL 2 提供了完整的 CUDA 支持。这意味着你可以在 WSL 2 环境中运行和开发 CUDA 应用程序,而无需修改代码。本文将详细介绍如何在 WSL Ubuntu 中安装 CUDA Toolkit,并避免常见的安装错误。
2. 准备工作
在开始安装之前,请确保你已经完成以下准备工作:
- 安装 WSL 2:确保你的 Windows 系统已经安装了 WSL 2,并且已经安装了 Ubuntu 发行版。
- 安装最新的 NVIDIA 驱动程序:确保你的 Windows 系统已经安装了最新的 NVIDIA GPU 驱动程序。WSL 2 中的 CUDA 支持依赖于 Windows 主机上的 NVIDIA 驱动程序。
3. 删除旧的 GPG 密钥
在安装 CUDA Toolkit 之前,建议先删除旧的 GPG 密钥,以避免潜在的冲突。你可以通过以下命令删除旧的 GPG 密钥:
sudo apt-key del 7fa2af80
4. 安装 CUDA Toolkit
4.1 使用 WSL-Ubuntu 包安装(推荐)
NVIDIA 提供了一个专门为 WSL-Ubuntu 设计的 CUDA Toolkit 安装包,该安装包不会覆盖 WSL 2 环境中已经映射的 NVIDIA 驱动程序。以下是安装步骤:
-
下载并安装 CUDA Toolkit:
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda-repo-wsl-ubuntu-12-8-local_12.8.0-1_amd64.deb sudo dpkg -i cuda-repo-wsl-ubuntu-12-8-local_12.8.0-1_amd64.deb sudo cp /var/cuda-repo-wsl-ubuntu-12-8-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get -y install cuda-toolkit-12-8
-
验证安装:
安装完成后,你可以通过以下命令验证 CUDA 是否安装成功:
nvcc --version
如果安装成功,你应该能够看到 CUDA 编译器的版本信息。
-
检查 CUDA 版本信息:
你还可以通过以下命令查看详细的 CUDA 版本信息:
cat /usr/local/cuda/version.json
该命令会输出一个 JSON 文件,其中包含了 CUDA 及其相关组件的版本信息。例如:
{ "cuda" : { "name" : "CUDA SDK", "version" : "12.8.0" }, "cuda_cccl" : { "name" : "CUDA C++ Core Compute Libraries", "version" : "12.8.55" }, "cuda_cudart" : { "name" : "CUDA Runtime (cudart)", "version" : "12.8.57" }, "cuda_cuobjdump" : { "name" : "cuobjdump", "version" : "12.8.55" }, "cuda_cupti" : { "name" : "CUPTI", "version" : "12.8.57" }, "cuda_cuxxfilt" : { "name" : "CUDA cu++ filt", "version" : "12.8.55" }, "cuda_demo_suite" : { "name" : "CUDA Demo Suite", "version" : "12.8.55" }, "cuda_gdb" : { "name" : "CUDA GDB", "version" : "12.8.55" }, "cuda_nsight" : { "name" : "Nsight Eclipse Plugins", "version" : "12.8.55" }, "cuda_nvcc" : { "name" : "CUDA NVCC", "version" : "12.8.61" }, "cuda_nvdisasm" : { "name" : "CUDA nvdisasm", "version" : "12.8.55" }, "cuda_nvml_dev" : { "name" : "CUDA NVML Headers", "version" : "12.8.55" }, "cuda_nvprof" : { "name" : "CUDA nvprof", "version" : "12.8.57" }, "cuda_nvprune" : { "name" : "CUDA nvprune", "version" : "12.8.55" }, "cuda_nvrtc" : { "name" : "CUDA NVRTC", "version" : "12.8.61" }, "cuda_nvtx" : { "name" : "CUDA NVTX", "version" : "12.8.55" }, "cuda_nvvp" : { "name" : "CUDA NVVP", "version" : "12.8.57" }, "cuda_opencl" : { "name" : "CUDA OpenCL", "version" : "12.8.55" }, "cuda_sanitizer_api" : { "name" : "CUDA Compute Sanitizer API", "version" : "12.8.55" }, "libcublas" : { "name" : "CUDA cuBLAS", "version" : "12.8.3.14" }, "libcufft" : { "name" : "CUDA cuFFT", "version" : "11.3.3.41" }, "libcufile" : { "name" : "GPUDirect Storage (cufile)", "version" : "1.13.0.11" }, "libcurand" : { "name" : "CUDA cuRAND", "version" : "10.3.9.55" }, "libcusolver" : { "name" : "CUDA cuSOLVER", "version" : "11.7.2.55" }, "libcusparse" : { "name" : "CUDA cuSPARSE", "version" : "12.5.7.53" }, "libnpp" : { "name" : "CUDA NPP", "version" : "12.3.3.65" }, "libnvfatbin" : { "name" : "Fatbin interaction library", "version" : "12.8.55" }, "libnvjitlink" : { "name" : "JIT Linker Library", "version" : "12.8.61" }, "libnvjpeg" : { "name" : "CUDA nvJPEG", "version" : "12.3.5.57" }, "nsight_compute" : { "name" : "Nsight Compute", "version" : "2025.1.0.14" }, "nsight_systems" : { "name" : "Nsight Systems", "version" : "2024.6.2.225" }, "nvidia_fs" : { "name" : "NVIDIA file-system", "version" : "2.24.2" } }
如果能够看到类似的输出,说明 CUDA 已经成功安装。
5. 设置环境变量
为了确保系统能够正确识别 CUDA 的路径,你需要设置以下环境变量。将以下内容添加到你的 ~/.bashrc
文件中:
export CUDA_HOME="/usr/local/cuda-12.8"
export CuDNN_HOME="/usr/local/cuda-12.8/include"
export PATH="/usr/local/cuda-12.8/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH"
添加完成后,运行以下命令使配置生效:
source ~/.bashrc
6. 注意事项
- 不要安装 NVIDIA Linux 驱动程序:WSL 2 环境中的 CUDA 驱动程序是通过 Windows 主机上的 NVIDIA 驱动程序映射的,因此不要在 WSL 2 中安装任何 NVIDIA Linux 驱动程序。
- 避免覆盖驱动程序:默认的 CUDA Toolkit 安装包可能会包含驱动程序,因此在安装时务必使用专门为 WSL-Ubuntu 设计的安装包,以避免覆盖 WSL 2 中的 NVIDIA 驱动程序。
7. 参考链接
- NVIDIA CUDA on WSL 2 用户指南
- CUDA Toolkit 下载页面
- WSL 2 での CUDA 環境構築 (Qiita)
8. 总结
通过本文的步骤,你应该已经成功在 WSL Ubuntu 中安装了 CUDA Toolkit,并且可以开始开发和运行 CUDA 应用程序。WSL 2 的 CUDA 支持为开发者提供了一个便捷的环境,使得在 Windows 系统上进行 CUDA 开发变得更加容易。如果你在安装过程中遇到任何问题,可以参考 NVIDIA 的官方文档或社区论坛获取帮助。