Ubuntu多CUDA版本安装及切换_ubuntu切换cuda版本-程序员宅基地

技术标签: cuda  tensorflow  linux  深度学习实践  pytorch  

可同时安装多个CUDA版本在/usr/local路径下,使用软连接实现版本的切换

一、查看已安装的CUDA版本

所有已安装的CUDA版本默认保存在/usr/local路径下,cd到该路径下通过ls命令查看:
在这里插入图片描述
文件夹中cuda-11.0表示当前计算机上安装了CUDA11.0版本。

二、查看当前使用的CUDA版本

/usr/local路径下通过stat cuda命令查看当前使用的CUDA版本:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PAPXqaD5-1623847509060)(C:\Users\Guoych\AppData\Roaming\Typora\typora-user-images\image-20210616155245897.png)]
上图显示当前软连接建立在cuda-11.0目录上,表明当前使用的是CUDA11.0版本。

使用cat cuda/version.txt可再次确认:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Px68G75T-1623847509061)(C:\Users\Guoych\AppData\Roaming\Typora\typora-user-images\image-20210616155840449.png)]

三、安装新的CUDA版本——CUDA10.0

1、下载对应版本的CUDA安装包(选择下载runfile文件)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1g7iCK62-1623847509064)(C:\Users\Guoych\AppData\Roaming\Typora\typora-user-images\image-20210616163904377.png)]
2、在下载文件的目录下,通过sudo sh cuda_10.0.130_410.48_linux.run命令进行安装,安装过程中各项选择如下:

#..一堆协议说明...
#直接按q退出协议说明.
accept/decline/quit: accept  #接受协议
 
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48? 
y)es/(n)o/(q)uit: n  #是否显卡驱动包,由于已经安装显卡驱动,选择n
 
Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: y #是否安装工具包,选择y
 
Enter Toolkit Location
[ default is /usr/local/cuda-10.0 ]: #工具包安装地址,默认回车即可
 
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: n #添加链接**注意这个连接,如果之前安装过另一个版本的cuda,除非你确定想要用这个新版本的cuda,否则这里就建议选no,因为指定该链接后会将cuda指向这个新的版本**
 
Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: n #不安装样例

安装后,在/usr/local路径下,通过ls命令查看是否存在新安装的CUDA目录:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nPwUnrYS-1623847509066)(C:\Users\Guoych\AppData\Roaming\Typora\typora-user-images\image-20210616171321140.png)]
可见,新安装的CUDA10.0已存在于该目录下。

四、安装对应的cuDNN(7.4版本)

安装新的版本的CUDA后,还要安装对应的cuDNN。

1、首先下载对应版本的cuDNN
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5CORbvKz-1623847509068)(C:\Users\Guoych\AppData\Roaming\Typora\typora-user-images\image-20210616165014497.png)]
2、cd到cudnn所在的文件夹下进行解压等操作:

tar -zxvf cudnn-10.0-linux-x64-v7.4.2.24.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.0/include/ 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.0/lib64/ 
sudo chmod a+r /usr/local/cuda-10.0/include/cudnn.h /usr/local/cuda-10.0/lib64/libcudnn*
     
cd /usr/local/cuda-10.0/lib64/
sudo ln -sf libcudnn.so.7.4.2 libcudnn.so.7

五、CUDA版本的切换

1、删除原版本的cuda软连接

sudo rm -rf /usr/local/cuda

2、建立新的指向cuda-10.0的软连接

sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda

3、重新查看当前CUDA版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-biJrOkmU-1623847509069)(C:\Users\Guoych\AppData\Roaming\Typora\typora-user-images\image-20210616175518876.png)]
显示当前使用的CUDA版本已转换成CUDA10.0

补充

确认是否已将cuda添加到环境变量,在命令行使用如下命令打开配置文件:

sudo gedit ~/.bashrc

在最后确认有没有下面这几行内容

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

如果没有,将其添加到~/.bashrc的最后,然后运行命令

source ~/.bashrc

使配置的环境变量生效。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43673118/article/details/117966752

智能推荐

验证码的两种生成方式_"<img id=\"code\" src=\"verify/code.action\">"-程序员宅基地

文章浏览阅读1.8k次。验证码是一个非常常见的东西,基本上每一个做web开发的程序员都会遇到。本文介绍两种验证码的生成方式。一种是后台生成验证码,一种是前台直接生成验证码在spring MVC模式 中,后台生成生成验证码传递到前台。后台代码:import java.awt.Color;import java.awt.Graphics;import java.awt.image.BufferedImag_""

VMware16安装CentOS7、网络配置、远程连接_远程访问vm16虚拟机-程序员宅基地

文章浏览阅读1.3k次,点赞2次,收藏8次。目录1、安装准备2、安装3、网络配置4、远程连接安装准备VMware16转载 - Linux>>CentOS 7镜像下载安装转载 - VMware 16 安装 CentOS 7.9 详细图文教程注意1、以下不要选,我选了启动不了虚拟机2、若在安装时配置网络,网关、掩码参数需要确定网络配置:连通网络,设置静态IP初始状态:ping不通百度、IP地址为空、网卡配置文件也是默认配置方法方法一:安装时配置,如上述教程方法二:安装后进入系统配置1、_远程访问vm16虚拟机

