Ubuntu 多版本Cuda(8.0,9.0)以及CuDnn安装
转载自: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安装相关推荐
- 常识——windows的tensorflow安装gpu版本,cuda算力只有3.0也可以
文章目录 问题 windows安装tensorflow_gpu版本 检查显卡是否支持cuda 查看自己的显卡型号 去官网查看是否支持cuda 检查显卡的cuda算力 按照GPU算力3.0的电脑配置进行 ...
- ubuntu20.04安装多版本的cuda9.0 cuda10.0
条件:服务器上已有cuda10.0.g++7.g++9 目的:再安装一个版本cuda9.0(只支持g++6.0以下的):如果你是安装单个版本cuda的,又是不熟悉怎么安装的小白,在处理上会有些不一样, ...
- ubuntu安装nvidia显卡驱动+cuda9.0+cudnn7.0+查看cuda版本+安装tensorrt+python查看gpu显存
一,驱动安装 显卡驱动和cuda版本关系 卸载原先驱动 sudo apt-get remove --purge nvidia-\* ubuntu-drivers devices 查看显卡类型 Nvi ...
- Ubuntu实现多版本CUDA切换——CUDA9.0与CUDA10.0切换
参考链接:https://blog.csdn.net/qq_18649781/article/details/89787858 git clone到的深度学习的代码需要使用各种不同版本的Tensorf ...
- ubuntu查看cudnn是否安装成功_深度学习之目标检测系列(0) -ubuntu18.04+RTX2080Ti+cuda+cudnn安装...
ubuntu18.04使用cudnn的过程中会遇见很多问题,而且搜索很多文章发现比较杂乱,我这里总结一下,方便小伙伴少走几步坑. 我的服务器硬件配置信息 (2019-01购买) CPU: 英特尔(in ...
- NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0环境配置
引言 DIGITS简介 DIGITS特性 资源信息 说明 DIGITS安装 软硬件环境 硬件环境 软件环境 操作系统安装 DIGITS安装前准备 安装CUDA70deb方式 安装cuDNN70 安装C ...
- Caffe + Ubuntu 15.04/16.04 + CUDA 7.5/8.0 在服务器上安装配置及卸载重新安装(已测试可执行)
本文参考如下: caffe 安装所需的所有资源可在百度网盘下载 链接: http://pan.baidu.com/s/1jIRJ6mU 提取密码:xehi 在服务器上为每个子用户拷贝caffe 使用 ...
- nvidia cuda工具包更新9.0版本记录
因工作需要,对公司2台服务器升级cuda到9.0版本.本文记录其过程. 介绍 cuda在nvidia官方网站有下载,最新版本为9.2,但公司采用的tensorflow只使用9.0,为了版本的兼容,决定 ...
- Ubuntu 18.04 + CUDA 11.3.0 + CUDNN 8.2.1 + Anaconda + Pytorch 1.10
Xshell远程连接进行Ubuntu的Pytorch配置 写在最前面 参考 Xshell常用命令 Ubantu 检查系统的各项配置 查看ubuntu系统的版本信息和gcc版本 查看Linux的内核版本 ...
最新文章
- 8比特数值也能训练模型?商汤提训练加速新算法丨CVPR 2020
- 求一个数的因子个数/因子和/质因子 C/C++实现
- 用sql语句实现按时间求累计值
- 第九集(第一部分)思科交换机配置文件及IOS备份还原
- android源码阅读笔记1-配置源码路径/阅读源码方法讨论
- 汇编和python-PyAsm-在python中嵌入汇编 | 学步园
- 在Spring中使用JDK定时器实现调度任务
- Struts2 缺少包
- P1481 魔族密码 (LIS)
- Mybatis-plus实现动态表名查询
- 剑指offer刷题专栏C++
- 用python写脚本控制电脑息屏唤醒_Python制作小脚本,一键可以让你同事的电脑在你指定时间关机...
- laravel框架基础知识
- maven项目spring整合mybatis——最基础的方式
- 根据拓扑图,实现PC端通交换机ping通路由器loop back地址
- 腾讯云域名证书下载_备案域名证书获取
- 最要紧的是,我们首先要善良,其次是要诚实,再次是以后永远不要相互遗忘。...
- 路由器的千兆是什么意思_千兆赫兹ghz到底是什么意思
- Paypal绑定WISE美元账户提现实测
- 新 Spring Cloud (一) 之 Eureka 服务注册中心
热门文章
- linux 系统文件目录颜色及特殊权限对应的颜色
- admin 系统被嵌套在第三方系统中的跨域异常
- 通用职责分配软件原则之7-纯虚构原则
- sqlmap源码阅读系列init中的_cleanupOptions
- 排列公式和组合公式_排列与组合:排列公式与组合公式之间有什么区别?
- 工作回报如何影响人的生产力_如何在减少工作的同时提高生产力
- 如何在JavaScript中使用when()有条件地更改值
- linux 事实日志_Linux是25。是的! 让我们用有关Linux的25个令人震惊的事实来庆祝。
- 为知笔记 Markdown 新手指南
- 如何阅读python文档_python 文档怎么看-问答-阿里云开发者社区-阿里云