转载自:https://www.jianshu.com/p/6a6fbce9073f
来源:博客园
博主:EwanRenton

教研室服务器多人使用,由于大家使用不同的框架,或者框架的版本不同,需要对应不同版本的cuda,所以今天给服务器配置了多版本cuda 8.0和9.0


Cuda的下载
目前服务器上装有Cuda,本次就是在已有Cuda8.0的基础上再装Cuda9.0并配置版本切换。

到CUDA Toolkit Download下载,我下载的是cuda_9.0.176_384.81_linux.run


推荐使用 runfile,因为使用.deb可能会将已经安装的较新的显卡驱动替换。


Cuda9.0 安装

进入到放置 cuda_9.0.176_384.81_linux.run 的目录:

sudo chmod +x cuda_9.0.176_384.81_linux.run # 为 cuda_9.0.176_384.81_linux.run 添加可执行权限
./cuda_9.0.176_384.81_linux.run # 安装 cuda_9.0.176_384.81_linux.run

截取安装过程中几个比较重要的选项:

先按q退出说明
Do you accept the previously read EULA?
accept/decline/quit: acceptInstall NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: n # 如果在这之前已经安装好更高版本的显卡驱动就不需要再重复安装,如果需要重复安装就选择 yes,此外还需要关闭图形界面。Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: yEnter Toolkit Location[ default is /usr/local/cuda-9.0 ]: # 一般选择默认即可,也可以选择安装在其他目录,在需要用的时候指向该目录或者使用软连接 link 到 /usr/local/cuda。/usr/local/cuda-9.0 is not writable.
Do you wish to run the installation with 'sudo'?
(y)es/(n)o: yPlease enter your password:
Do you want to install a symbolic link at /usr/local/cuda? # 是否将安装目录通过软连接的方式 link 到 /usr/local/cuda,yes or no 都可以,取决于你是否使用 /usr/local/cuda 为默认的 cuda 目录。
(y)es/(n)o/(q)uit: nInstall the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: n

安装时可能会遇到

unsupported compiler x.x.x Use --override to override this check错误类型
可以使用以下命令解决

./cuda_9.0.176_384.81_linux.run --override

安装完成后得到以下信息:

Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-9.0
Samples:  Not SelectedPlease make sure that-   PATH includes /usr/local/cuda-9.0/bin-   LD_LIBRARY_PATH includes /usr/local/cuda-9.0/lib64, or, add /usr/local/cuda-9.0/lib64 to /etc/ld.so.conf and run ldconfig as rootTo uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-9.0/binPlease see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-9.0/doc/pdf for detailed information on setting up CUDA.***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 9.0 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

安装完成之后在/usr/local/ 中可以找到以下文件:

cuda-8.0 # 笔者之前安装的cuda-8.0
cuda-9.0 # 刚刚安装的cuda-9.0
cuda # cuda-8.0 的软连接

配置Cuda环境

在~/.bashrc文件末尾添加:]

#在文件结尾处添加
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版本切换

安装完cuda9.0过后在 /usr/local/下看的如下:安装完cuda9.0过后在 /usr/local/下看的如下:

这里,cuda-8.0和cuda-9.0就是我们安装的两个cuda版本了,而cuda是一个软链接,它指向我们指定的cuda版本(注意上面在设置环境变量时,使用的是cuda,而不是cuda-9.0和cuda-9.1,这主要是为了方便我们切换cuda版本,可以让我们不用每次都去该环境变量的值)
可以使用stat命令查看当前cuda软链接指向的哪个cuda版本,如下所示:

stat cudaFile: 'cuda' -> '/usr/local/cuda-9.0/'Size: 20          Blocks: 0          IO Block: 4096   symbolic link
Device: fd00h/64768d    Inode: 162662458   Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-10-16 18:43:37.973536070 +0800
Modify: 2018-10-16 18:43:34.981552769 +0800
Change: 2018-10-16 18:43:34.981552769 +0800Birth: -

可以看到现在笔者的cuda是指向的cuda9.0,再用nvcc --version 命令看下我们当前使用的是哪个版本

nvcc --version
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

使用的也是cuda 9.0

当我们想使用cuda-8.0版本时,只需要删除上面的软链接,然后重新建立指向cuda-8.0版本的软链接即可(注意名称还是cuda,因为要与bashrc文件里设置的保持一致)

sudo rm -rf cuda
sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda

在看下现在使用的cuda是哪个版本

nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Sun_Sep__4_22:14:01_CDT_2016
Cuda compilation tools, release 8.0, V8.0.44

切换成了8.0


修改软链接无法改变Cuda版本,解决方案

笔者在配置的时候,一步步按照之前的方法配置,但是无论怎样修改软链接都无法改变使用的cuda版本。并发现
使用

cat /usr/local/cuda/version.txt

得到版本为9.0,使用

nvcc --version

得到版本为8.0,考虑是之前的环境配置没配置好。

解决方案

修改 /etc/profile 文件

sudo vim /etc/profile

在末尾加上

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda

再source一下就可以了

source /etc/profile

cuDNN 安装

安装完了Cuda过后不要忘了为Cuda安装cuDNN。
到cudnn download下载与Cuda相对应版本的cuDNN

我们选择,cuDNN v7.3.1 Library for Linux
下载完后解压,得到一个文件夹 cuda/
执行以下命令:

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*

