Ubuntu22.04+Nvidia驱动+Cuda11.8+cudnn8.6

news2025/7/13 16:46:27

Ubuntu22.04+Nvidia驱动+Cuda11.8


在这里插入图片描述

一、准备环境

  • ubuntu 22.04
  • nvidia显卡 这里使用的是RTX3060
  • 已安装Python3.10

二、安装pip3

# 安装
sudo apt install python3-pip
# 升级
sudo pip3 install --upgrade pip
# 如果要卸载,使用命令:
sudo apt-get remove python3-pip

三、Nvidia驱动安装

1. 禁用 Nouveau驱动

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

2、添加两行语句:

blacklist nouveau
options nouveau modeset=0

3、更新initramfs

sudo update-initramfs -u

4、重启

reboot

5、验证,终端输入语句,

lsmod | grep nouveau
# 没有输出说明操作成功

2. 确定要安装的驱动版本

cat /proc/driver/nvidia/version

3. 两种安装方式

(1)自动安装驱动

# 查找可选择安装的版本自动安装
sudo ubuntu-drivers autoinstall

(2)指定驱动安装

# 列出设备,显示的model是显卡型号,driver是可选的驱动
ubuntu-drivers devices

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00002504sv00001458sd00004072bc03sc00i00
vendor   : NVIDIA Corporation
model    : GA106 [GeForce RTX 3060 Lite Hash Rate]
manual_install: True
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-515-server - distro non-free
driver   : nvidia-driver-510-server - distro non-free
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-510 - distro non-free
driver   : nvidia-driver-520 - distro non-free
driver   : nvidia-driver-515-open - distro non-free
driver   : nvidia-driver-520-open - distro non-free recommended
driver   : nvidia-driver-515 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

# 安装其中 recommended 一个驱动
sudo apt install  nvidia-driver-520-open
sudo reboot

如果出现 : Failed to initialize NVML: Driver/library version mismatch,则可能是版本不对。
我这很不幸地出现 : no devices were found,最后使用下面方式安装成功。

(3)到官网下载驱动安装

https://www.nvidia.com/Download/index.aspx?lang=en-us

# 查看显卡型号
lspci -vnn | grep VGA 
# 卸载旧驱动
sudo apt-get remove --purge nvidia*
# 给run文件可执行权限 
sudo chmod a+x NVIDIA-Linux-x86_64-515.86.01.run
# 安装 
sudo ./NVIDIA-Linux-x86_64-440.64.run -no-x-check -no-nouveau-check -no-opengl-files
# -no-x-check:安装驱动时关闭X服务
# -no-nouveau-check:安装驱动时禁用nouveau
# -no-opengl-files:只安装驱动文件,不安装OpenGL文件

提示: Would you like to register the kernel module sources with DKMS? 选择No
提示: Nvidia's 32-bit compatibility libraries? 选择No
提示: Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? 选择Yes

安装完重新启动电脑。

二、安装Cuda

1. 下载Cuda

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu
我这里下载的是Cuda11.8:
在这里插入图片描述

需要注意的是,之前已经安装过显卡驱动程序,在提问是否安装显卡驱动时选择no
其他 选择默认路径或者yes即可。

2. 如果之前已经安装了Cuda,则卸载掉。

sudo /usr/local/cuda-11.8/bin/uninstall_cuda_8.0.pl
sudo rm -rf /usr/local/cuda-8.0

3. 安装

chomd +x cuda_11.8.0_520.61.05_linux.run
sudo ./cuda_11.8.0_520.61.05_linux.run

三、安装cuDNN

https://developer.nvidia.com/rdp/cudnn-download
这里下载 deb 格式,安装:

sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.0_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2204-8.6.0.163/cudnn-local-FAED14DD-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get install libcudnn8=8.6.0.163-1+cuda11.8                 # 这里输入到=按tab补全即可,安装运行库
sudo apt-get install libcudnn8-dev=8.6.0.163-1+cuda11.8          # 通过tab自动补全,安装developer 库
sudo apt-get install libcudnn8-samples=8.6.0.163-1+cuda11.8  # 通过tab自动补全,安装示例和文档

测试:

cp -r /usr/src/cudnn_samples_v8/ $HOME 
cd ~/cudnn_samples_v8/mnistCUDNN/
make clean && make
# 如果提示下面截图中的错误,就执行下面语句安装freeimage3库
sudo apt-get install libfreeimage3 libfreeimage-dev

在这里插入图片描述

运行测试:

./mnistCUDNN

在这里插入图片描述

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

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

相关文章

MySQL创建和管理表

基础知识 一条数据存储的过程 存储数据是处理数据的第一步 。只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。 那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、…

ES6解析赋值

ES6中新增了一种数据处理方式,可以将数组和对象的值提取出来对变量进行赋值,这个过程时将一个数据结构分解成更小的部分,称之为解析。 1.对象解析赋值: 在ES5中,要将一个对象的属性提取出来,需要经过一下几个过程。 …

aws sdk 学习和使用aws-sdk-go

https://www.go-on-aws.com/infrastructure-as-go/cdk-go/sdk example,https://github.com/awsdocs/aws-doc-sdk-examples golang的安装,使用1.15之后默认开启GO15VENDOREXPERIMENT的版本 yum install golang -y go env -w GOPROXYhttps://goproxy.cn,…

智慧教室解决方案-最新全套文件

智慧教室解决方案-最新全套文件一、建设背景1、教育信息化2.0行动计划2、中国教育现代化20353、加快推进教育现代化实施方案二、建设思路互联网时代教学环境定义三、建设方案四、获取 - 智慧教室全套最新解决方案合集一、建设背景 1、教育信息化2.0行动计划 “网络学习空间覆…

