超详细介绍Ubuntu系统安装CUDA和cuDNN【一站式服务!!!】

news2024/11/18 19:50:10

文章目录

  • 简介
  • 1.安装显卡驱动
    • 查看显卡型号
    • 下载并安装NVIDIA驱动
      • 使用Ubuntu自带的软件和更新(Software&Updates)工具安装【博主使用的这种方式,推荐】
      • 自行下载使用命令行安装【自由度更高,大佬自行尝试】
  • 2.下载并安装CUDA
  • 3.下载并安装cuDNN
  • 参考资料

简介

想必很多做DL的小伙伴都需要在Linux下面进行,其中Ubuntu Linux是一个非常好的选择。这篇博客,博主将自己在Ubuntu系统下面从零开始安装CUDA和cuDNN的步骤做好了总结,仅供参考!若有更新或者不同之处,欢迎评论区讨论。🏃🏃

安装CUDA和cuDNN一般需要先后完成以下几步,并且具有先后顺序:

  1. 安装显卡驱动,完成后nvidia-smi指令可以使用🚀;
  2. 安装CUDA Toolkit,安装完成后nvcc -V指令正常输出🚀;
  3. 安装cuDNN,安装完成后PyTorch可以调用相关的计算包🚀。

重要说明⁉️:我们常说的安装CUDA,实际上是指安装CUDA Toolkit。nvidia-smi指令查看的是驱动版本的CUDA(我们用CUDA-driver表示)。nvcc -V查看的是PyTorch等深度学习环境调用的CUDA版本,也是我们常说的CUDA(我们用CUDA-dl表示)。这里只需要 C U D A − d r i v e r ≥ C U D A − d l {\rm CUDA-driver} \geq {\rm CUDA-dl} CUDAdriverCUDAdl 即可,不一定要完全一致。

1.安装显卡驱动

查看显卡型号

这里我们将用到两条Linux指令和一个显卡ID和型号对照查询的网页(PCI devices: The PCI ID Repository):
* lspci3:显示 Linux 系统上的设备和驱动程序。
* grep(globa regular expression)4:用于查找文件里符合条件的字符串或正则表达式,即将输入文本或者文件中符合条件的内容输出或者显示。
* 竖线|:在Linux中竖线|是管道符的意思,用于连接两个命令,将第一个命令的输出作为第二个命令的输入。

lspci | grep -i nvidia

注意:🔈🔈

  1. grep命令的参数-i表示后面内容不区分大小写。
  2. 我们这里没有使用网上部分资料里面说的lspci | grep -i vga指令。因为VGA compatible ontroller是输出图形,3D Controller是进行3D计算,并且Intel的双显卡方案就是用Intel集成显卡输出图形,用独显进行3D计算,故查看NVIDIA显卡版本,需要用的lspci | grep -i 3d或者lspci | grep -i nvidia等指令查看,否则会有可能显示Intel核显信息。
  3. 没有安装NVIDIA的显卡驱动是无法使用nvidia-smi查看显卡信息的。
  4. 没有安装CUDA是无法使用nvcc -V或者nvcc --version查看显卡信息的。

博主这里查找到的NVIDIA显卡ID是1f97,通过网址查询对应的显卡型号是MX450。😆😆一种笔记本用的NVIDIA显卡。

在这里插入图片描述
在这里插入图片描述

下载并安装NVIDIA驱动

这里介绍两种常用的方法下载和安装NVIDIA驱动。

使用Ubuntu自带的软件和更新(Software&Updates)工具安装【博主使用的这种方式,推荐】

ubuntu-drivers devices
sudo apt install nvidia-driver-535

❗️🆘注意:这里使用sudo apt install nvidia-driver-535命令即可,不能使用sudo apt install nvidia-driver-535-server-open。上述指令中驱动版本需要根据自身情况而定。也可以使用下面的命令直接安装推荐版本。

sudo ubuntu-drivers autoinstall

在使用sudo apt install nvidia-driver-535指令安装NVIDIA驱动之前,软件和更新里面显卡驱动显示是灰色的,无法选中!安装完成之后就会自动显示安装好的显卡驱动,在这个界面选择重启,或者直接重启即可!【不重启显卡驱动暂时不会起作用哈,nvidia-smi只会显示:No devices were found
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

nvidia-smi

在这里插入图片描述

nvidia-settings

