ubuntu下安装多个cuda和cudnn

参考博客 https://blog.csdn.net/joyce_peng/article/details/105661585

https://blog.csdn.net/sinat_33425327/article/details/84823272?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight

大概意思指的是安装pytorch版本时候编译的cuda版本是7050,而现在使用的是cuda8.0以上的新版本在调用pytorch,所以造成不匹配. 可能原因:每一个pytorch版本都有对应的cuda版本,可能是在安装pytorch的时候,选择的pytorch版本所对应的版本cuda版本与本机所安装的cuda版本不相符。
解决思路 1.重装一个pytorch版本, 和本机安装的cuda 匹配.
2.再装一个cuda版本和这个pytorch相匹配.

#查看pytorch版本
import torch
torch.version ‘0.3.0.post4’
#查看pytorch版本对应的cuda版本
torch.version.cuda ‘7.5.18’
#查看cuda是否可用
torch.cuda.is_available() True
查看linux 电脑安装的 cuda
nvcc -V 查询本环境下,电脑使用的cuda 版本
nvcc: NVIDIA ® Cuda compiler driver
Copyright © 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

参考博客1 在ubuntu上安装多个版本的CUDA,并且可以随时切换
https://blog.csdn.net/ksws0292756/article/details/80120561
参考博客2 ubuntu18.04 安装多版本cuda ,原来版本为9.0,在新增8.0
https://blog.csdn.net/qq_23996885/article/details/90205937

下载cuda8.0 cuda_8.0.61_375.26_linux.run
下载补丁

下载完成以后,我们利用cd命令,进入到cuda_8.0.61_375.26_linux.run文件所在的目录中,然后运行下面的指令,进行安装(注意这个文件名,前面的cuda_8.0.61代表cuda的版本,后面的375.26代表的对应的NVIDIA驱动的版本,这里我用cuda8.0的安装过程为例,9.0和9.1同理)

安装过程中在建立软链接时需要注意一下,如果你是第一次安装cuda,那么毫无疑问输入y(yes),但是如果你是安装额外版本的cuda,是否选择y(yes)就要看你的具体需求而定,简言之,就是如果你希望启用当前安装的cuda版本,就选y,如果你只是想安装这个版本,而暂时还不想启用该版本时,就选n。

sudo sh cuda_8.0.61_375.26_linux.run #开始安装

#…一堆协议说明…
#直接按q退出协议说明.
zerozone@zerozone: accept/decline/quit: accept #接受协议

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
y)es/(n)o/(q)uit: n #是否显卡驱动包,由于已经安装显卡驱动,选择n

Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y #是否安装工具包,选择y

Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]: #工具包安装地址,默认回车即可

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y #添加链接注意这个连接,如果你之前安装过另一个版本的cuda,除非你确定想要用这个新版本的cuda,否则这里就建议选no,因为指定该链接后会将cuda指向这个新的版本

Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y #安装样例

不安装驱动,其他默认就可以
2.4 bashrc
vim ~/.bashrc
1
在末尾加上
export PATH=“ P A T H : / u s r / l o c a l / c u d a / b i n " e x p o r t L D L I B R A R Y P A T H = " PATH:/usr/local/cuda/bin" export LD_LIBRARY_PATH=" PATH:/usr/local/cuda/bin"exportLDLIBRARYPATH="LD_LIBRARY_PATH:/usr/local/cuda/lib64/”
export LIBRARY_PATH=" L I B R A R Y P A T H : / u s r / l o c a l / c u d a / l i b 64 " 123 原 来 文 章 中 的 是 这 样 的 e x p o r t L D L I B R A R Y P A T H = LIBRARY_PATH:/usr/local/cuda/lib64" 123 原来文章中的是这样的 export LD_LIBRARY_PATH= LIBRARYPATH:/usr/local/cuda/lib64"123exportLDLIBRARYPATH=LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH= P A T H : / u s r / l o c a l / c u d a / b i n e x p o r t C U D A H O M E = PATH:/usr/local/cuda/bin export CUDA_HOME= PATH:/usr/local/cuda/binexportCUDAHOME=CUDA_HOME:/usr/local/cuda
123
但是我使用的是上面那个
然后让更改生效
source ~/.bashrc

环境变量这里和windows 一样谁放前面执行谁

cuda 那个软链接放前面可以用
sudo rm -rf cuda 删除cuda这个软链接
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda
将/usr/local/cuda链接到 /usr/local/cuda-9.0 自由切换
把cudn-10.0放前面.切换指令会无效.

3 安装cudnn 5.1
下载地址:https://developer.nvidia.com/rdp/cudnn-archive
安装 cudnn V5.1 library for linux
解压文件
得到文件夹 cuda
复制 cuda文件夹下的文件到cuda对应的目录,更改权限,安装完成
命令如下
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
将 cuda/include/cudnn.h复制到/usr/local/cuda/include/目录下
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
将cuda/lib64/libcudnn*(所有前缀匹配libcudnn的文件)复制到/usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
将 /usr/local/cuda/include/cudnn.h设置为所有人都可以读
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
将/usr/local/cuda/lib64/libcudnn*设置为所有人都可以读
注意: 之前我下载的是deb的安装文件,直接用dpkg -i命令安装这个,然后不管用,我就下载了可以解压,然后自己复制文件的那个版本
4 切换版本
上面涉及到目录的,都是cuda,没有指定哪一个,就是因为使用软链接的方式,在/usr/local文件夹下面看到,有两个版本的cuda,如下图:
现在指向的是8.0版本
进入/usr/local

nvcc -V 查看cuda版本

要想切换版本:删除这个软链接,自己建立一个指向9.0的软链接
进入/usr/loca目录下
sudo rm -rf cuda 删除cuda这个软链接
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda
将/usr/local/cuda链接到 /usr/local/cuda-9.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值