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 -> 选 Continue
  • register kernel module sources with DKMS -> 选 Yes
  • Install 32-bit compatibility libraries -> 选 Yes
  • incomplete 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 观察空间是否在增加。

安装交互提示(非常重要):

  1. 输入 accept 接受协议。
  2. 按空格键取消勾选 [X] Driver(因为上一步已经装过驱动了,重复装会冲突)。
  3. 确保只勾选了 [X] CUDA Toolkit
  4. 光标移动到 Install,按回车开始安装。

若安装完提示警告: Driver: Not Selected 和 WARNING: Incomplete installation! This installation did not install the CUDA Driver 是完全正常且符合预期的。

  • 因为在上一步故意取消了 Driver 的勾选。
  • CUDA 11.8 安装包自带的是 520 版本的旧驱动,而之前已经手动安装了更新、更稳定的 535 版本驱动。高版本驱动完美向下兼容 CUDA 11.8,所以这个警告可以直接忽略。

image

 

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())"

 

posted @ 2026-06-15 14:59  心恩惠动  阅读(16)  评论(0)    收藏  举报