在 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
如果一切配置正确,这个命令将:
- 下载 Nvidia CUDA 基础镜像
- 在容器中运行 nvidia-smi 命令
- 显示 GPU 信息,证明容器可以访问宿主机的 GPU
后续使用
配置完成后,您就可以在 Podman 容器中运行各种 GPU 加速的应用,如:
- TensorFlow/PyTorch 深度学习训练
- CUDA 并行计算程序
- GPU 加速的数据处理任务
使用时记得在 podman run
命令中添加 --device nvidia.com/gpu=all
参数来启用 GPU 访问。
如果在 compose 文件中使用,则需要添加 devices
配置:
devices:
- nvidia.com/gpu=all