Ubuntu20.04 安装 CUDA10.1 和 CUDNN7.6.5

说明:

本人的实验环境为:ubuntu20.04, 显卡:GTX1060, 已安装Nvidia驱动

  • 查看你的NVIDIA显卡驱动是否支持cuda10.1版本。
    查看显卡驱动命令: nvidia-smi
    在这里插入图片描述
    CUDA Version: 这里的版本号大于等于10.1,就可以安装cuda10.1。

  • 为什么安装 cuda10.1
    本人主要用于深度学习,而目前主流的深度学习框架为Tensorflow和Pytorch, 比较下来感觉10.1还是挺适合的版本

    表二:CUDA Toolkit版本及可用PyTorch对应关系
    CUDAToolkit版本 可用PyTorch版本
    7.5 0.4.1 ,0.3.0, 0.2.0,0.1.12-0.1.6
    8.0 1.1.0,1.0.0 ,0.4.1
    9.0 1.1.0,1.0.1, 1.0.0,0.4.1
    9.2 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0,1.4.0,1.2.0,0.4.1
    10.0 1.2.0,1.1.0,1.0.1 ,1.0.0
    10.1 1.8.x,1.7.1,1.7.0,1.6.0,1.5.1,1.5.0, 1.4.0,1.3.0
    10.2 1.11.0,1.9.0,1.8.1,1.8.0,1.7.1,1.7.0,1.6.0,1.5.1,1.5.0
    11.0 1.7.1,1.7.0
    11.1 1.10.x, 1.9.x,1.8.x
    11.3 1.11.x,1.10.x,1.9.x,1.8.1
    11.5 1.11.x

step1:GCC降级

  • Ubuntu20.04自带的GCC是9.3.0版本的,而cuda 10.1要求GCC版本为gcc-7
    # 查看当前GCC和g++的版本
    gcc --version
    g++ --version
    
    #安装gcc-7
    sudo apt-get install gcc-7 g++-7
    
  • 安装完之后,系统中会存在两个或以上的gcc,因此需要设置一下gcc优先级。
    #查看gcc版本
    ls /usr/bin/gcc*
    
    可以看到这里有多个版本
    在这里插入图片描述
  • 进行gcc和g++版本的切换
    #进行gcc版本的切换
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 2
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
    #后面的数字为优先级,数字越大优先级越高
    #查看设置的优先级
    sudo update-alternatives --config gcc
    #或者
    sudo update-alternatives --display gcc
    #同理g++也需要设置
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 2
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
    #显示g++优先级
    sudo update-alternatives --display g++
    #最后确保成功查看一下gcc版本
    gcc -v
    
    在这里插入图片描述
  • 看到这里gcc版本已经是7.5.0代表成功。

step2:安装CUDA

去官网下载CUDA: https://developer.nvidia.com/cuda-10.1-download-archive-base
在这里插入图片描述
选择18.04是因为nvidia官网没有ubuntu20的选项,cuda官方支持的系统最高到Ubuntu18

  • 进入到你下好的文件夹内,打开终端:sudo sh cuda_10.1.105_418.39_linux.run
    如果中途报错信息为:Installation failed. See log at /var/log/cuda-installer.log for details.
    将指令改为sudo sh cuda_10.1.243_418.87.00_linux.run --librarypath=/usr/local/cuda-10.1,重新运行。操作和上面的相同。
  • 当安装界面启动,选择continue。
  • 然后输入accept,回车。在这里插入图片描述
  • CUDA安装包是自带显卡驱动的,由于你已经有了NVIDIA显卡驱动,如果不想安装CUDA 10.1中附带的驱动,移动到Driver选项上,按空格键将该项取消。然后,移动到Install选项,回车,等待安装完成。
    在这里插入图片描述
  • 等待安装完成
    在这里插入图片描述
    查看你的目录:ls /usr/local, 会多出来两个文件夹,cuda和cuda-10.1, 且cuda是cuda-10.1的一个软连接
    在这里插入图片描述
  • 配置CUDA的环境变量
    CUDA安装完成后,需要配置变量环境才能正常使用。首先在终端输入sudo gedit ~/.bashrc打开如下图所示的.bashrc文件。
    export PATH=$PATH:/usr/local/cuda/bin  
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
    export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
    
    # 或者
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
    export PATH=$PATH:/usr/local/cuda/bin
    export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
    
    注意:上面的CUDA环境变量配置方法有很多,本文的配置方法中的cuda不要指定具体的版本,主要是为了电脑中多个CUDA版本的切换。
    最后,在终端输入source ~/.bashrc或者重新启终端使之生效。
  • 查看是否安装好
    这时,我们就可以在终端输入nvcc -V查看CUDA的安装信息,如下图所示,至此CUDA安装成功。
    在这里插入图片描述
    或者:cat /usr/local/cuda/version.txt # 查看cuda版本号

step3:安装cudnn

  • 下载
    先去官网下载对应的CUDNN7.6.5,如果没有账号注册一下。

  • 对下载的cudnn-10.1-linux-x64-v7.6.5.32.tgz进行解压操作,得到一个文件夹cuda,命令为:

    tar zxvf ./cudnn-10.1-linux-x64-v7.6.5.32.tgz -C ./ 
    
  • 输入下面命令

    #建议先获取root权限
    sudo su
    #输入密码
    #之后输入以下命令,可以带sudo也可以不带
    sudo cp cuda/include/cudnn.h /usr/local/cuda/include
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
    sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
    
    #最后输入下面命令,看看是否安装成功
    cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
    
  • 查看cudnn版本号:
    cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
    按照结果顺序读取出版本号(如果没有,那么可能没有安装 cuDNN)

参考博客:

猜你喜欢

转载自blog.csdn.net/qq_42887760/article/details/126906423