在这里插入图片描述

自行下载使用命令行安装【自由度更高,大佬自行尝试】

下载地址:

  1. 中文:https://www.nvidia.cn/Download/index.aspx?lang=cn🚀
  2. English:https://www.nvidia.cn/Download/index.aspx?lang=cn💥
  • 查看Ubuntu系统信息
    用得到的指令是uname。uname是一个Unix和类Unix操作系统上的程序,可以打印当前计算机和操作系统的名称、版本及其他细节。uname系统调用和命令第一次出现在PWB/UNIX上。用到的uname指令参数是srnp分别表示显示内核名字内核版本主机名CPU信息。🚩CPU信息:x86表示32位系统;x86_64表示64位系统。系统位数是我们安装NVIDIA显卡驱动需要的。
sudo uname -srnp

在这里插入图片描述
当然也可以在设置(setting)里选择关于(about)查看系统信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

【下面用于自定义安装显卡驱动的指令仅供参考】

  1. 更新Ubuntu软件包
sudo apt update && sudo apt upgrade

在这里插入图片描述

  1. 安装依赖包
sudo apt install g++ gcc make

在这里插入图片描述

  1. 执行安装指令
    查看NVIDIA驱动安装包权限,这里没有执行权限。需要先给安装包添加可执行权限。chmod指令700或者777均可,前者给当前用户添加读写执行权限,后者给所有用户添加读写执行权限。
ls -lh Downloads/

在这里插入图片描述

sudo chmod 700 Donwnloads/NVIDIA-Linux-x86_64-535.146.02.run

在这里插入图片描述
安装

sudo Donwnloads/NVIDIA-Linux-x86_64-535.146.02.run

重启电脑即可!💯

2.下载并安装CUDA

我们常说的安装CUDA,实际上是指安装CUDA Toolkit。当Ubuntu系统中并未安装CUDA时,nvcc指令是执行不成功的。这里提示说可以直接通过指令sudo apt install nvidia-cuda-toolkit进行安装,我没有尝试,真的勇士可以试试看是否可行!!!
在这里插入图片描述

  • 查看对应版本的CUDA
    查看网址:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
    博主这里的驱动版本是535.129.02对应的驱动CUDA是12.2,因此安装驱动版本需求小于535.129.02的CUDA Toolkit都不会有问题,但不建议安装太低版本的CUDA Toolkit。这里可以结合当下PyTorch官网https://pytorch.org的安装推荐CUDA版本。比如博主这里推荐的就是安装CUDA 11.8和CUDA 12.1的CUDA Tookit。这里我安装的是CUDA 11.8 GA,只需要驱动版本大于520.61.05,显然这里我们是满足的。
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • 进入NVIDIA CUDA Tollkit下载页面,下载安装包。

下载地址: https://developer.nvidia.com/cuda-toolkit
历史版本下载地址: https://developer.nvidia.com/cuda-toolkit-archive

直接进入 CUDA 下载地址点击下载会默认下载最新版本的 CUDA, 如此出12.1版本. 博主笔记本对应的12.0, 则需要在网页的下方找到 Archive of previous CUDA releases, 下载之前的版本.

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

CUDA测试通过!撒花🌺🌺🌺

在这里插入图片描述

3.下载并安装cuDNN

yizhanshifuwu
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 将压缩包解压
tar -xf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz

