如果您从事人工智能、数据科学或模拟工作,安装 NVIDIA CUDA 是至关重要的步骤之一。 GPU加速 它使性能成倍增加,今天我将详细而直白地解释如何在 Windows(包括 WSL)和原生 Linux 上进行设置。
您将看到从先决条件和预检查到驱动程序安装、CUDA 工具包、使用 PyTorch 和 Docker 进行测试的所有内容,以及 Miniconda、交换和服务器设置的附加功能。 该指南汇集了最佳实践 并纠正常见的错误,这样您就不会在显而易见的问题上浪费时间。
什么是 CUDA?为什么你可能会关心

CUDA 是 NVIDIA 的并行计算生态系统,它让你的 GPU 不仅仅用于图形处理。它包括 编译器、库和工具 加速深度学习、科学分析或模拟等工作负载。
11.8 或 12.6 等版本附带 性能改进,支持 硬件 reciente、精细的内存管理,以及与 TensorFlow 和 PyTorch 等框架的高度集成。最终成果:为高要求项目提升速度和稳定性。
除了高级库之外,CUDA 运行时还协调内核的执行, 管理 GPU 上的内存 并使您的应用程序能够轻松地使用数千个核心并行扩展。对于现代人工智能工作负载而言,它实际上是基础。
如果你在 Windows 上进行开发,一个关键优势是 WSL2 允许使用 CUDA 在 Ubuntu 或 Debian 等 Linux 发行版中,几乎原生支持 Docker 和 NVIDIA Container Toolkit。对于混合环境来说,这是一个非常强大的选择。
要求和兼容性

