ubuntu22.04安装显卡驱动+cuda+cudnn

news2024/11/17 21:44:21

ubuntu22.04安装显卡驱动+cuda+cudnn

  • 1. 下载驱动和卸载、禁用自带驱动程序
    • 1.1 查看系统显卡型号
    • 1.2 从NVIDIA官网下载相应驱动
    • 1.3 卸载Ubuntu自带的驱动程序
    • 1.4 禁用自带的nouveau nvidia驱动
    • 1.5 更新
    • 1.6 重启电脑
    • 1.7 查看是否将自带的驱动屏蔽
  • 2. 安装显卡驱动
    • 2.1 停止lightdm桌面服务
    • 2.2 安装驱动
      • 2.2.1 首先查看你有没有安装gcc
      • 2.2.2 执行安装
  • 3 安装cuda
    • 3.1 安装cuda
    • 3.2 配置环境变量
  • 4 安装cudnn
    • 4.1 下载cudnn
    • 4.2 安装cudnn
    • 4.3 测试cudnn
  • 参考

1. 下载驱动和卸载、禁用自带驱动程序

1.1 查看系统显卡型号

lspci | grep -i nvidia

在这里插入图片描述

1.2 从NVIDIA官网下载相应驱动

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

在这里插入图片描述

1.3 卸载Ubuntu自带的驱动程序

sudo apt purge nvidia*

1.4 禁用自带的nouveau nvidia驱动

打开/etc/modprobe.d/blacklist.conf

sudo vi /etc/modprobe.d/blacklist.conf 

如果提示没有vi就执行下面命令安装一下:

 sudo apt install vi

在blacklist.conf文件中最后添加如下内容

blacklist nouveau 
options nouveau modeset=0 

然后保存退出。

1.5 更新

sudo update-initramfs -u

1.6 重启电脑

sudo reboot

1.7 查看是否将自带的驱动屏蔽

lsmod | grep nouveau

没有结果输出,则表示屏蔽成功。

2. 安装显卡驱动

2.1 停止lightdm桌面服务

sudo service lightdm stop

如果提示没有lightdm,使用下面命令安装,

sudo apt install -y lightdm

再执行上面的命令。如果按照的服务器版本的ubuntu,是没有图像化桌面的,可以忽略2.1步骤。

2.2 安装驱动

2.2.1 首先查看你有没有安装gcc

gcc --version

在这里插入图片描述

如果没有安装gcc一般make也没安装,这时需要使用下面命令安装一下gcc和make

sudo apt install gcc & make

2.2.2 执行安装

cd到你下载的显卡驱动的目录

sudo chmod a+x NVIDIA-Linux-x86_64-525.89.02.run
sudo ./NVIDIA-Linux-x86_64-525.89.02.run -no-x-check -no-nouveau-check -no-opengl-files
  1. -no-x-check: 安装时关闭X服务;
  2. -no-nouveau-check: 安装时禁用nouveau;
  3. -no-opengl-files: 只安装驱动文件,不安装OpenGL文件。

安装过程中下面步骤按照下图选择,其它默认。

在这里插入图片描述
在这里插入图片描述
安装完成以后执行

nvidia-smi

如果显示如下内容则表示安装成功。

在这里插入图片描述

3 安装cuda

3.1 安装cuda

  从上面的图中可以看到显卡最高可以支持cuda12.0(红色框内)

网址:https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述
在这里插入图片描述
选择好之后cuda版本之后,可以看到如下安装命令。
在这里插入图片描述
在执行以上第三行命令时,可能由于文件太大导致下载时间过长,可以通过以下方法替换这条命令。

  1. 安装axel;
sudo apt install axel
  1. 使用axel下载cuda(下面命令中下载地址和上面第三行一样);
axel -n 50 https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda-repo-ubuntu2204-12-0-local_12.0.0-525.60.13-1_amd64.deb

这里50是指使用50个线程进行下载。

下载完成后继续执行官方给出代码的第四行及以后的代码安装cuda。

3.2 配置环境变量

  安装完成时,还不算安装成功,需要配置环境变量。

  1. 打开.bashrc文件;
  2. 在文件末尾输入如下内容并保存退出;
export PATH=/usr/local/cuda-12.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

将下面的12.0替换为你的cuda版本,其他不变,如果不知道自己安装的是哪个版本,就去/usr/local/文件夹下找一下;

  1. 更新变量,使其生效;
source ~/.bashrc

  在终端输入

nvcc -V

如果出现下图情况,则表明cuda安装完成。

在这里插入图片描述

4 安装cudnn

4.1 下载cudnn

网址:https://developer.nvidia.com/rdp/cudnn-download
下载cudnn需要登录账户,可以使用邮箱注册一个。

在这里插入图片描述
在这里插入图片描述
下载完成后如下所示:

在这里插入图片描述
将其上传到ubuntu系统中,如下。
在这里插入图片描述

4.2 安装cudnn

  英伟达官网给出了安装过程,如下图所示。

在这里插入图片描述

  1. 启用本地存储库
