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

文章目录

  • 简介
  • 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.rhkb.cn/news/212809.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux下Redis安装及配置

首先下载redis安装包:地址 这里我使用的是7.0版本的! 将文件上传至linux上,此处不再多叙述,不会操作的,建议使用ftp! 第一步:解压压缩包 tar -zxvf redis-7.0.14.tar.gz第二步:移…

前端-杂记

1 子域请求时候会默认带上父域下的Coolkie 2 document.cookie 设置cookie只能设置当前域和父域,且path只能是当前页或者/ 比如当前页面地址为 http://localhost:3000/about 我们设置 document.cookie "demo11"; 设置 document.cookie "demo22; …

jetbrains卡顿(Pycharm等全家桶)终极解决方案,肯定解决!非常肯定!

话越短,越有用,一共四种方案,肯定能解决!!!非常肯定!! 不管你是什么原因卡顿:有多行注释的代码文件滚动卡、新版本卡、各种滚动卡、字号大也卡、键入代码卡,各…

四十一、高可用

一、定义 TC(Tencent Cloud)的异地多机房容灾架构是指,在不同的地理位置上配置多个数据中心,以确保系统的高可用性和容灾能力。当某个数据中心发生故障或者不可用时,可以自动切换到其他数据中心来提供服务,…

ATFX汇市:11月非农就业报告来袭,美指提前高位回落

ATFX汇市:今日21:30,美国劳工部劳动统计局将公布美国11月非农就业报告,其中两项数据需重点关注。其一,11月季调后非农就业人口,前值为增加15万人,预期值增加17.5万人。由于10月份的非农数据出现爆冷&#x…

分布式系统中最基础的 CAP 理论及其应用

对于开发或设计分布式系统的架构师、工程师来说,CAP 是必须要掌握的基础理论,CAP 理论可以帮助架构师对系统设计中目标进行取舍,合理地规划系统拆分的维度。下面我们先讲讲分布式系统的特点。 分布式系统的特点 随着移动互联网的快速发展&a…

Python文件操作(txt + xls + json)

文章目录 简介1、使用with_open读取和保存:.txt .bin(二进制文本)1.1、with open语句详解1.1、项目实战 2、使用pandas读取和保存:.xls .xlsx2.1、pandas简介2.2、环境配置2.3、项目实战 3、 使用json.dump读取和保存&#xff1…

2023 金砖国家职业技能大赛网络安全省赛理论题样题(金砖国家未来技能挑战赛)

2023 金砖国家职业技能大赛网络安全省赛理论题样题(金砖国家未来技能挑战赛) 一、参加比赛的形式 团队参与,每队2名选手(设队长1名)。 二、项目项目阶段简介 项目由四个阶段组成,将按顺序完成。向参与者…

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

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

聊聊模糊测试,以及几种模糊测试工具的介绍!

以下为作者观点: 在当今的数字环境中,漏洞成为攻击者利用系统漏洞的通道,对网络安全构成重大威胁。这些漏洞可能存在于硬件、软件、协议实施或系统安全策略中,允许未经授权的访问并破坏系统的完整性。 根据 "常见漏洞与暴露…

【计算机网络】应用层电子邮件协议

一、电子邮件系统架构 电子邮件是一个典型的异步通信系统,发送方从UA,也就是邮件客户端,通过应用层SMTP协议,传输层tcp协议,发送给发送方的邮件服务器,比如使用的是163邮箱,163提供的SMTP服务器…

C //例10.3 从键盘读入若干个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。

C程序设计 (第四版) 谭浩强 例10.3 例10.3 从键盘读入若干个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。 IDE工具:VS2010 Note: 使用不同的IDE工具可能有部分差异。 代码块 方法…

苹果Vision Pro即将量产

据界面新闻消息,苹果公司将在今年12月正式量产第一代MR(混合现实)产品Vision Pro。苹果公司对Vision Pro寄予了厚望,预计首批备货40万台左右,2024年的销量目标是100万台,第三年达到1000万台。 苹果的供应…

Vue极致性能优,史上最全指南!!!(持续更新)

关于Vue性能优化这个话题感觉大家一定都不陌生,不管做没做过,肯定是多少听说过的,面试的时候也没被少问 每次面试被问到性能优化,肯定只会照着面试题上的答案背一遍,并且心里默念,别再往下问啦&#xff0c…

mediapipe+opencv实现保存图像中的人脸,抹去其他信息

mediapipeopencv MediaPipe本身不提供图像处理功能,它主要用于检测和跟踪人脸、手势、姿势等。如果您想要从图像中仅提取人脸主要信息并去除其他信息. # codingutf-8 """project: teatAuthor:念卿 刘file: test.pydate&…

数字化升级,智慧医疗新时代——医院陪诊服务的技术创新

在信息技术飞速发展的今天,医疗服务正迎来数字化升级的新时代。本文将探讨如何通过先进技术的应用,为医院陪诊服务注入更多智慧元素,提升患者和家属的医疗体验。 1. 创新医疗预约系统 # Python代码演示医疗预约系统的简单实现 class Medic…

ZStack Cloud构建青州市中医院核心业务云平台

青州市中医院通过ZStack Cloud云平台构建云基础设施,实现对原有物理机和分布式存储平台的利旧和纳管,有效将HIS(医院管理系统)、PACS(影像系统)等核心业务系统进行统一管理;同时,借助…

如何选择 Facebook 代理?

Facebook上从事业务推广、广告或资料推广以及群组的用户需要高质量且可靠的代理。使用代理,用户可以在账号被封锁的情况下访问自己的资料,同时与多人进行即时通信,并能够: 自动发送邀请参加各种活动; 通过特殊的机器人…

OpenCL学习笔记(三)手动编译开发库(win10+mingw64)

前言 有的小伙伴仍然在使用mingw编译器,这时只能重新编译opencl的sdk库。本文档简单记录下win10下,使用mingw11.20编译的过程,有需要的小伙伴可以参考下 一、安装所需软件 1.安装git,教程比较多,不再重复 2.安装cm…

【开发问题】vue的前端和java的后台,用sm4,实现前台加密,后台解密

sm4加密 vue引入的包代码加密解密 javamaven代码运行结果 vue 引入的包 npm install sm-crypto代码加密解密 加密: key :代表着密钥,必须是16 字节的十六进制密钥 password :加密前的密码 sm4Password :代表sm4加密…