Ubuntu 多版本Cuda(8.0,9.0)以及CuDnn安装相关推荐

  1. 常识——windows的tensorflow安装gpu版本,cuda算力只有3.0也可以

    文章目录 问题 windows安装tensorflow_gpu版本 检查显卡是否支持cuda 查看自己的显卡型号 去官网查看是否支持cuda 检查显卡的cuda算力 按照GPU算力3.0的电脑配置进行 ...

  2. ubuntu20.04安装多版本的cuda9.0 cuda10.0

    条件:服务器上已有cuda10.0.g++7.g++9 目的:再安装一个版本cuda9.0(只支持g++6.0以下的):如果你是安装单个版本cuda的,又是不熟悉怎么安装的小白,在处理上会有些不一样, ...

  3. ubuntu安装nvidia显卡驱动+cuda9.0+cudnn7.0+查看cuda版本+安装tensorrt+python查看gpu显存

    一,驱动安装 显卡驱动和cuda版本关系 卸载原先驱动 sudo apt-get remove --purge nvidia-\* ubuntu-drivers devices  查看显卡类型 Nvi ...

  4. Ubuntu实现多版本CUDA切换——CUDA9.0与CUDA10.0切换

    参考链接:https://blog.csdn.net/qq_18649781/article/details/89787858 git clone到的深度学习的代码需要使用各种不同版本的Tensorf ...

  5. ubuntu查看cudnn是否安装成功_深度学习之目标检测系列(0) -ubuntu18.04+RTX2080Ti+cuda+cudnn安装...

    ubuntu18.04使用cudnn的过程中会遇见很多问题,而且搜索很多文章发现比较杂乱,我这里总结一下,方便小伙伴少走几步坑. 我的服务器硬件配置信息 (2019-01购买) CPU: 英特尔(in ...

  6. NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0环境配置

    引言 DIGITS简介 DIGITS特性 资源信息 说明 DIGITS安装 软硬件环境 硬件环境 软件环境 操作系统安装 DIGITS安装前准备 安装CUDA70deb方式 安装cuDNN70 安装C ...

  7. Caffe + Ubuntu 15.04/16.04 + CUDA 7.5/8.0 在服务器上安装配置及卸载重新安装(已测试可执行)

    本文参考如下: caffe 安装所需的所有资源可在百度网盘下载 链接: http://pan.baidu.com/s/1jIRJ6mU 提取密码:xehi 在服务器上为每个子用户拷贝caffe 使用 ...

  8. nvidia cuda工具包更新9.0版本记录

    因工作需要,对公司2台服务器升级cuda到9.0版本.本文记录其过程. 介绍 cuda在nvidia官方网站有下载,最新版本为9.2,但公司采用的tensorflow只使用9.0,为了版本的兼容,决定 ...

  9. Ubuntu 18.04 + CUDA 11.3.0 + CUDNN 8.2.1 + Anaconda + Pytorch 1.10

    Xshell远程连接进行Ubuntu的Pytorch配置 写在最前面 参考 Xshell常用命令 Ubantu 检查系统的各项配置 查看ubuntu系统的版本信息和gcc版本 查看Linux的内核版本 ...

最新文章

  1. 8比特数值也能训练模型?商汤提训练加速新算法丨CVPR 2020
  2. 求一个数的因子个数/因子和/质因子 C/C++实现
  3. 用sql语句实现按时间求累计值
  4. 第九集(第一部分)思科交换机配置文件及IOS备份还原
  5. android源码阅读笔记1-配置源码路径/阅读源码方法讨论
  6. 汇编和python-PyAsm-在python中嵌入汇编 | 学步园
  7. 在Spring中使用JDK定时器实现调度任务
  8. Struts2 缺少包
  9. P1481 魔族密码 (LIS)
  10. Mybatis-plus实现动态表名查询
  11. 剑指offer刷题专栏C++
  12. 用python写脚本控制电脑息屏唤醒_Python制作小脚本,一键可以让你同事的电脑在你指定时间关机...
  13. laravel框架基础知识
  14. maven项目spring整合mybatis——最基础的方式
  15. 根据拓扑图,实现PC端通交换机ping通路由器loop back地址
  16. 腾讯云域名证书下载_备案域名证书获取
  17. 最要紧的是,我们首先要善良,其次是要诚实,再次是以后永远不要相互遗忘。...
  18. 路由器的千兆是什么意思_千兆赫兹ghz到底是什么意思
  19. Paypal绑定WISE美元账户提现实测
  20. 新 Spring Cloud (一) 之 Eureka 服务注册中心

热门文章

  1. linux 系统文件目录颜色及特殊权限对应的颜色
  2. admin 系统被嵌套在第三方系统中的跨域异常
  3. 通用职责分配软件原则之7-纯虚构原则
  4. sqlmap源码阅读系列init中的_cleanupOptions
  5. 排列公式和组合公式_排列与组合:排列公式与组合公式之间有什么区别?
  6. 工作回报如何影响人的生产力_如何在减少工作的同时提高生产力
  7. 如何在JavaScript中使用when()有条件地更改值
  8. linux 事实日志_Linux是25。是的! 让我们用有关Linux的25个令人震惊的事实来庆祝。
  9. 为知笔记 Markdown 新手指南
  10. 如何阅读python文档_python 文档怎么看-问答-阿里云开发者社区-阿里云