CUDA与cuDNN在linux / Ubuntu22.04上的安装与卸载,包含CUDA的.run安装与.deb安装,cuDNN的.tar安装与.deb安装


NVIDIA显卡驱动 for Linux / Ubuntu22.04的续集,主要关注多版本CUDA与多版本cuDNN在linux / Ubuntu22.04上的安装与卸载。

  • 重点:
    1. 整合了两种CUDA安装方式(.run与.deb)、两种cuDNN的安装方式(.tar.xz与.deb),网上好像没什么人做这个
    2. 整合了CUDA与cuDNN的官方样例代码的测试方法
      • 网上的CUDA测试方法大多使用nvcc -V,还算OK,添加了官方samples的测试
      • 网上的cuDNN测试方法基本上止步于查询版本号或者查询dpkg是否能正常索引包,不太有用,能编译跟跑通官方样例才是正解
    3. 安装了多版本的CUDA与cuDNN
    4. 整合了CUDA与cuDNN的版本切换方法,尤其是完善的使用脚本的一键切换版本方法(部分代码由GPT辅助生成)
    5. 整合了CUDA与cuDNN的彻底卸载方法

往下看的重要提醒

如果你使用了conda来管理你的环境,如果环境中安装了pytorch,那么已经自带了需要的CUDA与cuDNN,不需要、没必要再另外安装

如果是TensorFlow,可以从conda的仓库里指定CUDA与cuDNN版本来安装

可以看到在我的conda环境中已经安装了torch,附带了cuda12.4与cuDNN9.1.0_0了,想安装不同版本的cuda与cuDNN,直接去pytorch官网吧

$ conda list | grep 'cudnn'
pytorch   2.4.0   py3.12_cuda12.4_cudnn9.1.0_0    pytorch

CUDA for Linux

1.安装准备

  1. 使用nvidia-smi查看可支持CUDA最高版本
  2. NVIDIA ToolKit官网找对应版本CUDA:
    1. CUDA下载页:https://developer.nvidia.com/cuda-downloads
    2. 一般都是需要寻找其他的合适版本,从上面网站的Resources · Archive of Previous CUDA Releases进去:CUDA Toolkit Archive

2.安装方法推荐

推荐使用方法一.run安装,原因:

  1. 后续版本管理或卸载非常方便
  2. 使用 .deb可能会将已经安装的较新的显卡驱动替换,有潜在风险

2.1方法一:.run(local)安装

  1. 下载并安装

    wget https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/./cuda_12.1.1_530.30.02_linux.run
    
    # 法一:
    sudo sh ./cuda_12.1.1_530.30.02_linux.run
    
    # 法二:
    sudo chmod +x ./cuda_12.1.1_530.30.02_linux.run # 添加可执行权限
    ./cuda_12.1.1_530.30.02_linux.run # 安装
    
  2. 进入可视化界面安装

    同意协议:
    在这里插入图片描述
    因为之前已经安装了驱动,取消勾选驱动安装
    在这里插入图片描述
    在Options里可以更改安装地址,还可以选择为哪些用户或全部用户安装CUDA
    在这里插入图片描述
    因为要考虑我们手动切换版本,不要让安装程序自动更新软链接选择NO
    如果不需要多版本,选择yes

    注释:软链接是指在系统中"cuda"文件夹是一个软链接("cuda-12"也是),它将指向具体版本的一个cuda文件夹,例如新安装的cuda-12.1

    在这里插入图片描述
    安装成功,输出信息:

    $ sudo ./cuda_12.1.1_530.30.02_linux.run 
    ===========
    = Summary =
    ===========
    
    Driver:   Not Selected
    Toolkit:  Installed in /usr/local/cuda-12.1/
    
    Please make sure that
     -   PATH includes /usr/local/cuda-12.1/bin
     -   LD_LIBRARY_PATH includes /usr/local/cuda-12.1/lib64, or, add /usr/local/cuda-12.1/lib64 to /etc/ld.so.conf and run ldconfig as root
    
    To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-12.1/bin
    ***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 530.00 is required for CUDA 12.1 functionality to work.
    To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
        sudo <CudaInstaller>.run --silent --driver
    
    Logfile is /var/log/cuda-installer.log
    

    从输出信息中也能看到对环境变量有要求:

    Please make sure that
    -   PATH includes /usr/local/cuda-12.1/bin
    -   LD_LIBRARY_PATH includes /usr/local/cuda-12.1/lib64, or, add /usr/local/cuda-12.1/lib64 to /etc/ld.so.conf and run ldconfig as root
    

    接下来跳过下面方法二,看下面如何修改环境变量

2.2方法二:.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
wget https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/cuda-repo-ubuntu2204-12-6-local_12.6.0-560.28.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-6-local_12.6.0-560.28.03-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-6-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-6
  • 报错没有安装libtinfo5
    The following packages have unmet dependencies:
    E: nsight-systems-2023.4.4 : Depends: libtinfo5 but it is not installable
    