【直播】-DRM和TZC400的介绍-2022/11/26

直播背景和内容 最近有两位SOC大佬再和我探讨TZC的设计,以及使用场景。也有几位软件工程师,在深入得学习安全技术,也问到了TZC相关的技术。 然后就搞了本次的直播,共计17人报名。 上线12位同学。(有ASIC大佬、有软件大佬、芯片严…

shell脚本的条件判断3:探究[[]]和[]的区别

前言 实例中除非特别标注,否则都不是在centos中测试的。 一 简述 多数情况下[]和[[]]是可以通用的,两者的主要差异是:test或[]是符合POSIX标准的测试语句,兼容性更强,几乎可以运行在所有Shell解释器中,相…

驱动保护进程 句柄降权 杀软自保 游戏破图标技术原理和实现

文章目录实现效果实现原理代码实现实现效果句柄降权对抗(实现破游戏图标和关闭杀软自保)降权对抗延伸游戏降权对抗杀软自保对抗隐藏Object钩子回调完整代码实现效果 效果如图所示: 无法结束进程: CE无图标: 内存无法读取 可以看到被保护的进…

STC 51单片机41——汇编 串口连续发送数据

; 仿真时,单步运行,记得设置虚拟串口数据 ORG 0000H MOV TMOD ,#20H ;定时器1,工作方式2,8位重装载 MOV TH1,#0FDH ; 波特率9600 MOV TL1,#0FDH SETB TR1 ; 启动T1 MOV SCON ,#40H ; 串口工作方式1 …

[激光原理与应用-20]:《激光原理与技术》-6- 谐振腔的结构、作用、工作原理

目录 第1章 谐振腔简介 1.1 什么是谐振腔 1.2 什么是光学谐振腔 1.3 谐振腔的作用 1.4 什么是镜片镀膜 第2章 谐振腔的结构与工作原理 2.1 谐振腔的结构 2.2 谐振腔的分类 2.3 激活介质与谐振腔的工作原理 第1章 谐振腔简介 1.1 什么是谐振腔 谐振腔,是…

[Java反序列化]—CommonsCollections4

0x01: 这条链子 前半段跟CC3 一样 ,都是动态加载字节码的过程,后边的构造用到了两个类,PriorityQueue和TransformingComparator Gadget chain:ObjectInputStream.readObject()PriorityQueue.readObject()...TransformingComparat…

如何Cisco的学员 摆脱游客登录

Cisco Packet Tracer 是一款强大的网络模拟工具,可用于在虚拟实验环境中练习网络、物联网和网络安全技能。您不需要任何硬件,即可获得实操经验! 相信很多小伙伴在使用cisco packet tracer这个思科数据包跟踪器 - 网络仿真工具时在登录的时候…

云原生k8s的前世今生--Docker

不可修改(immutability)和幂等性(idempotent)是一致依赖困扰软件发布与运维的两个难题。以nodejs等解析执行的应用而言,如何控制发布后的软件不被修改运行,发布后,经常发现因为运行环境差异导致各种水土不服:比如应用程序对底层操…

【C++数据结构】渐近记法

渐近记法 3.1 引言 考察程序的操作计数和执行步数有两个重要的原因: 1)预测程序运行时间如何随着实例特征的变化而变化; 2)对两个功能相同的程序,比较它们的时间复杂度。 存在问题: 在使用操作计数时,我们关注的…

Vue生命周期--Vue实例创建过程详解

每个Vue实例在被创建时都要经过一系列的初始化过程--例如,需要设置数据监听、编译模板、将实例挂载到DOM并在数据变化时更新DOM等。同时在这个过程中也会运行一些叫做 生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。 生命周期图示&…

Linux入侵排查

Linux入侵排查 实验内容 当系统被黑客入侵、需短时间查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施。以下给出一些入侵排查思路 netstat -antpl 查看当前端口状态是LISTEN的端口 针对对外开放的端口,查看日志 先查看ssh爆破的…

OpenGL ES 学习(三) -- 绘制平面图形

上一章中,已经对 OpenGL 的编程语言 GLSL 和渲染模式有了一定的了解,今天,将运用之前的知识,完成一些平面图形的操作。效果如下: 如果你对 OpenGL 的基本概念或者渲染流程不清晰,建议先看 OpenGL ES 学习…

D. Insert a Progression(绝对值的性质)

Problem - 1671D - Codeforces 给你一个n个整数的序列a1,a2,...,an。你还得到了x个整数1,2,...,x。 每个整数可以插入序列的开头,也可以插入序列的结尾,或者插入序列的任何元素之间。 所得序列a′的得分是其中相邻元素的绝对差异之和(∑i1n…

实验跟踪

管理和跟踪机器学习实验。 Intuition 到目前为止,一直在训练和评估不同的基线,但还没有真正跟踪这些实验。将解决这个问题,但定义一个适当的实验跟踪过程,将用于所有未来的实验(包括超参数优化)。实验跟踪是…

【JavaWeb】CookieSession

文章目录一.Cookie❤️1.Cookie的概念2.创建Cookie3.获取Cookie4.修改Cookie的值5.Cookie的生命周期控制6.Cookie有效路径Path的设置7.免输入用户名登录二.Session❤️1.session的概念2.Session的创建和获取3.Session域数据的存取4.Session的生命周期控制5.浏览器和Session之间…

pytorch深度学习实战lesson28

第二十八课 resnet的梯度计算(如何缓解梯度问题) 沐神说:“假设你在卷积神经网络里面,只要了解一个神经网络的话,你就了解 rest net 就行了。 rest net 是一个很简单的也是很好用的一个网络。这也是大家会经常在实际中…