【Linux】Linux系统中升级CUDA到最新版本

在Linux系统中升级CUDA到最新版本(例如CUDA Toolkit 12.6),需要确保系统兼容性、卸载旧版本、安装新版本并验证安装。以下是清晰有序的步骤,适用于Ubuntu/Debian或Red Hat/CentOS等常见Linux发行版,涵盖环境准备、安装方法和注意事项。


1. 前期准备

1.1 检查系统兼容性

  • 确认GPU支持CUDA
    检查系统中是否有NVIDIA GPU:
    lspci | grep -i nvidia
    
    验证GPU是否在NVIDIA支持列表中:访问 NVIDIA CUDA GPUs。
  • 检查Linux版本
    确认发行版和版本(CUDA支持Ubuntu、Debian、Fedora、CentOS等):
    lsb_release -a
    
    或:
    cat /etc/os-release
    
  • 检查GCC版本
    CUDA需要兼容的GCC版本(例如,CUDA 12.6支持GCC 11.x或更低)。检查当前版本:
    gcc --version
    
    如需安装或切换GCC版本:
    sudo apt install gcc-11 g++-11  # Ubuntu/Debian
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 50
    

1.2 验证当前CUDA版本

检查已安装的CUDA版本(若有):

nvcc --version

或:

nvidia-smi
  • nvcc --version 显示CUDA Toolkit版本。
  • nvidia-smi 显示驱动支持的CUDA版本(可能与Toolkit版本不同)。

1.3 备份系统

升级前建议备份重要数据,以防安装失败或系统问题。


2. 卸载旧版本CUDA(可选)

若系统已安装旧版CUDA,建议卸载以避免冲突。

2.1 卸载通过包管理器安装的CUDA

  • Ubuntu/Debian
    sudo apt purge nvidia-cuda-toolkit cuda*
    sudo apt autoremove
    
  • CentOS/RHEL
    sudo yum remove cuda nvidia-cuda-toolkit
    

2.2 卸载通过.run文件安装的CUDA

若使用NVIDIA提供的.run安装包:

  1. 查找安装目录(通常为 /usr/local/cuda-X.Y)。
  2. 删除目录:
    sudo rm -rf /usr/local/cuda-X.Y
    
  3. 检查环境变量,移除旧CUDA路径:
    nano ~/.bashrc
    
    删除类似以下行:
    export PATH=/usr/local/cuda-X.Y/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-X.Y/lib64:$LD_LIBRARY_PATH
    
    保存并生效:
    source ~/.bashrc
    

2.3 验证卸载

运行以下命令,确保旧版本已移除:

nvcc --version

应提示命令不存在。


3. 安装最新CUDA Toolkit(12.6)

3.1 方法1:使用NVIDIA官方包管理器(推荐)

此方法通过添加NVIDIA仓库安装,适合Ubuntu/Debian和CentOS/RHEL,易于管理和升级。

Ubuntu/Debian
  1. 下载并添加NVIDIA CUDA仓库
    访问 NVIDIA CUDA Toolkit 下载页面,选择适合的平台(例如,Ubuntu 22.04,x86_64,deb (local))。执行提供的命令,例如:

    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
    sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
    sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub
    sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /"
    
  2. 更新包索引并安装CUDA

    sudo apt update
    sudo apt install cuda
    
    • cuda 是一个元包,会安装最新版本的CUDA Toolkit(12.6)和兼容的NVIDIA驱动。
  3. 配置环境变量
    编辑 ~/.bashrc

    nano ~/.bashrc
    

    添加:

    export PATH=/usr/local/cuda-12.6/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-12.6/lib64:$LD_LIBRARY_PATH
    

    生效:

    source ~/.bashrc
    
CentOS/RHEL
  1. 添加NVIDIA CUDA仓库
    执行类似以下命令(根据发行版调整,例如RHEL 8):
    sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
    
  2. 安装CUDA
    sudo dnf install cuda
    
  3. 配置环境变量
    同Ubuntu,编辑 ~/.bashrc 添加路径。

3.2 方法2:使用.run文件安装

