前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ubuntu22.04安装显卡驱动与cuda+cuDNN

ubuntu22.04安装显卡驱动与cuda+cuDNN

原创
作者头像
对你无可奈何
修改于 2025-05-03 02:55:26
修改于 2025-05-03 02:55:26
1.2K0
举报
文章被收录于专栏:运维专栏运维专栏

背景:

紧接前文:Proxmox VE 8.4 显卡直通完整指南:NVIDIA 2080 Ti 实战。在R740服务器完成了proxmox的安装,并且安装了一张2080ti 魔改22g显存的的显卡。配置完了proxmox显卡直通,并将显卡挂载到了vm 301(ubuntu22.04)的虚拟机上面。现在需要安装显卡驱动与cuda以及cuDNN!

ubuntu22.04安装显卡驱动与cuda+cuDNN

下载并安装显卡驱动

下载显卡驱动到虚拟机实例

登录NVIDIA驱动官方网站,输入对应产品型号,选择操作系统,开始搜索:

这里直接下载了最新的570.144 版本驱动,点击获取下载:

点击立即下载通过浏览器下载驱动到本地:

通过rz or其他ftp工具上传驱动程序到VM301实例:

我这里使用rz上传了驱动程序到/data/soft目录下了,这里的操作全凭喜好,并给驱动程序增加可执行权限:

代码语言:plain
AI代码解释
复制
mkdir -p /data/soft
cd /data/soft
chmod +x NVIDIA-Linux-x86_64-570.144.run

安装所需依赖

代码语言:plain
AI代码解释
复制
sudo apt-get update 
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make

注:如果没有安装如上依赖执行驱动可执行程序会报错 gcc 等依赖的错误:

卸载原有 NVIDIA 驱动(如果有)

代码语言:plain
AI代码解释
复制
sudo apt-get remove --purge nvidia*

