type
status
date
slug
summary
tags
category
icon
password
AI summary

前提条件

  1. Windows 10 版本 21H2 或更高版本或者 Win 11
  1. NVIDIA 的显卡
  1. WSL 2 上安装的是 Ubuntu 20.04 或更高版本
  1. Windows 已经安装了 Nvidia 的驱动程序
⚠️
驱动程序需要适用于 WSL,即能使用虚拟 GPU,因为在 WSL 上,使用的 CUDA 驱动程序是系统上安装的 Windows 驱动程序的一部分,目前电脑最新的驱动程序基本上都是支持的
在进行测试安装时,本地配置为 Windows 11;安装的是 WSL2,系统为 Ubuntu 22.04;Windows 已经安装最新的 Nvidia 驱动程序。

自定义安装 WSL 🌟

顺便写一下之前是如何自定义安装 WSL 的,即非 C 盘安装。
  1. 按照 https://learn.microsoft.com/zh-cn/windows/wsl/install-manual 执行完步骤五(步骤三之后重启电脑)
  1. 下载发行版 这个标题下选择一个版本进行安装
    1. 安装之后得到的是 .appx 之类后缀的压缩包
    2. 解压,得到两个架构的 .appx Ubuntu
    3. 解压 x64 的 .appx
    4. 点击 ubuntu.exe 进行安装
ok,这就安装好了,适用于之前未安装过 WSL 的,如果之前通过任何方式安装过,需要将相关旧文件都删除,还挺麻烦的,删不干净安装可能会报错等!

安装 CUDA

确定支持的版本

首先在终端中输入 nvidia-smi 来获取目前显卡支持的最高 cuda 的版本,如图,目前我的电脑支持使用的最高 CUDA 版本是 12.6。
notion image
📌
nvidia-smi 命令需要在安装驱动后才能使用

在 Ubuntu 上安装 NVIDIA CUDA

