在 WSL2(archlinux) 及 Podman 中启用 Nvidia GPU 加速

在 WSL2 环境中使用 Podman 进行容器化开发时,启用 Nvidia GPU 加速可以显著提升机器学习、深度学习和其他 GPU 密集型应用的性能。本文将详细介绍在 Arch Linux WSL2 环境中配置 Podman GPU 支持的完整流程。

前置条件

在开始配置之前,请确保您的环境满足以下要求:

  • Windows 10/11 with WSL2 enabled
  • 支持 CUDA 的 Nvidia 显卡
  • 已安装 Arch Linux WSL2 发行版
  • 已安装 Podman

配置步骤

1. 安装 Windows 端 Nvidia 驱动

首先需要在 Windows 主机上安装最新的 Nvidia 驱动程序。请访问 Nvidia 官网 下载并安装适合您显卡型号的最新驱动。

2. 在 WSL2 中安装 nvidia-utils

在 Arch Linux WSL2 环境中,安装 nvidia-utils 包来提供必要的 GPU 支持:

sudo pacman -S nvidia-utils

这个包提供了与 Windows 端 Nvidia 驱动通信所需的库文件和工具。

3. 验证 GPU 可用性

安装完成后,可以通过以下命令验证 GPU 是否正确识别:

nvidia-smi

如果配置正确,您应该能看到类似以下的输出,显示您的显卡信息和当前状态。

Wed Jul 23 11:52:02 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 575.64.03              Driver Version: 576.88         CUDA Version: 12.9     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 2080 ...    On  |   00000000:01:00.0  On |                  N/A |
|  0%   53C    P0             65W /  260W |     725MiB /   8192MiB |      2%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A              32      G   /Xwayland                             N/A      |
+-----------------------------------------------------------------------------------------+

4. 配置 Podman GPU 支持

确保 Podman 已正确安装并配置。如果尚未安装,可以使用:

sudo pacman -S podman

5. 测试 GPU 加速功能

使用以下命令测试 Podman 中的 GPU 加速是否正常工作:

podman run --rm --device nvidia.com/gpu=all docker.io/nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi

如果一切配置正确,这个命令将:

  1. 下载 Nvidia CUDA 基础镜像
  2. 在容器中运行 nvidia-smi 命令
  3. 显示 GPU 信息,证明容器可以访问宿主机的 GPU

后续使用

配置完成后,您就可以在 Podman 容器中运行各种 GPU 加速的应用,如:

  • TensorFlow/PyTorch 深度学习训练
  • CUDA 并行计算程序
  • GPU 加速的数据处理任务

使用时记得在 podman run 命令中添加 --device nvidia.com/gpu=all 参数来启用 GPU 访问。 如果在 compose 文件中使用,则需要添加 devices 配置:

devices:
  - nvidia.com/gpu=all
0%