CUDA--在CentOS 7.8上安装
系统版本:CentOS 7.8
内核版本:3.10.0
一、环境准备
1.1 安装基础编译工具
# 清理 yum 缓存 sudo yum clean all sudo yum makecache # 最小化安装 gcc 和 make(不要装 gcc-c++,避免 libstdc++ 依赖冲突) sudo yum install -y gcc make
1.2 安装并核对内核头文件(核心关键点)
驱动编译需要内核头文件,且版本必须与当前运行的内核完全一致。
# 安装内核头文件 sudo yum install -y kernel-devel kernel-headers # 核对版本是否一致 uname -r # 查看当前运行内核版本 rpm -q kernel-devel # 查看已安装的头文件版本
注意:如果两者版本号不一致(例如一个是 3.10.0-957,一个是 3.10.0-1160),请执行 sudo reboot 重启服务器,让新内核生效后再核对。
二、禁用 Nouveau 开源驱动
Nouveau 是 Linux 自带的开源 NVIDIA 驱动,会与官方驱动冲突,必须禁用。
可以先查看是是否已禁用或没有加载,那就可以跳过这一步。
# 执行下列命令没有任何输出 lsmod | grep nouveau # 检查内核日志中是否有 nouveau 的加载记录:应无输出或类似 nouveau: disabled by blacklist dmesg | grep nouveau
2.1 写入黑名单并重建内核
# 创建黑名单文件 sudo bash -c "echo 'blacklist nouveau' > /etc/modprobe.d/blacklist-nouveau.conf" sudo bash -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf" # 重建内核 initramfs sudo dracut --force
2.2 重启验证
# 重启
sudo reboot
# 验证:如果没有任何输出,说明禁用成功。
lsmod | grep nouveau
三、安装 NVIDIA 显卡驱动
3.1 下载并安装驱动
# 下载驱动 (约 300MB) wget https://us.download.nvidia.com/tesla/535.183.01/NVIDIA-Linux-x86_64-535.183.01.run # 赋予执行权限并运行 chmod +x NVIDIA-Linux-x86_64-535.183.01.run sudo ./NVIDIA-Linux-x86_64-535.183.01.run
安装交互提示:
pre-install script failed-> 选 Continueregister kernel module sources with DKMS-> 选 YesInstall 32-bit compatibility libraries-> 选 Yesincomplete installation of libglvnd-> 选 Yes (Install and overwrite)run nvidia-xconfig utility-> 选 No (裸机无桌面)
3.2 验证驱动
# 执行命令,看到 GPU 表格和 Driver Version: 535.183.01,驱动安装成功。 nvidia-smi
四、安装 CUDA 11.8 Toolkit
4.1 下载CUDA
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
4.2 安装CUDA
sudo sh cuda_11.8.0_520.61.05_linux.run
注意:执行后终端可能会“假死”几分钟无反应。这是因为正在解压 3GB 的文件到 /tmp。请耐心等待,可通过新开窗口执行 df -h /tmp 观察空间是否在增加。
安装交互提示(非常重要):
- 输入
accept接受协议。 - 按空格键取消勾选
[X] Driver(因为上一步已经装过驱动了,重复装会冲突)。 - 确保只勾选了
[X] CUDA Toolkit。 - 光标移动到
Install,按回车开始安装。
若安装完提示警告: Driver: Not Selected 和 WARNING: Incomplete installation! This installation did not install the CUDA Driver 是完全正常且符合预期的。
- 因为在上一步故意取消了 Driver 的勾选。
- CUDA 11.8 安装包自带的是 520 版本的旧驱动,而之前已经手动安装了更新、更稳定的 535 版本驱动。高版本驱动完美向下兼容 CUDA 11.8,所以这个警告可以直接忽略。

4.3 配置环境变量
echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc
4.4 验证
# 执行命令,看到 Cuda compilation tools, release 11.8 即为成功。 nvcc -V
五、安装cuDNN
5.1 下载cuDNN
在浏览器打开 cuDNN 归档页面:cuDNN Archive(需要登录 NVIDIA 账号,可用qq邮箱,网易邮箱注册账号)。
找到 Download cuDNN v8.9.7 for CUDA 11.x ,点击展开
下载 Local Installer for Linux x86_64 (Tar)
5.2 解压部署
将下载后的文件上传至服务器
# 解压文件 tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz -C /usr/local/ # 进入解压后的目录 cd /usr/local/cudnn-linux-x86_64-8.9.7.29_cuda11-archive/ # 将头文件和库文件复制到 CUDA 目录中 sudo cp include/cudnn*.h /usr/local/cuda/include/ sudo cp -P lib/libcudnn* /usr/local/cuda/lib64/ # 赋予所有用户读取权限 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
5.3 验证
# 执行命令,如果输出包含 #define CUDNN_MAJOR 8,说明 cuDNN 安装成功。 cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
六、PyTorch 官方 pip 安装包的cuDNN下载
现代 PyTorch 官方 pip 安装包已内置 cuDNN,无需去 NVIDIA 官网注册账号手动下载 cuDNN 的 tar 包,直接通过 pip 安装即可自动配置。
# 安装 Python 和 pip sudo yum install -y python3 python3-pip # 安装自带 cuDNN 的 PyTorch (CUDA 11.8 版本) pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # 验收 python3 -c "import torch; print('CUDA 可用:', torch.cuda.is_available()); print('cuDNN 可用:', torch.backends.cudnn.is_available()); print('cuDNN 版本:', torch.backends.cudnn.version())"

浙公网安备 33010602011771号