通常,Linux 版 CUDA 工具包会附带打包 GPU 的设备驱动程序。但在 WSL 2 上,使用的 CUDA 驱动程序是系统上安装的 Windows 驱动程序的一部分,因此必须注意不能直接使用 apt-get install cuda 的形式安装 CUDA,直接从 Ubuntu 存储库安装 CUDA 工具包软件包将导致安装 Linux NVIDIA 显卡驱动程序,这不适用于 WSL21
  1. 首先删除旧的 GPG 密钥:
    1. 下载 CUDA 安装优先级文件:这个文件定义了 APT 包管理器在安装过程中如何为 CUDA 软件包设置优先级,以确保 CUDA 包在系统中的高优先级处理。
      1. 移动优先级文件到指定目录:这个目录用于存放 APT 包的优先级配置文件,确保 CUDA 包的优先级比其他包更高,避免安装其他版本时发生冲突。
        1. 获取 NVIDIA 的 GPG 密钥:APT 包管理器使用 GPG 公钥来验证从远程仓库下载的软件包的真实性和完整性。这里下载的是 NVIDIA 提供的公钥,保证从 NVIDIA 服务器下载的 CUDA 软件包是安全和可信的。
          1. 添加 CUDA 软件源到系统:添加 NVIDIA 的 CUDA 软件源到 APT 包管理器中,使得我们可以从这个源中直接安装 CUDA 相关的软件包。
            1. 更新 APT 包索引和安装 CUDA 工具包
              1. 首先查看目前可用的 CUDA 包的版本,然后根据之前步骤确定的系统支持的最高 CUDA 版本来确定安装的版本。
                notion image
                但同时也要注意,一般要求 Pytorch 支持的 CUDA 版本最好能够和安装的 CUDA 版本一致,虽然有向下兼容性,但是为了后续出现一些 bug,最好选择相同的版本。从图中可以看出目前的 Pytorch 最高仅支持到 12.4 的 CUDA,所以我们选择安装 cuda-toolkit=12.4.1-1
                https://pytorch.org/get-started/locally/
                这里是有一些疑问的,我在进行最后一步安装的是 cuda-toolkit,但是教程给的是 cuda 。因为之前提到 sudo apt-get install cuda 将安装整个 CUDA 软件包,其中包括 CUDA 工具包和必要的 NVIDIA 驱动程序,但是驱动是不必要的,cuda-toolkit 软件包专注于提供创建和构建 CUDA 应用程序所需的开发工具,包括库、头文件和其他资源,不包括驱动程序。1 但是我发现之前添加的CUDA 软件源是单独为 WSL 适配的,可以看到: compute/cuda/repos/wsl-ubuntu/x86_64/ ,所以不清楚使用 apt-get install cuda 进行安装会不会产生什么影响?
            1. 设置环境变量 编辑 ~/.bashrc ,添加以下内容,保存然后执行 source ~/.bashrc
              1. 验证安装
                1. 这个命令将显示已安装的 CUDA 编译器(nvcc)的版本信息。如果成功安装会看到类似如下的输出:

              安装 cuDNN

              在安装好 CUDA 之后,通常还需要安装 cuDNN(CUDA Deep Neural Network library),特别是使用深度学习框架(如 PyTorch 或 TensorFlow)进行 GPU 加速的深度学习任务。

              为什么需要安装 cuDNN?

              cuDNN 是 NVIDIA 提供的一个高性能库,专门优化了深度学习的常见操作,例如卷积运算、池化、归一化和激活函数等。它在 CUDA 的基础上进一步优化了这些操作,使得深度学习框架能够更高效地使用 GPU。
              1. 深度学习框架的依赖:大多数深度学习框架(如 PyTorch 和 TensorFlow)都使用 cuDNN 来加速卷积神经网络等深度学习模型中的常见操作。虽然这些框架可以只使用 CUDA 进行加速,但安装 cuDNN 能够显著提升性能。
              1. 计算效率:cuDNN 对神经网络的操作进行了高度优化,特别是在多层卷积、RNN 等操作中,cuDNN 的性能大大优于只使用 CUDA 的实现。

              下载对应版本的 cuDNN

              首先访问 https://developer.nvidia.com/rdp/cudnn-archive 选择最新版本的 cuDNN
              notion image
              之前安装的是 12.4 版本的 CUDA,所以我们选择第一个进行安装,对于 cuDNN 安装就和普通的 Linux 安装步骤一样,不需要考虑 WSL 的特殊性了,因此我们下载 linux x86_64 的:https://developer.nvidia.com/downloads/compute/cudnn/secure/8.9.7/local_installers/12.x/cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz/

              解压并复制相关文件到指定位置

              1. 解压 .tar.xz 文件

              首先需要将 .tar.xz 文件解压。假设你下载的文件名是 cudnn-linux-x86_64-<version>.tar.xz,可以使用以下命令来解压缩文件:
              这会将文件解压到一个文件夹中,通常会包含 cuda/includecuda/lib64 目录。

              2. 将 cuDNN 文件复制到 CUDA 目录

              接下来,将 cuDNN 的头文件和库复制到 CUDA 安装目录中。通常 CUDA 会安装在 /usr/local/cuda/ 目录下。
              执行以下命令:
              这些命令会将解压出来的 cuDNN 文件复制到系统的 CUDA 安装目录中,确保 cuDNN 的库和头文件正确集成到 CUDA 环境中

              3. 检查 cuDNN 是否安装成功

              安装完成后,你可以通过检查 cudnn_version.h 文件来确认 cuDNN 是否正确安装。执行以下命令:
              你应该会看到类似以下的输出,显示已安装的 cuDNN 版本号:
              这个输出表明你已经成功安装了 cuDNN,并且你当前安装的版本是 8.9.7

              安装 Pytorch

              如之前提到的,访问页面:https://pytorch.org/get-started/locally/,然后选择相应的选项,CUDA 版本选择之前安装的,我这里使用的是 conda,所以最终的命令如下:
              notion image
              💡
              可以看到这里面也有一些 torchvision 等库,可能暂时用不到,可以自行选择安装
              然后就是验证是否安装成功并且设置好 GPU 环境,运行以下代码即可:

              总结

              总的安装过程大概就是:
              1. 确定系统支持的最高的 CUDA 版本
              1. 确定目前 Pytorch 支持哪些 CUDA 的版本
              1. 通过官方给的 WSL 软件源,下载合适版本的 cuda-toolkit
              1. 找到支持选定的 CUDA 版本的 cuDNN
              📌
              这只是安装方法的一种,可以参考下方的参考链接 1 和 2 使用其他方法安装,比如本地 deb 安装等。
              之前的环境在另一个电脑上配置的,也是刚开始学习 DL 时配置的,后面实习、做项目用到卡也都是用的服务器,本地只适合做些小实验和用来学习,所以换新电脑后也没配。最近上人工智能攻防课,需要环境,所以打算在 WSL 中配置,因为 Linux 下写代码还是比 Windows 舒服的。前前后后找了相关文档和教程,问了 AI,总体还是顺利的,没有出现配置错误~

              参考

              1. Enabling GPU acceleration with the NVIDIA CUDA Platform
              1. Nvidia:CUDA on WSL User Guide
              1. Install Tensorflow & Pytorch with CUDA [Linux | WSL2]
              1. Everything About CUDA in WSL2 Ubuntu
              随笔周刊——第 6 期随笔周刊——第 5 期
              Loading...
              huhu
              huhu
              一个喜欢折腾的人👻
              小红书
              最新发布
              随笔周刊——第 19 期
              2025-1-15
              随笔周刊——第 2 期
              2025-1-15
              随笔周刊——第 6 期
              2025-1-15
              Do Emergent Abilities Exist in Quantized Large Language Models
              2025-1-15
              Code Translation
              2025-1-15
              随笔周刊——第 7 期
              2025-1-15
              公告