sudo dpkg -i cudnn-local-repo-ubuntu2204-8.9.0.131_1.0-1_amd64.deb

  1. 导入 CUDA GPG 密钥
    在这里插入图片描述
    这里直接使用提示的命令导入密钥
  2. 刷新存储库元数据
sudo apt-get update
  1. 安装运行时库
sudo apt-get install libcudnn8=8.9.0.131_1.0-1+cuda12.0

这条命令可能会报如下错误,

在这里插入图片描述

解决方法: 在第3步时关注一下cudnn的路径,如下图所示,在var文件夹下。

在这里插入图片描述

打开 /var/cudnn-local-repo-ubuntu2204-8.9.0.131/ 文件夹,如下图所示。

在这里插入图片描述

直接使用dpkg命令安装红色框中的三个文件即可,命令如下。

sudo dpkg -i libcudnn8_8.9.0.131-1+cuda12.1_amd64.deb 
sudo dpkg -i libcudnn8-dev_8.9.0.131-1+cuda12.1_amd64.deb 
 sudo dpkg -i libcudnn8-samples_8.9.0.131-1+cuda12.1_amd64.deb 

4.3 测试cudnn

  英伟达官网给出了测试安装的例子,如下图所示。

在这里插入图片描述

  1. 将 cuDNN 示例文件夹(cudnn_samples_v8)复制到可写路径,这里我复制到自己用户目录下,命令如下;
 cp -r /usr/src/cudnn_samples_v8/ /home/user/
  1. 转到可写路径;
 cd  /home/user/cudnn_samples_v8/mnistCUDNN
  1. 编译 mnistCUDNN 示例;
make clean && make

这时可能出现如下图报错信息,

在这里插入图片描述

解决方法: 执行如下命令,参考网址

sudo apt-get install libfreeimage3 libfreeimage-dev
  1. 运行 mnistCUDNN 示例。
./mnistCUDNN

如果出现如下图所示结果,表明安装cudnn成功。

在这里插入图片描述

参考

[1] 英伟达官网下载显卡驱动
[2] 英伟达官网下载cuda
[3] 英伟达官网下载cudnn
[4] 英伟达官网安装cudnn指南
[5] 编译 mnistCUDNN 示例报错解决办法

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

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

相关文章

ChatGPT 如何促进智能客服行业发展

章节一:智能客服的背景及发展趋势 随着人工智能技术的快速发展,智能客服正逐渐成为企业服务中不可或缺的一环。相比于传统客服方式,智能客服能够快速地为客户提供满意的解决方案,大幅降低企业的客服成本,提高客户的满意…

24、LLVM编译流程

一、LLVM 1.1 LLVM概述 LLVM是构架编译器(compiler)的框架系统,以C编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本.LLVM计划启动于2000年,最初由美国…

MybatisPlus入门和分页和条件查询里面的条件和null值的处理方式和查询投影和查询条件设置和id生成相关

MybatisPlus 简化了mybatis之前的在springboot整合MyBatis时需要自己写sql语句在接口中&#xff0c;现在只需要让接口继承BaseMapper<实体类>&#xff0c;然后在测试类中接口.增删改查方法&#xff08;&#xff09;即可 不用像springboot整合mybatis一样勾选spring web…

【JavaScript 逆向】抖店滑块逆向分析

声明 本文章中所有内容仅供学习交流&#xff0c;相关链接做了脱敏处理&#xff0c;若有侵权&#xff0c;请联系我立即删除&#xff01; 案例目标 接口&#xff1a; aHR0cHM6Ly93d3cuZG91eWluLmNvbS9hd2VtZS92MS93ZWIvdXNlci9wcm9maWxlL290aGVyLw 以上均做了脱敏处理&#…

某应用虚拟化系统远程代码执行

漏洞简介 微步在线漏洞团队通过“X漏洞奖励计划”获取到瑞友天翼应用虚拟化系统远程代码执行漏洞情报(0day)&#xff0c;攻击者可以通过该漏洞执行任意代码&#xff0c;导致系统被攻击与控制。瑞友天翼应用虚拟化系统是基于服务器计算架构的应用虚拟化平台&#xff0c;它将用户…

项目管理-团队管理

冲突和竞争 冲突&#xff1a;是指两个或两个以上的社会单元在目标上互不相容或互相排斥&#xff0c;从而产生心理上的或行为上的矛盾。冲突并不一定是有害的&#xff0c; “一团和气”的集体不一定是一个高效率的集体。对于有害的冲突要设法加以解决或减少&#xff1b;对有益的…

【远程工具】- WindTerm 下载、安装、使用、配置【Telnet/ssh/Serial】-免安装、解压即用

目录 一、WindTerm 概述 二、WindTerm 下载、安装 三、WindTerm 的使用  &#x1f449;3.1 使用SSH协议连接Linux开发主机  &#x1f449;3.2 使用Telnet协议连接开发板  &#x1f449;3.3 使用Serial(串口)协议连接开发板 一、WindTerm 概述 在远程终端工具中&#xff0c;s…

SCI论文自由投稿Vs专栏投稿,哪个更好中?

