CUDA 环境配置指南
CUDA(Compute Unified Device Architecture)是 NVIDIA 推出的并行计算平台和编程模型。本指南将详细介绍如何安装和配置 CUDA 环境。
概述
什么是 CUDA?
CUDA 是 NVIDIA 开发的并行计算平台和 API 模型,允许开发者使用 NVIDIA GPU 进行通用计算。主要包括:
- CUDA Toolkit: 开发工具包
- CUDA Runtime: 运行时库
- CUDA Driver API: 驱动 API
- cuDNN: 深度学习加速库
CUDA 版本说明
| CUDA 版本 | 发布日期 | 支持的 GPU 架构 | 最低驱动版本 |
|---|---|---|---|
| 12.4 | 2024-02 | Hopper, Ada, Ampere, Volta, Pascal | 550.00 |
| 12.3 | 2023-11 | Hopper, Ada, Ampere, Volta, Pascal | 545.00 |
| 12.2 | 2023-06 | Hopper, Ada, Ampere, Volta, Pascal | 535.00 |
| 12.1 | 2023-02 | Hopper, Ada, Ampere, Volta, Pascal | 530.00 |
| 12.0 | 2022-11 | Hopper, Ada, Ampere, Volta, Pascal | 525.00 |
| 11.8 | 2022-08 | Ampere, Volta, Turing, Pascal | 520.00 |
cuDNN 版本对应
| CUDA 版本 | cuDNN 版本 |
|---|---|
| 12.4 | 9.0 |
| 12.3 | 8.9 |
| 12.2 | 8.9 |
| 12.1 | 8.9 |
| 12.0 | 8.8 |
| 11.8 | 8.7 |
安装前准备
检查 GPU 兼容性
lspci | grep -i nvidia
检查系统版本
cat /etc/os-release
uname -r
检查现有 CUDA 安装
nvcc --version
nvidia-smi
检查磁盘空间
df -h
CUDA 安装需要至少 10GB 空间。
Linux 安装指南
方法一:使用 Runfile 安装(推荐)
1. 下载 CUDA Toolkit
cd /tmp
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run
2. 禁用 Nouveau 驱动
sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
sudo update-initramfs -u
sudo reboot
3. 安装依赖
sudo apt-get update
sudo apt-get install -y build-essential dkms freeglut3-dev libxmu-dev libxi-dev
4. 运行安装程序
sudo sh cuda_12.4.0_550.54.14_linux.run
5. 选择安装选项
- Driver: 选择安装(如果未安装)
- CUDA Toolkit: 选择安装
- CUDA Samples: 可选
- CUDA Documentation: 可选
6. 配置环境变量
编辑 ~/.bashrc:
export PATH=/usr/local/cuda-12.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-12.4
应用配置:
source ~/.bashrc
7. 验证安装
nvcc --version
nvidia-smi
方法二:使用包管理器安装
Ubuntu/Debian
1. 添加 NVIDIA 仓库
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
2. 安装 CUDA
sudo apt-get install -y cuda-12-4
3. 安装 cuDNN
sudo apt-get install -y cudnn-cuda-12
4. 配置环境变量
echo 'export PATH=/usr/local/cuda-12.4/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
CentOS/RHEL
1. 添加 NVIDIA 仓库
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo yum install -y https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
2. 安装 CUDA
sudo yum clean all
sudo yum install -y cuda-12-4
3. 安装 cuDNN
sudo yum install -y cudnn-cuda-12
方法三:使用 Docker 环境
1. 拉取 CUDA 镜像
docker pull nvidia/cuda:12.4.0-devel-ubuntu22.04
2. 运行容器
docker run --gpus all -it nvidia/cuda:12.4.0-devel-ubuntu22.04 bash
3. 验证 CUDA
nvcc --version
nvidia-smi
Windows 安装指南
方法 一:使用安装程序(推荐)
1. 下载 CUDA Toolkit
选择:
- Operating System: Windows
- Architecture: x86_64
- Version: 10/11
- Installer Type: exe (local)
2. 运行安装程序
双击下载的 .exe 文件
3. 选择安装选项
- 精简:推荐,自动安装所有组件
- 自定义:可选择安装组件
4. 配置环境变量
安装程序会自动配置环境变量:
PATH: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin
CUDA_PATH: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4
5. 验证安装
打开命令提示符:
nvcc --version
nvidia-smi
方法二:使用 conda 安装
1. 安装 Miniconda
下载并安装 Miniconda
2. 创建 CUDA 环境
conda create -n cuda-env python=3.10
conda activate cuda-env
3. 安装 CUDA Toolkit
conda install -c nvidia cuda-toolkit=12.4
conda install -c nvidia cudnn=9.0
cuDNN 安装
Linux 安装
方法一:使用包管理器
sudo apt-get install -y cudnn-cuda-12
方法二:手动安装
1. 下载 cuDNN
需要 NVIDIA 开发者账号。
2. 解压文件
tar -xzvf cudnn-linux-x86_64-9.0.0.306_cuda12-archive.tar.xz
3. 复制文件
sudo cp cudnn-linux-x86_64-9.0.0.306_cuda12-archive/include/* /usr/local/cuda-12.4/include/
sudo cp cudnn-linux-x86_64-9.0.0.306_cuda12-archive/lib/* /usr/local/cuda-12.4/lib64/
sudo chmod a+r /usr/local/cuda-12.4/include/cudnn*.h /usr/local/cuda-12.4/lib64/libcudnn*
4. 验证安装
cat /usr/local/cuda-12.4/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
Windows 安装
1. 下载 cuDNN
2. 解压文件
解压下载的 ZIP 文件
3. 复制文件
将以下文件复制到 CUDA 安装目录:
bin\*.dll -> C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin\
include\*.h -> C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\include\
lib\x64\*.lib -> C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\lib\x64\
环境配置
配置环境变量
Linux
编辑 ~/.bashrc 或 ~/.zshrc:
# CUDA 路径
export CUDA_HOME=/usr/local/cuda-12.4
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
# cuDNN 路径
export CUDNN_PATH=/usr/local/cuda-12.4
# CUDA 缓存
export CUDA_CACHE_DISABLE=0
export CUDA_CACHE_MAXSIZE=2147483648
应用配置:
source ~/.bashrc
Windows
系统属 性 → 高级 → 环境变量:
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4
PATH=%CUDA_PATH%\bin;%PATH%
多版本管理
安装多个 CUDA 版本
# 安装 CUDA 12.4
sudo sh cuda_12.4.0_550.54.14_linux.run --silent --toolkit --toolkitpath=/usr/local/cuda-12.4
# 安装 CUDA 11.8
sudo sh cuda_11.8.0_520.61.05_linux.run --silent --toolkit --toolkitpath=/usr/local/cuda-11.8
切换 CUDA 版本
创建切换脚本 switch-cuda.sh:
#!/bin/bash
VERSION=$1
if [ -z "$VERSION" ]; then
echo "Usage: switch-cuda.sh <version>"
echo "Available versions:"
ls -d /usr/local/cuda-* | xargs -n1 basename
exit 1
fi
CUDA_PATH=/usr/local/cuda-$VERSION
if [ ! -d "$CUDA_PATH" ]; then
echo "CUDA $VERSION not found"
exit 1
fi
export CUDA_HOME=$CUDA_PATH
export PATH=$CUDA_PATH/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_PATH/lib64:$LD_LIBRARY_PATH
echo "Switched to CUDA $VERSION"
nvcc --version
使用方法:
source switch-cuda.sh 12.4
source switch-cuda.sh 11.8