在安装任何东西之前,请确保您的硬件和系统满足要求。 您需要一块 NVIDIA GPU 具有 CUDA 11.8 的计算能力 3.0 或更高版本,以及对 12.6 等较新版本的现代支持。
在 Linux 上,您可以使用以下方法检查 GPU 是否存在: LSPCI | grep -i Nvidia如果您想识别 Ubuntu 上推荐的驱动程序,请尝试: ubuntu 驱动程序设备。在 Windows 上,查看 设备管理器 在“显示适配器”中。
就系统而言,CUDA 11.8 已广泛应用于 Windows 10/11 de 64 位 以及 Ubuntu 18.04 和 20.04 等发行版,以及 RHEL/CentOS 7/8。对于 WSL, Windows 11 Windows 10 版本 21H2 或更高版本支持 Linux 子系统中使用 CUDA 进行 GPU 计算。
对于 WSL2,请确保您有一个更新的内核。 需要 5.10.43.3 或更高版本。您可以从 PowerShell的 搭配: wsl cat /proc/version。此外,保持 Windows更新 最新(设置 > Windows 更新 > 检查更新)。
对于记忆,对于训练任务来说, 至少8 GB的RAM 系统配置和 GPU 4GB VRAM,尽管许多型号的配置会更高。此外,还需要 x86_64 CPU 和现代 C++ 编译器(C++14 或更高版本)。
在 Windows 11/10 上使用 WSL2 进行安装
正确的顺序可以避免麻烦:首先启用 WSL 并安装 Linux,然后 适用于 Windows 的 NVIDIA 驱动程序以及 WSL 中的 CUDA 工具包和您的 AI 库。(可选)最后添加 Docker Desktop。
1)使用管理员权限从 PowerShell 启用 WSL: 激活该功能 并在询问时重新启动。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
2)从 PowerShell 将 WSL 内核更新到最新版本: wsl –更新。然后安装您喜欢的发行版(例如,Ubuntu 22.04 LTS):
wsl --install -d Ubuntu-22.04
3)打开新安装的 Ubuntu 应用程序,更新索引和包,并安装基本实用程序。 保持系统更新 减少后续故障。
sudo apt update && sudo apt -y upgrade
4)在 Ubuntu(WSL)中安装 Python pip 和来自官方 repos 的 CUDA Toolkit。 WSL 中未安装 GPU 驱动程序 在 Linux 内核中,这些进入 Windows。
sudo apt -y install python3-pip nvidia-cuda-toolkit
5)将用户脚本的路径添加到 PATH 以避免运行使用 pip 安装的工具时出现问题。 这加快了实用程序的使用 没有绝对路线。
nano ~/.bashrc
# Al final añade, adaptando 'usergpu' a tu usuario
export PATH=/home/usergpu/.local/bin${PATH:+:${PATH}}
# Guarda (Ctrl+O), sal (Ctrl+X) y recarga
source ~/.bashrc
6)安装 适用于 WSL 的 NVIDIA 驱动程序 在 Windows 上,从 NVIDIA/Microsoft 网站下载支持 CUDA 的驱动程序(适用于 WSL 的 GPU 计算驱动程序)。安装后,如有必要,请重新启动 Windows。
7)检查 WSL 中的内核版本以及所有响应: wsl cat /proc/版本如果您使用的是 5.10.43.3 或更高版本,那就太好了。请保持 Windows 更新为最新,以接收 WSL2 改进。
8) 在 Ubuntu (WSL) 中安装支持 CUDA 的 PyTorch。cu118 索引是一个广泛使用且稳定的选项。 这就是如何在笔记本或脚本中利用 GPU.
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
9)在 Python 中快速测试:加载 PyTorch 并检查 CUDA 是否可用以及它检测到多少个 GPU。 这证实了堆栈可以正常工作。.
python3
>>> import torch
>>> torch.cuda.device_count()
# Ejemplo de salida: 1 (o más, según tu equipo)
>>> torch.cuda.is_available()
# Esperado: True
10) WSL 上的带有 GPU 的 Docker:在 Windows 上安装 Docker Desktop,激活它,并从 Ubuntu WSL 运行测试。 NVIDIA 容器工具包 WSL 支持类似 Linux 的场景。
docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody \
nbody -gpu -benchmark -numdevices=1
如果您在多个 GPU 上看到“仅 0 个可用设备”错误,已知的补救措施是禁用并重新启用 视窗设备管理器 (显示适配器 > 操作 > 禁用,然后启用)。然后重复测试。
Linux 上的本机安装(Ubuntu/Mint 及其衍生版本)
在原生 Linux 上,建议的路径是:安装 NVIDIA官方驱动程序然后是 CUDA Toolkit,最后配置环境变量。在最近的版本中,驱动程序的 560 分支和 CUDA 12.6 配合得很好。
1)添加显卡驱动PPA(Ubuntu)并安装560驱动。 重启 让内核加载更新的模块。
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install -y nvidia-driver-560
# Reinicia el equipo
2) 使用 nvidia-smi 验证驱动程序是否正常运行。 它应该显示版本、GPU 和内存 在继续使用 CUDA 之前。
nvidia-smi
3) 安装构建依赖项并下载 CUDA 12.6 安装程序(包含运行文件的示例)。在向导中, 取消选中驱动程序框 如果您已经安装了 560,则应避免冲突。
sudo apt install -y build-essential
wget https://developer.download.nvidia.com/compute/cuda/12.6.3/local_installers/cuda_12.6.3_560.35.05_linux.run
sudo sh cuda_12.6.3_560.35.05_linux.run
4) 将PATH和LD_LIBRARY_PATH导出到安装的版本,并重新加载配置文件。 这确保了 nvcc 和库 可在会话中使用。
nano ~/.bashrc
# Añade al final (ajusta si tu ruta difiere)
export PATH=/usr/local/cuda-12.6/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# Guarda y recarga
source ~/.bashrc
5) 检查 CUDA 编译器版本。如果“nvcc –version”响应正确,则安装已准备好投入生产。 如果没有这一步,许多构建将会失败。.
nvcc --version
其他版本的附加说明:如果您安装 CUDA 11.8 使用 runfile 时,过程类似,路径通常为 /usr/local/cuda-11.X。无论如何,请检查驱动程序兼容性矩阵,以确保 CUDA 版本和驱动程序正确匹配。
Miniconda、PyTorch 和生态系统
使用 Miniconda 管理环境非常方便:它隔离依赖关系、简化构建并允许您在 Python 版本之间切换。 非常适合人工智能 和多项目工作流程。
安装 迷你康达 在 Linux 上按照以下步骤操作,接受许可证并重新启动 终端 最后。之后, 您将看到活动的基础环境.
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash ./Miniconda3-latest-Linux-x86_64.sh
# Enter > Avanzar > yes > enter > yes
对于某些图形包来说,可能需要 python3-tk 在 Ubuntu/Mint 系统上。手边有 git 也很有用。
sudo apt update -y && sudo apt install -y python3-tk git
环境准备好后,安装带有 CUDA 稳定版(cu118)的 PyTorch,如果您追求最新的性能(例如 cu124),甚至可以安装夜间版。 根据您的需求选择 稳定性与新颖性。
# Estable (ejemplo cu118)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# Nightly (ejemplo cu124)
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu124
如果您正在使用像 ComfyUI 这样的创意流程,您可以克隆他们的代码库并启动该应用。要从网络上的另一台计算机访问它,请使用 –listen 0.0.0.0 标志。 在无头服务器上非常实用.
git clone https://github.com/comfyanonymous/ComfyUI
cd ComfyUI
pip install -r requirements.txt
python main.py --listen 0.0.0.0
测试和验证(PyTorch 和 Docker)
验证安装可以避免日后出现意外。在 Python 中,验证 PyTorch 是否能够识别 GPU、是否能够分配内存,以及内核是否能够正常启动。 两个关键电话 它们是 is_available 和 device_count。
python3
>>> import torch
>>> torch.cuda.is_available()
True
>>> torch.cuda.device_count()
1
使用 Docker,尝试 NVIDIA 的“nbody”示例容器。如果它能与 –gpus=all 兼容,那么你就拥有了 容器运行时 正确配置并从容器中看到 GPU。
docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody \
nbody -gpu -benchmark -numdevices=1
在 Windows+WSL 上,如果出现“0 设备”错误,请记住在设备管理器中禁用/启用 GPU 的技巧。 这是一个已知问题 这种情况有时会发生在具有多张卡的计算机上。
最后,不要忘记使用 nvcc -V 验证 CUDA 编译器并使用 nvidia-smi 验证驱动程序安装。 Ambos comandos 必须正常运行。
Linux 中的实用调整:交换和服务器模式
为了避免在高强度锻炼期间因内存不足而导致崩溃,扩大交换文件可以起到救命的作用。 大小为 32 GB 通常会在大型模型中留出余量。
sudo swapon --show
sudo swapoff -a
sudo dd if=/dev/zero of=/swapfile bs=1M count=32768 status=progress
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
sudo nano /etc/fstab
# Añade si no existe:
/swapfile none swap sw 0 0
如果您使用的是 Linux Mint(以及其他类似的系统),则可以在没有图形环境的情况下启动多用户模式,以节省资源,包括一些 VRAM。 非常适合服务器 或训练节点。
sudo nano /etc/default/grub
# Cambia "quiet splash" por "text"
sudo update-grub
sudo systemctl set-default multi-user.target
# Reinicia; para volver al escritorio en sesión:
startx
常见问题及其解决方法
未对齐的驱动程序和工具包:如果您安装 不兼容的驱动程序 使用您的 CUDA 版本时,您可能会在编译或启动内核时遇到错误。请查阅 NVIDIA 兼容性表并调整版本。
Linux 上的依赖冲突:删除以前安装的残留软件包,并使用 apt 或 yum 来 解决精确版本 当安装程序提示你时。严格按照官方指南操作会很有帮助。
没有适当内核的 WSL:检查 wsl –更新 并使用“wsl cat /proc/version”检查版本。Windows 更新必须保持最新才能接收子系统改进。
不带 GPU 的 Docker:确保已安装 NVIDIA 容器工具包 并且 Docker Desktop 在 Windows 上处于活动状态。尝试 nbody 容器,如果出现任何错误,请检查用户权限。
PATH 和库:如果未找到 nvcc 或 CUDA 库,请检查变量 PATH 和 LD_LIBRARY_PATH. 编辑后返回“source ~/.bashrc”,如有必要,重新启动会话。
云替代方案:即用型 GPU 实例
如果您不能或不想在本地设置,带有 GPU 的云实例可以帮您完成工作。 采用 A100、RTX 4090 或 A6000 的服务 提供原始动力和 AI 就绪模板。
在提供预配置 pod 的平台上,您可以在几分钟内启动您的环境,通过基于使用情况的计费来降低成本,并选择针对 PyTorch 优化的图像。 对于轮换模型的团队 并且他们需要扩大规模,这是一种非常有效的方式。
有了以上所有内容,您现在就有了完整的地图:要求、在 Windows 上使用 WSL 和在本机 Linux 上安装、使用 PyTorch 和 Docker 进行密钥验证,以及使用 Miniconda、交换和服务器模式的生产力附加功能。 目标是让你从零开始训练 无堵塞,且堆栈坚固且易于维护。
对字节世界和一般技术充满热情的作家。我喜欢通过写作分享我的知识,这就是我在这个博客中要做的,向您展示有关小工具、软件、硬件、技术趋势等的所有最有趣的事情。我的目标是帮助您以简单而有趣的方式畅游数字世界。