• 同时安装CUDA8.0和CUDA9.0


    http://geyao1995.com/CUDA8_CUDA9/

    tensorflow1.5版本竟然不支持CUDA8.0了

    卸载是不可能卸载的

    1.原料准备

    1. CUDA9.0下载:https://developer.nvidia.com/cuda-90-download-archive

      建议选择使用 .run 文件安装,因为使用 .deb可能会将已经安装的较新的显卡驱动替换。

    2. cuDNN7.0下载(需要注册账号,注意选择对应CUDA9.0的版本):https://developer.nvidia.com/cudnn

      对于cuDNN7.0的安装方式选项,我选择的是cuDNN v7.0.5 Library for Linux,对应于cudnn-9.0-linux-x64-v7.tgz文件,解压之后放到cuda-9.0文件夹中就可以。

    3. 本机已经安装的版本是CUDA8.0和cuDNN5.1

    2.打开菜谱

    不去网上瞎找教程,参考官方文档

    CUDA(看左上角是不是CUDA9.0版本的文档,如果显示最新版本,需要去找旧的9.0版本):https://docs.nvidia.com/cuda/archive/9.0/cuda-installation-guide-linux/index.html

    cuDNN:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#install-linux

    3.下锅

    1.安装新版本的CUDA和cuDNN

    除了安装显卡选择no,还有一步要选择no(因为之前第一次安装cuda8.0,已经创建了/usr/local/cuda这个symbolic link,所以这里就没必要再创建一次了):

    1
    2
    3
    Do you want to install a symbolic link at /usr/local/cuda? 

    (y)es/(n)o/(q)uit: n

    最后一步,安装CUDA 9.0 Samples也可以选no。

    提醒:在第一次安装CUDA中,官方文档中重要的一步,在~/.bashrc文件中添加(对于64位系统):

    1
    2
    3
    > export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
    > export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    >

    如果是9.0版本CUDA,将8.0换为9.0。

    安装好后,/usr/local/下面有三个文件夹:cuda-8.0、cuda-9.0、cuda(这个是软链接)

    接下来加入cuDNN,注意这里cuDNN官方教程中给的是:

    1
    2
    3
    $ 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*

    多版本情况下需要将cuda文件夹替换成cuda-9.0文件夹:

    1
    2
    3
    $ sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include
    $ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64
    $ sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*

    2.版本切换

    ~/.bashrc下与cuda相关的路径都改为/usr/local/cuda/而不使用/usr/local/cuda-8.0//usr/local/cuda-9.0/

    所以,此时~/.bashrc中应该是:

    1
    2
    export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

    记住,cuda是symbolic link,所以想切换CUDA版本的时候只需要将cuda-8.0或cuda-9.0指向cuda就可以了。

    刷新:

    1
    source ~/.bashrc

    1.切换到CUDA9.0

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    rm -rf /usr/local/cuda #删除之前创建的软链接
    sudo ln -s /usr/local/cuda-9.0/ /usr/local/cuda
    nvcc --version #查看当前 cuda 版本

    # 成功的话 应该显示如下关于9.0版本的信息

    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2017 NVIDIA Corporation
    Built on Fri_Sep__1_21:08:03_CDT_2017
    Cuda compilation tools, release 9.0, V9.0.176

    2.切换到CUDA8.0

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    rm -rf /usr/local/cuda #删除之前创建的软链接
    sudo ln -s /usr/local/cuda-8.0/ /usr/local/cuda
    nvcc --version #查看当前 cuda 版本

    # 成功的话 应该显示如下关于8.0版本的信息

    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2016 NVIDIA Corporation
    Built on Tue_Jan_10_13:22:03_CST_2017
    Cuda compilation tools, release 8.0, V8.0.61

    4.总结

    1. 本机安装好CUDA8.0+cuDNN5.1和CUDA9.0+cuDNN7.0。在/usr/local目录下两个文件夹cuda-8.0和cuda-9.0。
    2. 添加软链接cuda到PATH。
    3. 想用哪个版本的CUDA,就将哪个版本的CUDA链接到cuda。

    5.其他方法

    可以使用conda安装(未验证):

    1
    2
    conda install -c anaconda cudatoolkit
    conda install -c anaconda cudnn

    或者用别的channel:

    1
    2
    conda install -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/ cudatoolkit=8.0 
    conda install -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64 cudnn=7.0.5

    致谢

    感谢维天大神提供的思路,要不然就买一台新电脑了!

    参考

    《安装多版本 cuda ,多版本之间切换》:https://blog.csdn.net/maple2014/article/details/78574275

  • 相关阅读:
    js正则验证邮箱格式
    PHP面向对象简易验证码类
    php 中 instanceof 操作符
    防止SQL注入
    通过实例详细讲解PHP垃圾回收机制
    PHP实现上传视频的功能
    二维数组分组
    时间戳转换为几分钟、几小时、几天、几周、几月、几年前
    自定义接口错误响应格式
    laravel写crontab定时任务(发送邮件)和laravel crontab不执行的问题
  • 原文地址:https://www.cnblogs.com/wangmo/p/10901526.html
Copyright © 2020-2023  润新知