【记录】Ubuntu20.04安装CUDA和cuDNN

news2024/9/30 19:27:48

本文记录下如何在Ubuntu20.04系统中安装CUDA和cuDNN。

这里简要介绍下CUDA和cuDNN分别是什么。CUDA 是 NVIDIA 发明的一种并行计算平台和编程模型。它通过利用图形处理器 (GPU) 的处理能力,可大幅提升计算性能;cuDNN(深度神经网络库)是GPU加速的用于深度神经网络的原语库,即用来加速神经网络的推理。cuDNN相当于是一个编译好的功能包,对CUDA进行辅助,等会儿安装过程中,我们会有所体现。

CUDA的安装

官网下载点击,这个网页打开是,最新版的CUDA,我们可以看一下,比如我这里是CUDA12.0,这里如果大家是跑实验的话,不建议装最新版本的 CUDA,大家可以上Pytorch或Tensorflow的官网看看,目前这些主流的深度学习框架支持的CUDA版本,一般都是早一些的版本,比如这里我给出Pytorch官网的推荐
在这里插入图片描述可以看出PyTorch目前支持的CUDA版本为 CUDA11.6 或 11.7,这个就要求我们在安装 CUDA时候,要装合适的版本,不然的话,会发现安装的高版本CUDA未必能找到合适的Torch版本,这个我测试了,我刚开始直接装的CUDA12,然后发现pytorch无法装GPU版的,只能安装 cpu版本,这个不是我们想要的,所以,推荐大家先安装低版本的 CUDA。
在这里插入图片描述
好了,有了以上的啰嗦,这里我们开始到 先前CUDA版本的下载页面,进行下载合适版本的 CUDA,这里我选择 CUDA11.6,网址点击打开
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下载后,直接道对应的下载文件夹,输入命令,进行安装即可,输入该命令,大概需要等待一会儿,这里耐心等待就行

sudo sh cuda_11.6.0_510.39.01_linux.run

然后在下面的页面中,输入 accept ,在等待一会儿。
在这里插入图片描述
然后会弹出这个安装选择项,这里将第一个 Driver选项,直接点击空格键,取消安装,因为我们已经安装了 Nvidia 驱动了,如果您没安装,请参看该博文

在这里插入图片描述
然后到 install 进行安装即可,等待一会儿,
在这里插入图片描述
安装成功后,划线部分为安装目录
在这里插入图片描述

配置 CUDA ,注意安装CUDA后,会在您的 /usr/local/文件夹下多一个 /usr/local/cuda 的文件夹,该文件夹其实是 /usr/local/cuda11.6 文件夹的一个链接,两者本质上是相同的,所以配置的时候,可以直接按照 /usr/local/cuda 进行配置就行,会自动链接到 /usr/local/cuda11.6。接下来说下环境的配置。

【再说一遍】:cuda安装目录为/usr/local/cuda-xxx,xxx为版本号,同时,cuda还会建立一个/usr/local/cuda同步链接,所以可以直接将该路径添加至环境变量,之后更换cuda版本,也不需要修改环境变量。
打开命令框,输入根环境的文件:

vi ~/.bashrc

在该文件末尾,加上下面的内容(注:如果您发现在编辑过程中,退格键和上下左右键有问题,可以参考该博文)

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

添加后,保存文件,然后激活该配置

source ~/.bashrc

然后在命令框中,输入 nvcc -V ,即可看到自己的cuda版本
在这里插入图片描述

如果版本选错,可以进行CUDA的卸载

如果您安装后,发现CUDA的版本不太对,这时候需要将已安装的CUDA卸载,这个卸载非常简单,在您下载的 /usr/local/cuda11.6/bin 文件夹,有个 cuda-uninstaller 执行文件,直接运行命令,等待即可看到已经卸载干净了,然后重新安装另外版本的 CUDA即可:
sudo ./cuda-uninstaller

cuDNN的安装

下载链接
这个网址点进去后,会发现是一个登陆页面,这个需要您登陆下, 貌似可以邮箱也可以微信,需要您注册个账号,登录下就可以下载。
在这里插入图片描述
在这里插入图片描述
可以微信进行登录
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
登陆成功,直接点击 该链接点击
https://developer.nvidia.com/rdp/cudnn-download
在这里插入图片描述
在这里插入图片描述
下载完后,需要对 cuDNN 进行解压,解压后,就可以将里面改 include 和 lib 文件复制到 cuda 了,网上说有的版本,解压后会有个 cuda 文件夹,我下载的没有看到有 cuda 文件夹,还是原来 cuDNN 解压后的文件夹,然后里面是有 include 和 lib 文件夹的,按照下面的命令,将其复制到 cuda 的文件夹即可