2.3修改环境变量以便使用nvcc命令

  • 不修改的话大概率没法用

  • 检查CUDA是否确实安装

    $ ls /usr/local
    bin  cuda  cuda-12  cuda-12.4  etc  games  include  lib  man  sbin  share  src
    
  • 在系统可视化界面中,可以看出"cuda"是一个软链接("cuda-12"也是),它将指向具体版本的一个cuda文件夹,这里我安装了第二个版本的CUDA,所以指向了新安装的cuda-12.1

    在这里插入图片描述

  • 修改环境变量
    注意,路径是通过软链接的文件夹来指向实际路径的

    # 编辑bashrc
    $ vim ~/.bashrc
    
    # 末尾添加以下三行:
    # cuda
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64
    export PATH=$PATH:/usr/local/cuda/bin
    
    # 刷新
    $ source ~/.bashrc
    
    # 测试
    $ nvcc -V
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2023 NVIDIA Corporation
    Built on Mon_Apr__3_17:16:06_PDT_2023
    Cuda compilation tools, release 12.1, V12.1.105
    Build cuda_12.1.r12.1/compiler.32688072_0
    

2.4功能验证

最后显示PASS,验证成功

# 找到验证demo的目录
$ cd /usr/local/cuda-12.1/extras/demo_suite
$ ls
bandwidthTest  busGrind  deviceQuery  nbody  nbody_data_files  oceanFFT  oceanFFT_data_files  randomFog  randomFog_data_files  vectorAdd
# 运行deviceQuery
$ ./deviceQuery
……
……
deviceQuery
<think>好的,用户想在Ubuntu 22.04.5上安装cuDNN 8.6.0,需要我提供详细的教程。首先,我需要回顾一下安装cuDNN的一般步骤,并结合用户提供的引用内容来确保准确性。 首先,用户已经引用了几个相关的资料,特别是提到了安装CUDA 11.8.0和cuDNN 8.6.0的步骤。根据引用[1]和[3],安装CUDA是通过运行.run文件完成的,而引用[4]提到了cuDNN的官方安装指南。用户的系统是Ubuntu 22.04.5,这个版本应该兼容CUDA 11.8和cuDNN 8.6.0,但需要确认驱动是否安装正确。 接下来,安装cuDNN通常有两种方法:使用deb包或者tar文件。用户可能需要选择其中一种方式。根据引用[4],官网可能推荐使用deb包,但有时候用户可能更倾向于手动解压tar文件到指定目录,特别是如果他们已经通过.run文件安装CUDA。 另外,用户可能已经按照引用[2]的步骤安装了nvidia驱动、CUDA等,现在需要继续cuDNN安装。需要确保用户已经下载了正确的cuDNN版本,对应CUDA 11.8,因为cuDNN版本必须CUDA版本兼容。cuDNN 8.6.0应该支持CUDA 11.x,但需要确认这一点。 在步骤方面,首先需要注册并下载cuDNNtar文件,然后解压并将头文件和库文件复制到CUDA安装目录。可能需要使用sudo权限,并运行ldconfig更新库缓存。此外,安装后需要验证是否成功,通常通过编译示例或运行测试命令。 需要注意的潜在问题包括:路径是否正确,权限问题,以及是否安装了依赖项。例如,用户是否已经将CUDA的路径添加到环境变量中,如LD_LIBRARY_PATH。此外,用户可能需要安装zlib1g等依赖库,否则可能导致安装失败。 最后,根据用户的问题,应该分步骤详细说明,确保每个命令都正确,并提醒用户注意版本匹配和验证步骤。同时,提供相关的问题,帮助用户解决可能遇到的后续问题,比如验证安装是否成功,或者如何处理依赖项缺失。</think>### Ubuntu 22.04.5安装cuDNN 8.6.0详细教程 #### **前提条件** 1.安装**CUDA 11.8**兼容的NVIDIA驱动(可通过`nvidia-smi`命令验证驱动状态)[^2]。 2. 已成功安装**CUDA 11.8.0**(参考引用[1]的安装方法)[^1]。 --- #### **步骤1:下载cuDNN 8.6.0** 1. 访问[NVIDIA cuDNN官网](https://developer.nvidia.com/cudnn),注册/登录账号。 2. 在下载页面选择: - **cuDNN版本**:8.6.0 - **CUDA版本**:11.x - **操作系统**:Linux 3. 下载`cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz`文件[^4]。 --- #### **步骤2:解压并安装cuDNN** ```bash # 解压文件(替换为实际下载路径) tar -xvf cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz # 复制头文件和库文件到CUDA目录 sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda-11.8/include/ sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda-11.8/lib64/ # 修改文件权限 sudo chmod a+r /usr/local/cuda-11.8/include/cudnn*.h sudo chmod a+r /usr/local/cuda-11.8/lib64/libcudnn* ``` --- #### **步骤3:验证安装** ```bash # 更新库链接缓存 sudo ldconfig # 查看cuDNN版本 cat /usr/local/cuda-11.8/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 ``` 若输出类似以下内容,则安装成功: ```plaintext #define CUDNN_MAJOR 8 #define CUDNN_MINOR 6 #define CUDNN_PATCHLEVEL 0 ``` --- #### **注意事项** 1. **CUDAcuDNN版本匹配**:cuDNN 8.6.0需CUDA 11.x配合使用[^4]。 2. **依赖项**:若缺少`zlib`,需运行`sudo apt install zlib1g`。 3. **环境变量**:确保CUDA路径已添加到`.bashrc`: ```bash export PATH=/usr/local/cuda-11.8/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH ``` ---
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值