在这里插入图片描述

  • 复制文件到CUDA安装目录
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda11-archive/include/* /usr/local/cuda-11.8/include

在这里插入图片描述

sudo cp cudnn-linux-x86_64-8.9.7.29_cuda11-archive/lib/libcudnn* /usr/local/cuda-11.8/lib64

在这里插入图片描述

  • 添加读取权限
sudo chmod a+r /usr/local/cuda-11.8/lib64/cudnn.h
sudo chmod a+r /usr/local/cuda-11.8/lib64/libcudnn*

在这里插入图片描述

  • 测试
cat /usr/local/cuda-11.8/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述


到此,完结!!!】💥💥💥


参考资料

  1. 知乎:ubuntu查看显卡信息、卸载驱动、CUDA
  2. CSDN:Linux-ubuntu系统查看显卡型号、显卡信息详解、显卡天梯图
  3. 在 Linux 上使用 lspci 命令查看硬件情况
  4. 菜鸟教程:Linux grep 命令
  5. PCI devices: The PCI ID Repository
  6. 博客园:ubuntu显卡及驱动
  7. APT 与 APT-GET 之间有什么区别?
  8. CSDN:apt 和 apt-get的区别
  9. CSDN:怎么查看ubuntu是32位还是64位以及版本信息
  10. CSDN:Ubuntu18-22.04安装和干净卸载nvidia显卡驱动——超详细、最简单
  11. Ubuntu 20.04 安装NVIDIA显卡驱动+cuda 11.7+cudnn
  12. 知乎:ubuntu查看显卡信息、卸载驱动、CUDA
  13. CSDN:详解 Windows 10 安装 CUDA 和 CUDNN
  14. Ubuntu安装Nvidia英伟达显卡驱动,安装Cuda和Cudnn配置机器学习环境
  15. Ubuntu 20.04 安装NVIDIA显卡驱动+cuda 11.7+cudnn

收集整理和创作不易, 若有帮助🉑, 请帮忙点赞👍➕收藏❤️, 谢谢!✨✨🚀🚀

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

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

相关文章

docker容器_自定义上传jenkins镜像(Dockerfile实现)

1.创建jenkins目录,并上传相应的包 mkdir /jenkins/ 2.创建一个Dockerfile文件 FROM daocloud.io/library/centos:7#把当前目录下的jenkins.war包传到内部容器的/ 下 ADD ./jenkins.war /#把当前目录下的jdk传到内部容器的/opt/,并解压 ADD ./jdk-11.0.19_linu…

【软件推荐】文本转语音,语音转wav,导入ue5

文字转语音 在线免费文字转语音 - TTSMaker官网 | 马克配音https://ttsmaker.cn/ 文件转换器 语音转wav Convertio — 文件转换器https://convertio.co/zh/

前端学习微信小程序开发

1.微信小程序项目结构 2.WXML和HTML的区别 3.WXSS与CSS的区别 4.小程序中的.js文件 5.小程序的宿主环境 宿主环境是指程序运行所必须的依赖环境,因此手机微信时小程序的宿主环境。小程序宿主环境包含了通信模型、运行机制、组件、API。 (1)…

基于jsp+servlet的图书管理系统

基于jspservlet的图书管理系统演示地址为 图书馆后台管理系统 用户名:mr ,密码:123 图书馆管理系统主要的目的是实现图书馆的信息化管理。图书馆的主要业务就是新书的借阅和归还, 因此系统最核心的功能便是实现图书的借阅和归还。此外,还需要提供图书…

小视频怎么做成二维码?视频二维码3步生成

在日常工作和生活中经常会看到各种类型的小视频、短视频,比如网页、抖音等等的视频都是可以下载查看的。当我们想要将下载视频分享给多个人看时,生成二维码的方式会更加的方便,那么视频如何生成二维码呢?下面就将快捷生成二维码的…

基于SpringBoot+Vue学生成绩管理系统前后端分离(源码+数据库)

一、项目简介 本项目是一套基于SpringBootVue学生成绩管理系统,主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目可以直接作为bishe使用。 项目都经过严格调试,确…

【送书活动四期】被GitHub 要求强制开启 2FA 双重身份验证,我该怎么办?

记得是因为fork了OpenZeppelin/openzeppelin-contracts的项目,之后就被GitHub 要求强制开启 2FA 双重身份验证了,一拖再拖,再过几天帐户操作将受到限制了,只能去搞一下了 目录 2FA是什么为什么要开启 2FA 验证GitHub 欲在整个平台…

【每日一题】重新规划路线

文章目录 Tag题目来源题目解读解题思路方法一:深度优先搜索方法二:广度优先搜索 写在最后 Tag 【深搜】【广搜】【树】【2023-12-07】 题目来源 1466. 重新规划路线 题目解读 题目给定一张由 n个点(使用 0 到 n−1 编号)&#…

优秀案例 | 元宇宙双语财经科技主播“舒望”主持首届粤港澳大湾区元宇宙国际传播论坛

12月6日,由南方财经全媒体集团指导、大湾区元宇宙国际传播实验室(GBA MIC Lab)主办、南财国际传播中心和21世纪经济报道共同承办,以“多元共创开放共享”为主题的首届粤港澳大湾区元宇宙国际传播论坛在广州隆重开幕。 “立足湾区,…

当然热门的原创改写改写大全【2023最新】

在信息时代,随着科技的不断发展,改写软件逐渐成为提高文案质量和写作效率的重要工具。本文将专心分享一些好用的改写软件,其中包括百度文心一言智能写作以及147SEO改写软件。这些工具不仅支持批量改写,而且在发布到各大平台后能够…

“福利”还是“陷阱”?公司给员工放假3个月引发劳动权益争议

近日,广东佛山一家玻璃制造公司的长达3个月放假通知引发广泛关注。这一决策引发了社会对员工福利和公司经营平衡的深入思考。公司表示,此次决策是为了维修老化设备,但随之而来的疑虑则主要集中在员工的收入和劳动权益问题上。 公司表示&…

SQL进阶 | CASE表达式

本文所有案例基于《SQL进阶教程》实现。 概述 SQL中的CASE表达式是一种通用的条件表达式,类似于其他语言中的if/else语句。它用于在SQL语句中实现条件逻辑。CASE表达式以WHEN子句开始,后面跟着一个或多个WHEN条件,每个WHEN条件后面跟着一个TH…

实战:Docker Compose 下 Nginx、Java、Mysql 和 Redis 服务协同部署(包含解决浏览器访问Linux部署服务器本地资源问题)

1. 背景 在该实战中,我们将探讨如何使用Docker Compose协同部署Nginx、Java、Mysql和Redis服务,实现一个视频上传与展示的应用。具体需求如下: Java应用负责上传视频和图片资源到Nginx目录下,作为资源服务器。Nginx服务作为静态…

C++相关闲碎记录(5)

1、容器提供的类型 2、Array Array大小固定&#xff0c;只允许替换元素的值&#xff0c;不能增加或者移除元素改变大小。Array是一种有序集合&#xff0c;支持随机访问。 std::array<int, 4> x; //elements of x have undefined value std::array<int, 5> x {…

cpu 300% 爆满 内存占用不高 排查

top查询 cpu最高的PID ps -ef | grep PID 查看具体哪一个jar服务 jstack -l PID > ./jstack.log 下载/打印进程的线程栈信息 可以加信息简单分析 或进一步 查看堆内存使用情况 jmap -heap Java进程id jstack.log 信息示例 Full thread dump Java HotSpot(TM) 64-Bit Se…

陪诊软件开发|北京陪诊系统功能详解

在这个快节奏的生活中&#xff0c;寻求医疗服务往往让人感到繁琐和时间浪费。然而&#xff0c;现如今&#xff0c;随着科技的不断进步&#xff0c;一项创新的上门服务系统正在改变传统的医疗体验&#xff0c;带来了前所未有的便利和舒适。 陪诊系统功能&#xff1a; 1、诊前约…

海上液化天然气 LNG 终端 | 图扑数字孪生

关于 LNG 液化天然气 (Liquefied Natural Gas&#xff0c;简称 LNG) 在能源转型过程中被广泛认可为相对较清洁的能源选择。 相对于传统的煤炭和石油燃料&#xff0c;LNG 的燃烧过程产生的二氧化碳 (CO2) 排放较低。LNG 的燃烧释放的二氧化碳排放较少&#xff0c;因此对应对气…

Theamleaf导出pdf模版编写(原始th/td编写表格)

需求&#xff1a;简单的theamleaf编写表格就是简单的th/td&#xff0c;新需求是导出的模版是学员table表&#xff0c;每个项目的学员数量是不定的&#xff0c;所以用到 <tr th:each"item,start:${studentList}"> 所有代码&#xff1a; <!DOCTYPE html>…

12月7日作业

使用QT模仿一个登陆界面&#xff08;模仿育碧Ubisoft登录界面&#xff09; #include "myqq.h"MyQQ::MyQQ(QWidget *parent): QMainWindow(parent) {this->resize(880,550); //设置窗口大小this->setFixedSize(880,550); //固定窗口大小this->setStyleShee…

【Docker二】docker网络模式、网络通信、数据管理、资源控制

目录 一、docker网络模式&#xff1a; 1、概述 2、docker网络实现原理&#xff1a; 3、docker的网络模式&#xff1a; 3.1、bridge模式&#xff1a; 3.2、host模式&#xff1a; 3.3、container模式&#xff1a; 3.4、none模式&#xff1a; 3.5、自定义网络模式&#xf…