sudo cp cuDnn***/include/cudnn*.h /usr/local/cuda/include
sudo cp cuDnn***/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

然后输入命令

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述
这就成功了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/96089.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《西西弗神话》笔记——不期待人生可以过得很顺利,但我希望碰到人生难关的时候,自己可以是它的对手

目录 一、作者生平 二、经典摘录 1、悲剧从本质上讲是对苦难的反抗 2、自杀实质上是一种逃避,它是反抗的对立面 3、不是否认生活本身 4、书的宗旨就是要讨论荒谬与自杀的关系 5、真正严肃的哲学问题只有一个:自杀 6、了解人是否能够义无反顾地生…

【2022.12.16】备战春招Day11——每日一题 + 142. 环形链表 II + 93. 复原 IP 地址

【每日一题】 1785. 构成特定和需要添加的最少元素 题目描述 给你一个整数数组 nums &#xff0c;和两个整数 limit 与 goal 。数组 nums 有一条重要属性&#xff1a;abs(nums[i]) < limit 。 返回使数组元素总和等于 goal 所需要向数组中添加的最少元素数量 &#xff0c;添…

SQL语句练习05

目录 一、建表并插入数据 二、查询语句练习 一、建表并插入数据 一、建立如下 &#x1d446; 表(命名格式“姓名拼音_三位学号_week7s”&#xff0c;如LBJ_023_week7s&#xff09;&#xff0c;并插入数据 create table LYL_116_week7s(SNO varchar(3),SNAME varchar(10), CI…

【数据结构Java版】Stack栈的妙用

目录 一、栈的概念 二、栈的使用 &#xff08;1&#xff09;主要方法 &#xff08;2&#xff09;实例演示 三、栈的模拟实现 四、栈相关练习题 &#xff08;1&#xff09;有效的括号 &#xff08;2&#xff09;栈的压入、弹出序列 &#xff08;3&#xff09;逆波兰表达…

SpringBoot中mapper-locations配置多个mapper包路径

1 问题描述 大家都知道mapper-locations是配置mapper路径的&#xff0c;但是有时候mapper路径可能不止一个 比如说有两个包A和B&#xff0c;A和B里面的业务模块不同就需要写各自的mapper&#xff0c;这时候如果只配置A的mapper路径&#xff0c;那么B的mapper路径肯定扫码不到…

无法打开jupyter notebook

无法打开jupyter notebook遇到的问题问题分析tornado什么是tornado?如何更新tornado问题解决解决方法一解决方法二参考资料遇到的问题 今天打开anaconda prompt的时候想要打开jupyter notebook,但是遇到的了如下报错: Traceback (most recent call last): File “C:\ProgramD…

C++ Reference: Standard C++ Library reference: Containers: map: multimap: begin

C官网参考链接&#xff1a;https://cplusplus.com/reference/map/multimap/begin/ 公有成员函数 <map> std::multimap::begin C98 iterator begin(); const_iterator begin() const; C11 iterator begin() noexcept; const_iterator begin() const noexcept;返回指向开…

python tkinter实现文本编辑器

题目 请设计并实现一款文本编辑器。程序允许用户打开、保存文本文件。 例如&#xff1a; 在用户打开文件时&#xff0c;会呈现打开文件对话框&#xff0c; 在用户保存文件时&#xff0c;会呈现保存为对话框 当打开文件出错时&#xff0c;程序不会崩溃&#xff0c;而是会提示…

【Python】CSV,TSV语料读取的简单操作——内建包csv的使用

背景 在做文本相关的任务时&#xff0c;难免会遇见csv&#xff0c;tsv等格式的数据&#xff0c;但有时只是读取&#xff0c;然后传入到下一个任务中而已&#xff0c;并不会做过多的操作。在这种情况下&#xff0c;可以使用pandas读取&#xff0c;但是难免有些臃肿&#xff0c;…

切记不要接受任何降薪,不要同意任何调岗,更不要害怕HR威胁背调,跟HR聊天都要录音!...