禁用 nouveau (通用驱动程序

编辑/etc/modprobe.d/blacklist.conf文件,在末尾添加以下两行,保存后关闭文本

代码语言:plain
AI代码解释
复制
blacklist nouveau

options nouveau modeset=0

在终端输入如下更新,更新结束后重启电脑(必须)

代码语言:plain
AI代码解释
复制
sudo update-initramfs -u
reboot

重启后输入如下指令,如无输出则已关闭 nouveau

安装显卡驱动

进入驱动可执行文件存放目录,执行可执行程序:

代码语言:plain
AI代码解释
复制
cd /data/soft/
./NVIDIA-Linux-x86_64-570.144.run

图像框默认即可,安装页面如下:

具体过程截图太多,只保留最后的截图:

验证驱动 程序安装成功:

代码语言:plain
AI代码解释
复制
nvidia-smi

##根据显卡驱动,下载安装对应的 CUDA

下载并安装cuda

通过nvidia-smi 可以看到显卡最高支持的cuda版本是 12.8,访问cuda下载页面 点击 12.8.0对应链接:

选择自己的操作系统、芯片架构、Linux发行版本、安装方式:

我这里创建了一个目录存放cuda对应deb包,并执行官方提供的安装命令:

代码语言:plain
AI代码解释
复制
mkdir /data/soft/cuda
cd /data/soft/cuda
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8

配置环境变量并验证cuda:

vi ~/.bashrc 到尾行增加如下配置

代码语言:plain
AI代码解释
复制
export PATH=/usr/local/cuda-12.8/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH

刷新bashrc 文件,并验证cuda是否安装成功:

代码语言:plain
AI代码解释
复制
source ~/.bashrc
nvcc –V

根据 CUDA版本,下载对应的 cuDNN 库

cuDNN 是 NVIDIA 专门为深度学习任务开发的加速库,cuDNN 需要和上面安装的 CUDA 版本对应起来:

访问cuDNN 下载页面,依然下载最新的了 v8.9.7版本:

下载linux_x86_x64版本到本地并上传到服务器(这里貌似需要登录NVIDIA账号):

解压 cuDNN 文件

代码语言:plain
AI代码解释
复制
mkdir /data/soft/cuDNN
cd /data/soft/cuDNN
tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz

将以下文件复制到 CUDA 目录(/usr/local/cuda/ 文件夹下面的 include 和 lib64 )

代码语言:plain
AI代码解释
复制
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include 
sudo cp cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

验证是否安装成功:

代码语言:plain
AI代码解释
复制
sudo cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

注意:

以上步骤操作用户为root,包括环境变量的配置环境变量都为root用户,如使用其他用户,请注意增加对应环境变量配置!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
【C语言】函数递归总结
上述就是一个简单的递归程序,只不过上面的递归只是为了演示递归的基本形式,不是为了解决问题,代码最终也会陷入死递归导致栈溢出(Stackoverflow)。
用户11290673
2024/09/25
1070
【C语言】函数递归总结
【C语言】函数递归(含扫雷进阶思路)
    递归是学习C语⾔函数绕不开的⼀个话题,那什么是递归呢?     递归其实是⼀种解决问题的⽅法,在C语⾔中,递归就是函数⾃⼰调⽤⾃⼰。 写⼀个史上最简单的C语⾔递归代码:
TANGLONG
2024/10/15
1550
【C语言】函数递归(含扫雷进阶思路)
关于我、重生到500年前凭借C语言改变世界科技vlog.8——函数递归
在 vlog.2 的 printf 函数的返回值举例中,我们使用多次递归的方式实现了同一个函数的返回值调用,但这只是一个简易的递归,不算真正意义上的递归,那么什么是递归?
DARLING Zero two
2024/11/19
1060
关于我、重生到500年前凭借C语言改变世界科技vlog.8——函数递归
【C语言】递归详解
上述就是⼀个简单的递归程序,只不过上⾯的递归只是为了演示递归的基本形式,不是为了解决问题,代码最终也会陷⼊死递归,导致栈溢出。
zxctscl
2024/01/23
8680
【C语言】递归详解
【C语言系列】函数递归
递归其实是一种解决问题的方法,在C语言中,递归就是函数自己调用自己。 下面我们看最简单的递归代码:
四念处茫茫
2025/02/06
1660
【C语言系列】函数递归
c语言从入门到实战——函数递归
函数递归是指一个函数直接或间接地调用自身,以解决问题的一种方法。在C语言中,函数递归可以用来计算阶乘、斐波那契数列等数学问题。 函数递归是一种编程技术,其中函数直接或间接地调用自身来解决问题。它常用于处理可以分解为更小同类问题的复杂问题,如排序、搜索树等。递归的基本思想是将问题分解为更简单的子问题,然后组合子问题的解来得到原问题的解。然而,递归需要小心处理终止条件,否则可能导致无限循环。此外,递归可能消耗大量内存,因为它需要存储每个递归调用的状态。因此,在使用递归时,应仔细考虑其效率和适用性。
鲜于言悠
2024/03/20
2870
c语言从入门到实战——函数递归
C语言学习系列-->【函数的递归】
3、这个盒子里有盒子,而盒子里的盒子又有盒子。钥匙就在某个盒子中。为了找到钥匙,苦逼的你尝试了不同的方法:
南桥
2024/01/26
1300
C语言学习系列-->【函数的递归】
初识C语言·递归
递归,这两字的理解应该分开来理解,递推和回归,在C语言中,递归是函数自己调用自己,最后返回一个结果,比如写一段最简单的递归。
_lazy
2024/10/16
1790
初识C语言·递归
c语言函数递归与迭代详解(含青蛙跳台阶问题详解)
1.递归是什么? 递归是学习C语言函数绕不开的一个话题,那什么是递归呢? 递归其实是一种解决问题的方法,在C语言中,递归就是函数自己调用自己。 这里有一个极其简单的递归代码:
fhvyxyci
2024/09/24
1500
c语言函数递归与迭代详解(含青蛙跳台阶问题详解)
C语言:函数递归
递归的思想: 把⼀个⼤型复杂问题层层转化为⼀个与原问题相似,但规模较小的⼦问题来求解;直到⼦问题不能再被拆分,递归就结束了。所以递归的思考⽅式就是把⼤事化小的过程。
小陈在拼命
2024/02/17
2350
C语言:函数递归
计算机小白的成长历程——函数(4)
大家好,很高兴又和大家见面啦!经过前面几个篇章的学习,我相信大家对函数的基本知识点都已经掌握的差不多了,接下来我们将要开始探讨函数递归的相关内容了。
蒙奇D索隆
2023/10/13
1870
计算机小白的成长历程——函数(4)
C语言--函数递归与迭代
当n≤2时,第n个斐波那契数都是1,当n>2时,第n个斐波那契数就可以通过前两个数相加计算
Undoom
2024/09/23
1270
C语言函数递归_c语言递归举例
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说C语言函数递归_c语言递归举例,希望能够帮助大家进步!!!
Java架构师必看
2022/07/19
13.9K0
C语言函数递归_c语言递归举例
【C语言基础】:函数递归详解
函数递归指的是在函数内部调用自身的过程。 具体而言,递归函数通过将一个问题分解为更小的、类似的子问题来解决问题。
爱喝兽奶的熊孩子
2024/04/10
1.2K0
【C语言基础】:函数递归详解
函数的递归
1. 递归是什么? 递归是学习C语⾔函数绕不开的⼀个话题,那什么是递归呢? 递归其实是⼀种解决问题的方法,在C语⾔中,递归就是函数⾃⼰调⽤⾃⼰。 写⼀个史上最简单的C语⾔递归代码:
用户11290648
2024/09/25
1560
函数的递归
数据结构与算法 --- 递归(一)
「递归(Recursion)」 是一种解决问题的方法,它将问题分解为更小的子问题,并逐层解决这些子问题。递归算法的核心思想是:「一个函数可以直接或间接地调用自身」。通过这种自我调用,我们可以用简洁的代码来解决复杂问题。
Niuery Diary
2023/10/22
3990
数据结构与算法 --- 递归(一)
函数递归和迭代
函数每次调用都会在栈区申请一定空间 该空间为函数栈帧 函数被调用时申请空间 函数结束后该空间销毁
E绵绵
2024/04/08
1680
函数递归和迭代
【C语言篇】递归详细介绍(基础概念习题及汉诺塔等进阶问题)
递归其实是⼀种解决问题的⽅法,在C语⾔中,递归就是函数⾃⼰调⽤⾃⼰。 写⼀个史上最简单的C语⾔递归代码:
半截诗
2024/10/09
1640
【C语言篇】递归详细介绍(基础概念习题及汉诺塔等进阶问题)
如何深入掌握C语言递归函数(详解)
递归的精髓在于通过不断地重复逼近一个最终的结果,它更多的是一种思想,用于解决某些问题
用户9645905
2022/11/30
8670
如何深入掌握C语言递归函数(详解)
【C语言】卍字通晓→函数+递归
🚀write in front🚀    🔎大家好,我是泽En,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5→周榜43→总榜3343🏅 🆔本文由 泽En 原创 CSDN首发🐒 如需转载还请通知⚠ 📝个人主页:打打酱油desu_泽En_CSDN博客🎓 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 📣系列专栏:【C】系列_打打酱油desu-CSDN博客📢 ✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩 ---- 目录
謓泽
2022/12/12
7990
【C语言】卍字通晓→函数+递归
推荐阅读
相关推荐
【C语言】函数递归总结
更多 >
LV.2
这个人很懒,什么都没有留下~
目录
  • 背景:
  • ubuntu22.04安装显卡驱动与cuda+cuDNN
    • 下载并安装显卡驱动
      • 下载显卡驱动到虚拟机实例
      • 安装所需依赖
      • 卸载原有 NVIDIA 驱动(如果有)
      • 禁用 nouveau (通用驱动程序
      • 安装显卡驱动
      • 下载并安装cuda
      • 配置环境变量并验证cuda:
    • 根据 CUDA版本,下载对应的 cuDNN 库
  • 注意:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档