ubuntu 24.04 安装 Nvidia 显卡驱动 + CUDA + cuDNN,配置 AI 深度学习训练环境,简单易懂,一看就会!

news2024/11/15 13:29:37

ubuntu 24.04 安装 Nvidia 显卡驱动 + CUDA + cuDNN,配置 AI 深度学习训练环境,简单易懂,一看就会!

1.查看本机显卡型号
lspci | grep -i nvidia

输出如下:

01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 920MX] (rev a2)

其中,GeForce 920MX就是我们的显卡型号。

2.下载 Nvidia 显卡驱动

官网:点击此处下载NVIDIA驱动

根据显卡型号搜索驱动:

在这里插入图片描述

选择查找

在这里插入图片描述

下载最新版驱动

在这里插入图片描述

3.安装显卡驱动

安装编译环境

sudo apt update
sudo apt install gcc make

运行安装程序

chmod +x NVIDIA-Linux-x86_64-560.31.02.run
sudo ./NVIDIA-Linux-x86_64-560.31.02.run

选择“Continue installation”,回车

在这里插入图片描述

进入编译中…

在这里插入图片描述

注意:在这里编译时会出现编译错误而中断,原因是下载的显卡驱动是最新的,需要用较高的 gcc 版本编译器来编译,默认 gcc 的版本是 11,小于编译所需要的 12 版本。因此需要安装 12 版本的,并调整 gcc 链接。

sudo apt install gcc-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/x86_64-linux-gnu-gcc-12 20

重新运行安装程序:

sudo ./NVIDIA-Linux-x86_64-560.31.02.run

编译通过后,接着运行到下面这里,选择“Yes”

在这里插入图片描述

安装过程中,会提示是否禁用 nouveau 驱动,选择是,NVIDIA 会自动屏蔽 nouveau 驱动,不用手动禁止。

在安装过程中,没有不是特别要求的话,提示选择是否的话,可以都选择“是”。

在这里插入图片描述

终端运行nvidia-smi

输出如下,可以查看到版本号和显存:

在这里插入图片描述

安装完成,重启。

4.CUDA 安装

查看显卡支持的 CUDA 版本

nvidia-smi

输出如下:

在这里插入图片描述

CUDA 最高可用版本为 12.6

到官网下载 CUDA:https://developer.nvidia.com/cuda-toolkit-archive

注意:CUDA 需要注册登录 NVIDIA 官网才能下载。

在这里插入图片描述

选择 12.6 版本以下的都可,最高版本可选择 12.6,根据系统版本选择相应的项:

在这里插入图片描述

得到下载地址和运行命令:

在这里插入图片描述

这里是:

wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run

sudo sh cuda_12.2.2_535.104.05_linux.run

这里以 CUDA Toolkit 12.2.2为例安装:

chmod +x cuda_12.2.2_535.104.05_linux.run 
sudo ./cuda_12.2.2_535.104.05_linux.run 

选择“Continue”

在这里插入图片描述

输入“accept”

在这里插入图片描述

取消“Driver”选项,因为已经安装过显卡驱动了, 这里不需要安装,然后选择“Install”。

在这里插入图片描述

等待安装完成。

配置环境

nano ~/.bashrc

在文件最后添加以下内容:

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

重载配置

source ~/.bashrc

检查安装

nvcc -V

输出如下,则安装成功:

在这里插入图片描述

5.安装 cuDNN

官网下载:https://developer.nvidia.com/rdp/cudnn-download

在这里插入图片描述

选择相应项后会生成下载命令:

wget https://developer.download.nvidia.com/compute/cudnn/9.3.0/local_installers/cudnn-local-repo-ubuntu2404-9.3.0_1.0-1_amd64.deb

sudo dpkg -i cudnn-local-repo-ubuntu2404-9.3.0_1.0-1_amd64.deb

sudo cp /var/cudnn-local-repo-ubuntu2404-9.3.0/cudnn-*-keyring.gpg /usr/share/keyrings/

sudo apt-get update

sudo apt-get -y install cudnn

一般最新版本的显卡驱动都能适配最新版本的 cuDNN,若最新版本不适合当前的 CUDA,可以安装历史版本。

cuDNN 最新版本支持的 CUDA 查看:Support Matrix — NVIDIA cuDNN v9.3.0 documentation

在这里插入图片描述

查找 cuDNN 支持的 CUDA 的历史版本:

在这里插入图片描述

在这里插入图片描述

选择"cuDNN 8.x-1.x"

在这里插入图片描述

然后选择适应的版本下载deb包安装即可。

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

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

相关文章

焦虑迷雾中的幻觉挑战?专家教你如何拨云见日!

在这个快节奏、高压力的时代,焦虑症已成为许多人难以言说的秘密。它不仅让人心情沉重,更有可能在极端情况下引发幻觉,仿佛置身于一个光怪陆离、难以分辨真假的世界。面对这样的困境,我们该如何自救,如何找到那束穿透焦…

ansible【自动化配置】(thirty day)

回顾 1、mysql和python (1)不需要执行mysql_ssl_rsa_setup (2)Change_master_to.不需要get public key 2、可以使用pymysql非交互的管理mysql (1)connpymysql.connect(host,user,password,database,prot) …

OpenCV图像处理——积分图像计算(C++/Python)

概述 积分图像是一种高效的图像处理技术,最初由Crow在1984年提出,目的是为了提高多尺度透视投影的渲染速度。它通过构建一个积分图,使得图像中任意矩形区域的像素和能够在常数时间内快速计算出来,极大地减少了在图像模糊、边缘提…