Java数据库连接API(JDBC)_java连接数据库用什么api好-程序员宅基地

文章浏览阅读323次。JDBC的PreparedStatement是预编译的Statement,防止SQL注入,由于是预编译的,查询一次之后放到数据库的缓存,下次执行时发现相同,所以执行效率高。_java连接数据库用什么api好

JavaScript增强AJAX基础-程序员宅基地

文章浏览阅读69次。<title>js类型</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <script type="text/javascript"> //num为number类型 v..._ajax增强

Linux驱动开发——串口设备驱动_linux串口驱动开发-程序员宅基地

文章浏览阅读5k次,点赞6次,收藏43次。串口驱动开发_linux串口驱动开发

安装确认书模板_房屋租赁合同模板及审查要点-程序员宅基地

文章浏览阅读292次。公司成立后,选择办公场所成为一项重要工作。一般情况下,公司的办公场所都不是股东的自有房屋,而是需要通过租赁来选择合适的场地用来办公。因此,房屋租赁合同将不可避免的出现在公司经营过程之中,关于审核租赁合同需要关注哪些风险点呢?笔者将在本文中对于一些重点条款进行梳理。(注:本文租赁合同模版来源于深圳市住房和建设局2019年11月制《深圳市房屋租赁合同书(非住宅)》)模板1.1甲方出租给乙方的..._安装完成确认书

随便推点

泛微Ecology9.0流程Ecode实践:通过修改Store对象隐藏流程明细表列实例_泛微oa根据主表选择按钮隐藏明细表列-程序员宅基地

文章浏览阅读570次,点赞7次,收藏9次。Ecology9复写组件,E9隐藏明细表列,E9隐藏明细表栏,泛微隐藏明细表列_泛微oa根据主表选择按钮隐藏明细表列

趋势预测算法大PK!_趋势预测算法 csdn-程序员宅基地

文章浏览阅读1w次,点赞5次,收藏61次。https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/106368395趋势预测在很多应用场景中都会起到至关重要的作用,比如淘宝商家会考虑库存量应该保持在多少才能够满足客户需求,商场希望得知假期会迎来多大的客流量以安排系列活动,机场想要预测五一黄金周会有多大的客运量来做相应的应急部署等。在智能运维领域,趋势预测同样具有一定的理论意义和实际应用价值。趋势预测在运维场景中的应用背景在实时监控系统中会采集到大量的数据,有些数据具有周期性等时_趋势预测算法 csdn

【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)-程序员宅基地

文章浏览阅读713次,点赞23次,收藏21次。摘要本文提出了一种基于神经网络的(NN-based)数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的跟踪问题。控制目标是使系统的输出在每次迭代过程中跟踪参考轨迹。因此,在每次迭代过程的每个相对时间点上,使用广义回归神经网络(GRNN)作为估计器来解决系统的关键参数,并使用径向基函数神经网络(RBFNN)作为控制器来解决控制输入。

Flask核心机制_runtimeerror: working outside of application conte-程序员宅基地

文章浏览阅读6.3k次,点赞2次,收藏4次。python编程快速上手(持续更新中…)python实战网上书店项目(Flask技术点More))1.首先写一段测试代码我们通过db.create_all(app=app)的方式解决了working outside application context的错误,下面我们来深究,这个错误出现的具体原因是什么。from flask import Flask, current_appapp = Flask(name)断点调试这里显示current_app=[LocalProxy]a = cur_runtimeerror: working outside of application context.

java中间件 - redis其他问题_master最好不要做任何持久化工作-程序员宅基地

文章浏览阅读1.1k次。Redis常见性能问题和解决方案?Master最好不要做任何持久化工作,包括内存快照和AOF日志文件,特别是不要启用内存快照做持久化。如果数据比较关键,某个Slave开启AOF备份数据,策略为每秒同步一次。为了主从复制的速度和连接的稳定性,Slave和Master最好在同一个局域网内。尽量避免在压力较大的主库上增加从库Master调用BGREWRITEAOF重写AOF文件,AOF在重写的时候会占大量的CPU和内存资源,导致服务load过高,出现短暂服务暂停现象。为了Master的稳定性,主_master最好不要做任何持久化工作

美赛备赛资料大全_美赛资料-程序员宅基地

文章浏览阅读4.2w次,点赞246次,收藏2.1k次。目录1、美赛比赛网址及其介绍2、美赛摘要页说明3、美赛常用词语与语句4、美赛翻译注意事项5、美赛论文写作一些建议5.1 团队方面准备5.2 摘要表部分5.3 评委关注点6、组队要求7、软件与一些建模网址参考(1)写一篇建模文章大致需要如下技能:(2)数学建模算法总结(3) word小白教程数据资料:(4)1982—2018中国统计年鉴大全链接(5)美国人口普查数据大全链接(6)美国城市数据大全链接(7)全球统计数..._美赛资料

推荐文章

热门文章

相关标签