适用于需要自定义安装或离线环境的场景。

  1. 下载.run安装包
    访问 NVIDIA CUDA Toolkit 下载页面,选择.run文件。例如:
    wget https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/cuda_12.6.0_555.42.02_linux.run
    
  2. 运行安装
    sudo sh cuda_12.6.0_555.42.02_linux.run
    
    • 按提示选择安装选项(可选择不安装驱动程序,仅安装Toolkit)。
    • 默认安装路径为 /usr/local/cuda-12.6
  3. 配置环境变量
    同上,编辑 ~/.bashrc 添加路径。

3.3 方法3:使用Conda安装(Anaconda环境)

适用于深度学习用户,集成TensorFlow/PyTorch。

  1. 激活Conda环境
    conda activate your_env_name
    
  2. 安装CUDA Toolkit
    conda install -c nvidia cudatoolkit=12.6
    
  3. 验证
    nvcc --version
    

4. 验证安装

  1. 检查CUDA版本
    nvcc --version
    
    预期输出示例:
    nvcc: NVIDIA (R) Cuda compiler driver
    Cuda compilation tools, release 12.6, V12.6.68
    
  2. 检查NVIDIA驱动和CUDA兼容性
    nvidia-smi
    
    确认驱动版本和CUDA版本(例如,驱动支持CUDA 12.6)。
  3. 编译示例程序
    下载NVIDIA CUDA样本:
    git clone https://github.com/NVIDIA/cuda-samples.git
    cd cuda-samples/Samples/0_Introduction/vectorAdd
    make
    ./vectorAdd
    
    若输出表明测试通过,CUDA安装成功。

5. 升级cuDNN(可选)

cuDNN是深度学习加速库,常与CUDA一起使用。

  1. 注册NVIDIA开发者账户
    访问 NVIDIA cuDNN 下载页面,登录并下载与CUDA 12.6兼容的cuDNN(例如,cuDNN 9.x)。
  2. 解压并安装
    tar -xvf cudnn-linux-x86_64-9.x.x.x_cuda12.x-archive.tar.xz
    sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda-12.6/include
    sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda-12.6/lib64
    sudo chmod a+r /usr/local/cuda-12.6/include/cudnn*.h /usr/local/cuda-12.6/lib64/libcudnn*
    
  3. 验证
    检查cuDNN版本(需要运行依赖cuDNN的程序,如TensorFlow)。

6. 注意事项与常见问题

6.1 驱动版本不兼容

  • 问题nvidia-smi 显示CUDA版本低于12.6。
  • 解决:更新NVIDIA驱动:
    sudo apt install nvidia-driver-555
    
    或从 NVIDIA驱动下载页面 获取最新驱动。

6.2 安装冲突

  • 问题:旧CUDA残留导致安装失败。
  • 解决:彻底卸载旧版本(见步骤2),检查 /usr/local/ 下是否有旧CUDA目录。

6.3 环境变量未生效

  • 问题nvcc 命令未找到。
  • 解决:确认 ~/.bashrc 中的 PATHLD_LIBRARY_PATH 设置正确,并运行:
    source ~/.bashrc
    

6.4 多版本共存

  • CUDA支持并行安装(side-by-side)。安装到不同目录(如 /usr/local/cuda-12.6),使用符号链接切换版本:
    sudo ln -sf /usr/local/cuda-12.6 /usr/local/cuda
    
    或通过 update-alternatives 管理:
    sudo update-altern system cuda /usr/local/cuda-12.6
    

6.5 权限问题

  • 确保使用 sudo 执行安装命令,安装目录(如 /usr/local/cuda)有正确权限:
    sudo chown -R root:root /usr/local/cuda-12.6
    

7. 总结

升级CUDA到最新版本(12.6)的步骤:

  1. 检查系统兼容性(GPU、Linux版本、GCC)。
  2. 卸载旧版本CUDA(若需要)。
  3. 通过包管理器或.run文件安装CUDA 12.6。
  4. 配置环境变量(PATHLD_LIBRARY_PATH)。
  5. 验证安装(nvcc --version 和示例程序)。
  6. (可选)升级cuDNN以支持深度学习。

参考资源

  • NVIDIA CUDA Toolkit 下载
  • NVIDIA CUDA 安装指南
  • NVIDIA cuDNN 下载
  • Ubuntu CUDA 安装教程

你可能感兴趣的:(Linux,linux,CUDA,CUDA,Toolkit,Ubuntu,CentOS,GPU)