WARNING: There was an error checking the latest version of pip. 解决方案

WARNING: There was an error checking the latest version of pip. 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开…

【单片机】51单片机入门教程(二):定时器的模式详解与中断应用实例

文章目录 51单片机定时器教程:模式详解与中断应用实例1. 介绍2. 51单片机定时器/计数器概述3. 定时器控制寄存器与中断入口4. 模式0:13位定时器/计数器5. 模式1:16位定时器/计数器6. 模式2:8位自动重装载定时器/计数器7. 模式3:分割两个独立的8位定时器/计数器8. 总结51单…

Vue.js入门系列(十):深入理解Vue指令及自定义指令的使用

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

【技术前沿】MetaGPT入门安装部署——用多个大语言模型解决任务!一键安装,只需填写OpenAI API

项目简介 MetaGPT 是一个多智能体框架,旨在构建全球首家 “AI 软件公司”。该项目通过为 GPT 分配不同的角色,模拟产品经理、架构师、工程师等职业,协同完成复杂的软件开发任务。MetaGPT 将一个简单的需求转化为完整的软件开发流程&#xff…

点接触导致Fluent Meshing网格划分出错的处理

问题概述 在CFD建模中,几何处理有时会出现两个面是单点接触的情形。 举例如下图所示,在球形计算域内部,存在分别用黄色和粉红色标记的内部悬浮面,两者接触区域为一个点,而非一条曲线。 上述几何模型可正确的导入Flue…

从零搭建xxl-job(四):xxljob进行一些性能优化

之前的代码这部分并没有补充完毕,假如调度中心如果判断有定时任务要执行了,该怎么远程通知给执行定时任务的程序呢?当定时任务要把自己的信息发送给调度中心时,是通过一个RegistryParam对象发送的。该对象内部封装了定时任务相关的…

鸿蒙自定义Tab,可居左显示

最近写鸿蒙项目时,需要用到类似Android的TabLayout控件,鸿蒙官方也有提供类似实现的组件Tabs。但是官方Tabs组件,实在有点鸡肋,首先 TabContent和 TabBar是绑定在一起的放在Tabs里面的,如果UI是TabBar的背景是一个整体…

可视化大屏入口界面,炫酷科技又不失简洁时尚。

可视化大屏界面,大家见到很多了,当可视化大屏是多个系统的融合,而且彼此又相互独立,就需要设计一个入口页面,便于分流客户,这次我给大家分享一批。 设计可视化大屏入口界面时,可以结合炫酷科技…

#laravel部署安装报错loadFactoriesFrom是undefined method #

场景: 在git上clone一个项目代码吗laravel版本是5.6 php的版本是7.1 但是运行的时候一直提示错误 Call to undefined method Eachdemo\Rbac\RbacServiceProvider::loadFactoriesFrom() 解决办法: 给RbacServiceProvider,手动添加方…

中国生态地理区划更新和优化

在机器学习或深度学习研究时,建立的模型用于不同地区或时间的数据进行泛化时,其泛化能力往往较差,所以目前在遥感领域用深度学习或机器学习建模时很多文献都是建立分区的模型,即在不同的地理分区内建立模型,泛化时针对…

代码随想录算法训练营第十八天

力扣题部分: 530.二叉搜索树的最小绝对差 题目链接: 题面: 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 思路: 写关于二叉搜索树的问题,一定要先掌握二…

socket回显服务器练习

前言 什么是回显服务器(echo server)呢? 回显服务器接收客户端发送的任何数据,并将这些数据原封不动地发送回客户端。回显服务器在连接成功的基础上只需要知道如何在客户端将收到的信息打印输出到控制台即可。我接下来会使用两种方法来输出,…

“TCP粘包”不是TCP的问题!

前言 写RPC用了Netty。涉及到粘包拆包问题。想复习一下。发现网上博客多是概念模糊不清。没有触及本质或者没有讲清楚。 遂决定自己写一篇 “TCP粘包”是谁的问题? 首先我们要明确TCP是面向字节流的协议。也就是说我们在应用层想使用TCP来传输数据时,…

ARM 处理器异常处理机制详解

目录 异常 异常源 异常处理 异常向量表 安装设置异常向量表及保存现场指令 异常处理的返回 异常源与异常模式对应关系 异常响应优先级 ARM7-11 有7种基本工作模式,而 Cortex-A 系列处理器则额外支持 Monitor 模式: User:非特权模式&…

测试流程自动化实践!

测试流程自动化的最佳实践涉及多个方面,旨在提高测试效率、确保测试质量,并降低测试成本。以下是一些关键的实践方法: 1. 明确测试目标 确定测试范围:在开始自动化测试之前,需要明确哪些功能、模块或场景需要被测试。…

Leetcode JAVA刷刷站(39)组合总和

一、题目概述 二、思路方向 为了解决这个问题,我们可以使用回溯算法来找到所有可能的组合,使得组合中的数字之和等于目标数 target。因为数组中的元素可以无限制地重复选择,所以在回溯过程中,我们不需要跳过已经选择的元素&#x…

python爬虫爬取某图书网页实例

文章目录 导入相应的库正确地设置代码的基础部分设置循环遍历遍历URL保存图片和文档全部代码即详细注释 下面是通过requests库来对ajax页面进行爬取的案例,与正常页面不同,这里我们获取url的方式也会不同,这里我们通过爬取一个简单的ajax小说…