我们首先来看下以下几种期刊的发表方式&#xff1a; 正刊 正刊也就是自由投稿方式的发表方式&#xff0c;是期刊正常出版的期刊&#xff0c;比如一本SCI期刊是双月刊&#xff0c;一年出版6期&#xff0c;没有设定主题&#xff0c;包含多个研究方向的文章。每年按照半月/月/双…

Linux:《gzip》《bzip2》压缩解压

先准备4个文件 1.文件压缩 使用gzip和bzip进行压缩 gzip text1.txt 使用gzip对text1.txt压缩 gzip -9 text2.txt -9是高压缩 由于我使用的文件太小了&#xff0c;所以体现不出来 bzip2 text3.txt 使用bzip2对text3.txt压缩 bzip2 -9 text4.txt -9同样是bzip2的高压缩 2.解压文件…

Java版spring cloud 企业工程项目管理系统平台源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)

工程项目管理软件&#xff08;工程项目管理系统&#xff09;对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营&#xff0c;全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…

【MySQL高级】——逻辑架构

一、服务器处理请求流程 连接层&#xff1a;客户端和服务器端建立连接&#xff0c;客户端发送 SQL 至服务器端&#xff1b;SQL 层&#xff08;服务层&#xff09;&#xff1a;对 SQL 语句进行查询处理&#xff1b;与数据库文件的存储方式无关&#xff1b;存储引擎层&#xff1a…

kubernetes为何需要默认的serviceaccount?

文章目录 什么是k8s的serviceAccount&#xff1f;为什么每一个ns下都有默认的sa&#xff1f;default sa yaml 默认的sa下都会挂一个secret&#xff0c;这个secret是从哪里来的&#xff1f;一道关于RBAC的CKA考题1、创建一个新的 ServiceAccount2、创建一个新的 Role3、创建一个…

ChatGPT测试-吴彦祖帅不帅

GPT3.5 我是一个xxx职业&#xff0c;女性&#xff0c;平常喜欢xxxx&#xff0c;喜欢类似 xxx&#xff0c;肖战&#xff0c;王一博&#xff0c;一类的男明星&#xff0c;对于我这种女生来说的话&#xff0c;这种审美方向&#xff0c;吴彦祖帅不帅&#xff0c;请给我具体回答&…

免费ChatGPT接入网站-网站加入CHATGPT自动生成关键词文章排名

网站怎么接入chatGPT 要将ChatGPT集成到您的网站中&#xff0c;需要进行以下步骤&#xff1a; 注册一个OpenAI账户&#xff1a;访问OpenAI网站并创建一个账户。这将提供访问API密钥所需的身份验证凭据。 获取API密钥&#xff1a;在您的OpenAI控制台中&#xff0c;您可以找到您…

国赛超强自学素材!飞桨系列国赛课程集锦发布

自2023年3月以来&#xff0c;飞桨在“中国软件杯”大学生软件设计大赛和全国大学生智能汽车竞赛两大赛事中&#xff0c;陆续发布了六项赛题。我们整理了一份当前阶段的竞赛培训课程合集&#xff0c;为同学们的学习和备赛保驾护航&#xff01;出发的号角已然吹响&#xff0c;欢迎…

AODV路由算法在无线传感器网络中的设计与仿真(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 此代码用于MATLAB GUI&#xff0c;其中为WSN实现了AODV路由协议。源节点每次都会随着数据包的数量而变化。GUI的快照已附加。它…

Qt5下Qxlsx模块安装及使用

Qt5下Qxlsx模块安装及使用 1. 未安装Qxlsx的程序效果2. 安装Perl&#xff08;编译Qxlsx源码用&#xff09;2.1 下载 ActivePerl 5.282.2 安装 ActivePerl 5.28 3. 下载并编译Qxlsx源码3.1 下载Qxlsx源码3.2 编译Qxlsx源码 4. 将编译好的文件复制到Qt路径下4.1 bin 路径文件复制…

git报错处理:ssh:connect to host github.com port 22: Connection timed out

一、背景 git 在上传、下载 文件的时候&#xff0c;报错。 报错信息&#xff1a; ssh:connect to host github.com port 22: Connection timed out 提示这个域名github.com port 的22 端口&#xff0c;链接超时。 我直接访问github.com 这个域名是可以访问的&#xff0c;pi…

python+vue 风俗文化管理系统

管理员可以根据系统给定的账号进行登录&#xff0c;登录后可以进入风俗文化管理系统对风俗文化管理所有模块进行管理。包括查看和修改自己的个人信息以及登录密码&#xff0c;用户信息等。 用户通过注册账号的登录可以在系统中查看风俗文化管理信息及对个人信息进行修改等功能。…

华为OD机试(JAVA)真题 2023(汽水瓶\随机数\进制转换)

系列文章目录 文章目录 系列文章目录前言一、 1.汽水瓶二 明明的随机数 前言 一、 1.汽水瓶 某商店规定&#xff1a;三个空汽水瓶可以换一瓶汽水&#xff0c;允许向老板借空汽水瓶&#xff08;但是必须要归还&#xff09;。 小张手上有n个空汽水瓶&#xff0c;她想知道自己最多…