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

同时安装CUDA8.0和CUDA9.0的更多相关文章

  1. Ubuntu14.0 + CUDA9.0 + cudnn7.0 + TensorFlow-gpu1.7.0

    在安装好nvidia驱动的基础上安装 CUDA9.0 + cudnn7.0 + TensorFlow-gpu1.7.0 这三个是匹配的版本 别的匹配(CUDA8.0 + cudnn6.0 + Tens ...

  2. cuda9.0 中不存在libnppi.so

    编译一个caffe版本,报错找不到 -lnppi 发现使用打是cuda9.0, 但是cuda9.0 中不存在libnppi.so. 只好换成cuda8.0.

  3. 深度学习环境搭建(ubuntu16.04+Titan Xp安装显卡驱动+Cuda9.0+cudnn+其他软件)

    一.硬件环境 ubuntu 16.04LTS + windows10 双系统 NVIDIA TiTan XP 显卡(12G) 二.软件环境 搜狗输入法 下载地址 显卡驱动:LINUX X64 (AMD ...

  4. 安装Cuda9.0+cudnn7.3.1+tensorflow-gpu1.13.1

    我的安装版本: win10 x64 VS2015 conda python 3.7 显卡 GTX 940mx Cuda 9.0 cudnn v7.3.1 Tensorflow-gpu 1.13.1 1 ...

  5. Ubuntu环境下安装CUDA9.0

    前言: 本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu16.04和Ubuntu17.04两个版本,如下图所示(最下面的安装方式我们选择第一个,即runfile方式): ...

  6. Ubuntu安装CUDA9.0 + cuDNN

    本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu16.04和Ubuntu17.04两个版本,如下图所示(最下面的安装方式我们选择第一个,即runfile方式): 下载链接 ...

  7. TensorFlow-GPU安装配置(win10+tensorflow1.6+CUDA9.0+cudnn7.0+python3.6+Visual Studio2013)

    安装步骤: TensorFlow官网 tensorflow一般只能装在python3上,CUDA9.0搭配cudnn7.0,CUDA8.0搭配cudnn6.0 查看对应要安装的环境版本(因为会不断更新 ...

  8. Win7 +Cuda9.0+cudnn7.0.5 tensorflow-gpu1.5.0 安装实战

    https://blog.csdn.net/gangeqian2/article/details/79358543 https://blog.csdn.net/tomato_sir/article/d ...

  9. Ubuntu16.04 + cuda9.0 + cudnn7.1.4 + tensorflow安装

    安装前的准备 UEFI 启动GPT分区 Win10和Ubuntu16.04双系统安装 ubuntu16.04 NVIDIA 驱动安装 ubuntu16.04 NVIDIA CUDA8.0 以及cuDN ...

随机推荐

  1. 1,MySQL常用函数

    一,MySQL聚合函数 1,AVG()函数 AVG()函数是一个聚合函数,它用于计算一组值或表达式的平均值. AVG()函数的语法如下: AVG(DISTINCT expression) 例如有如下p ...

  2. LDD3 第10章 中断处理

    各种硬件和处理器打交道的周期不同,并且总是比处理器慢.必须有一种可以让设备在产生某个事件时通知处理器----中断. 中断仅仅是一个信号,如果硬件需要,就可以发送这个信号.Linux处理中断方式和用户空 ...

  3. BZOJ 1018: [SHOI2008]堵塞的交通traffic(线段树分治+并查集)

    传送门 解题思路 可以离线,然后确定每个边的出现时间,算这个排序即可.然后就可以线段树分治了,连通性用并查集维护,因为要撤销,所以要按秩合并,时间复杂度\(O(nlog^2 n)\) 代码 #incl ...

  4. 暑期训练 CF套题

    CodeForces 327A 题意:有n个数,都是0或1,然后必须执行一次操作,翻转一个区间,里面的数0变1,1变0,求最多1的数量 思路:最开始我写的最大字段和,后面好像写搓了,然后我又改成暴力, ...

  5. xshell设置选中复制,右击粘贴功能

    . 设置选中复制: 工具--->选项--->键盘和鼠标--->(然后根据下图设置保存即可) 2. 设置ctrl + v 粘贴功能: 工具--->选项--->键盘和鼠标-- ...

  6. Java享元模式(Flyweight Pattern)

    享元模式(Flyweight Pattern)主要用于减少创建的对象数量,并减少内存占用并提高性能. 这种类型的设计模式属于结构模式,因为该模式提供了减少对象计数的方法,从而改善应用的对象结构. 享元 ...

  7. 常用css代码(scss mixin)

    溢出显示省略号 参过参数可以只是单/多行. /** * 溢出省略号 * @param {Number} 行数 */ @mixin ellipsis($rowCount: 1) { @if $rowCo ...

  8. 基于vue2.0打造移动商城页面实践 vue实现商城购物车功能 基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果

    基于vue2.0打造移动商城页面实践 地址:https://www.jianshu.com/p/2129bc4d40e9 vue实现商城购物车功能 地址:http://www.jb51.net/art ...

  9. java基础知识-基本概念

    1.1 java语言有哪些优点? 1.java语言为纯面向对象的语言. 2.平台无关性.java语言的优点便是“一次编译,到处执行”.编译后的程序不会被平台所约束,因此java语言有很好的移植性. 3 ...

  10. matplotlib系列——线的属性

    幕布视图:https://mubu.com/doc/alG8r_3iSw 参考文献:嵩天的Python课程讲义   示例(更多示例:matplotlib系列——折线图) 效果 颜色 线的风格 标记类型 ...