ubuntu配置cuda环境二:安装cuda和cudnn

准备工作:确定要安装的cuda和cudnn版本

  • 输入命令nvidia-settings可以查询安装的NVIDIA驱动版本:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MUc9elpR-1670060431576)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/nvidia_driver.png)]

  • cuda版本与NVIDIA驱动版本的对应关系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8CR4IZpw-1670060431579)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/cuda_driver_version.png)]

  • cuda版本与TensorFlow(GPU)版本的对应关系

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xcNYo7IC-1670060431580)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/cuda_tensorflowGPU_version.png)]

  • cuda版本与PyTorch(GPU)版本的对应关系

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mmfidAgu-1670060431581)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/cuda_Pytorch_version.png)]

在此,笔者选择cuda1.0的版本,(不要选择很高的版本,容易出现其他包版本不支持的问题)

1. gcc和g++版本降级

  • 查询当前系统的gcc和g++版本:gcc --versiong++ --version,cuda10.1要求gcc版本为gcc-7,g++版本为g++ --7

    而ubuntu20.04默认安装的版本为gcc-9.3,故需要再安装一下7.0的版本:

    sudo apt-get install gcc-7, g++-7
    

    此时执行命令ls /usr/bin/gcc*,可以看到有多个gcc版本

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EJ8HKq26-1670060431581)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/gccEdition.png)]

  • 切换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
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5YNojYKG-1670060431582)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/gccVersion.png)]

    此处打印gcc版本为7.5.0,表明切换成功

2. 安装cuda

  • 官网下载对应的cuda版本

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fI3PziCG-1670060431583)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/cudaDowmload.png)]

  • 进入到你下好的文件夹内,打开终端: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选项,回车,等待安装完成。

  • 配置环境变量: sudo gedit ~/.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
    
  • source ~/.bashrc,使配置生效。

  • 最后,执行命令nvcc- V,如下图就表明cuda安装成功:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H2wfRDl5-1670060431583)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/nvcc-V.png)]

3. 安装cudnn

  • 去官网下载对应版本的cudnn(笔者安装的版本为765,有NVIDIA账号就注册一个)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aH5cVGMU-1670060431584)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/cudnnDownload.png)]

    此处笔者下载的是cuDNN Library for Linux

  • 解压下载的压缩包:

    tar zxvf ./cudnn-10.1-linux-x64-v7.6.5.32.tgz -C ./ 
    
  • 将以下文件拷贝到cuda相应的目录下

    #输入密码
    #之后输入以下命令,可以带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
    
  • cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2,若能出现版本号,则说明安装成功:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CZOakkc8-1670060431585)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/cudnnVersion.png)]

你可能感兴趣的:(ubuntu,深度学习)