最近很多人都遭遇了裁员和降薪&#xff0c;一位网友给大家提出了几点建议&#xff1a;1.不要接受任何降薪&#xff0c;不要签字同意。如果公司敢降薪就直接去仲裁&#xff0c;但如果签字之后&#xff0c;降薪就属于你情我愿了。2.不要签字同意调岗&#xff0c;调岗会不会有薪水…

【博客559】更出色的网络监控采集方案---Telemetry(遥测技术)

网络监控方案—Telemetry(遥测技术) 1、几种不同采集方式对比&#xff1a;CLI&#xff0c;SNMP&#xff0c;SYSLOG&#xff0c;Telemetry CLI&#xff1a; 作为应用最广使用最久的网络监控技术&#xff0c;最大的问题就是兼容性&#xff0c;同类产品不同厂商之间的兼容性&…

web前端-javascript-创建Array数组和元素类型(字面量创建,构造函数创建,元素可以是任意数据类型,二维数组)

文章目录创建 Array 数组1. 普通方法2. 使用字面量来创建数组3. 使用构造函数来创建数组数组的元素类型1. 创建一个长度为 10 的数组2. 数组中的元素可以是任意的数据类型2.1. 数组中的元素也可以是对象2.2. 也可以是一个函数2.3. 数组中也可以放数组,如下这种数组我们称为二维…

早餐店+饮品+烘焙,如何做多群体早中晚生意?

早餐吃好、午餐吃饱、晚餐少吃&#xff0c;如今早餐店已经不再局限于豆浆油条、鸡蛋面包&#xff0c;同时还有饮品&#xff0c;芳芳珍早鲜奶店是一家早餐店&#xff0c;30个SKU销量很高&#xff0c;一天中有近75%的销售都集中在早餐场景。 这家早餐店是如何做的&#xff1f; 01…

【交通标志识别】BP神经网络交通标志识别(带面板)【含GUI Matlab源码 1647期】

⛄一、BP神经网络交通标志识别简介 道路交通标志用以禁止、警告、指示和限制道路使用者有秩序地使用道路, 保障出行安全.若能自动识别道路交通标志, 则将极大减少道路交通事故的发生.但是由于道路交通错综复杂, 且智能识别技术尚未成熟, 为了得到高效实用的道路标志识别系统, …

笔试训练(2)

// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {StringBuffer s1new StringBuffer("A");StringBuffer s2new StringBuffer("B");process(s1,s2);System.out.println(s1);System.out.pr…

推翻OpenAI结论,DeepMind重新定义预训练的参数和规模关系!

文&#xff5c;王思若前言从20年开始&#xff0c;“最大语言模型”的桂冠被各大研究机构和科技公司竞相追逐&#xff0c;堆砌参数&#xff0c;猛上算力&#xff0c;开启了“大炼丹”时代&#xff0c;模型参数量仿佛越大越好&#xff0c;甚至GPT-4模型参数量将超过100万亿的传闻…

14年本科毕业,3个月转行软件测试月薪13.5k,32的岁我终于找对了方向

​职场奋斗的过程&#xff0c;其实就是不停地做选择&#xff0c;做判断的过程。决定你发展的&#xff0c;多数取决于你的判断和眼光。你任何的投入&#xff0c;都决定了你未来的格局和结局。今天跟大家分享的我的转行故事&#xff0c;一起来看看吧。 为了新的目标和方向&#x…

PDF怎么拆分/合并? 3款 PDF 拆分和合并工具分享

以PDF格式传输文档已广泛使用很长时间&#xff0c;也是传输文档的最常见方式之一。但是&#xff0c;当涉及到从众多PDF文件中提取特定页面并将它们放在一起以制作新的PDF文档时&#xff0c;我们将需要专用软件来合并和拆分多个PDF。 现在&#xff0c;如果您想知道&#xff0c;…

叶面积指数(LAI)介绍以及遥感估算方法

前言 叶面积指数精度是正确预测产量的重要参数之一。 同时&#xff0c;还有那么多疑问&#xff0c;如何才能正确&#xff1f; 以及如何使用最有效的方法计算叶面积指数&#xff08;LAI&#xff09;&#xff1f; 什么是最佳 LAI&#xff1f; 哪些估算叶面积指数精度的方法比较好…

Matplotlib基础绘图函数示例

1. pyplot基础图表函数概述 2. pyplot饼图的绘制 3. pyplot直方图的 绘制 4. pyplot极坐标图的绘制 5. pyplot散点图的绘制 单元小结