Ubuntu安装cuda

news2024/11/18 16:35:59

文章目录

  • 前言
  • 一、安装NVIDIA驱动
    • 1.1 过程中的问题
    • 1.2 解决方法
    • 1.3 重启后出现 perform MOK management
  • 二、安装Cuda
    • 2.1 检查是否安装显卡驱动
    • 2.2 安装Cuda
    • 2.3 验证CUDA是否安装成功
  • 三、配置环境变量---未完
    • 2.4 图片居中加调整大学
  • 总结 #pic_center


前言

只是为方便学习,不做其他用途,Ubuntu安装cuda
参考博客Ubuntu 20.04安装CUDA & CUDNN 手把手带你撸

安装过程中终端输入nvidia-smi报错,故先安装NVIDIA驱动

一、安装NVIDIA驱动

遇到的问题:

输入nvidia-smi显示 :
NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver. Make sure that the …

参考博客1:解决NVIDIA-SMI has failed because it couldn‘t communicate
博客1网址:https://blog.csdn.net/wjinjie/article/details/108997692
还可以参考博客2

可以略过1.1,直接按照1.2解决方法操作

1.1 过程中的问题

  • 如果想查看是否安装完成NVIDIA 驱动程序,可以去终端输入
dpkg -l | grep nvidia

这个时候就会打印出来你的安装状态,比如我的就是这样,显示我已经安装了libnvidia-compute-535:amd64和nvidia-utils-535版本的NVIDIA驱动程序。(解释一下:libnvidia-compute-535:amd64和nvidia-utils-535是NVIDIA驱动程序的两个不同组件。它们提供了不同的功能和支持。libnvidia-compute是用于计算任务的NVIDIA库文件,它提供了对NVIDIA GPU的计算能力的访问和支持。nvidia-utils是一组NVIDIA驱动程序的实用工具和二进制文件,它们提供了与NVIDIA GPU相关的功能和配置选项。这两个组件一起构成了完整的NVIDIA驱动程序,以提供对NVIDIA显卡的计算和图形功能的支持。它们通常需要与特定版本的内核和操作系统配合使用,以确保兼容性和正常运行。)

出现以下页面内容

rc  libnvidia-compute-525:amd64                525.147.05-0ubuntu0.20.04.1         amd64        NVIDIA libcompute package
ii  libnvidia-compute-535:amd64                535.146.02-0ubuntu0.20.04.1         amd64        NVIDIA libcompute package
rc  nvidia-compute-utils-525                   525.147.05-0ubuntu0.20.04.1         amd64        NVIDIA compute utilities
rc  nvidia-dkms-525                            525.147.05-0ubuntu0.20.04.1         amd64        NVIDIA DKMS package
rc  nvidia-kernel-common-525                   525.147.05-0ubuntu0.20.04.1         amd64        Shared files used with the kernel module
rc  nvidia-prime                               0.8.16~0.20.04.2                    all          Tools to enable NVIDIA's Prime
rc  nvidia-settings                            470.57.01-0ubuntu0.20.04.3          amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-535                           535.146.02-0ubuntu0.20.04.1         amd64        NVIDIA driver support binaries
  • 接着我们在终端运行在终端中运行sudo service nvidia-driver status
  • 检查驱动程序是否正在运行,然后我就出现了这个
Unit nvidia-driver.service could not be found.

这个时候说明我的系统上可能没有安装NVIDIA驱动程序对应的系统服务。
这个时候我又输入了以下指令来检查驱动程序是不是被正确加载了。
结果没有返回值

lsmod | grep nvidia
  • 如果返回的结果中没有类似 nvidia 的字符串,说明 NVIDIA 驱动程序没有正确加载。你可以尝试手动加载驱动程序,命令如下:
sudo modprobe nvidia

然后我就显示无法识别显卡设备,如下

modprobe: ERROR: could not insert 'nvidia': No such device

1.2 解决方法

从头在来,换个思路。我们首先知道这个问题可能是因为我们的内核版本与我们的驱动程序连接不成功,那么我们查看一下连不上的驱动版本是什么:

输入命令:

ls -l /usr/src/

在这里插入图片描述
重新安装一下

sudo dkms install -m nvidia -v 555.42.02

在这里插入图片描述
安装完之后就可以了,如果你安装完之后发现输入nvidia-smi 命令还是无法与 NVIDIA 驱动程序通信,请不要着急。安装完之后需要对电脑进行重启以确保 NVIDIA 驱动程序正确加载,或者尝试运行

sudo modprobe nvidia 

命令来加载驱动程序。

安装好驱动程序需要重启电脑

重启电脑代码:reboot

1.3 重启后出现 perform MOK management

重启后出现的蓝色小框,解决方法为:perform mok management:
在这里插入图片描述
进入电脑后:打开终端输入nvidia-smi

在这里插入图片描述
NVIDIA显卡驱动版本是555.42.02

即NVIDIA驱动安装完成

二、安装Cuda

参考博客Ubuntu 20.04安装CUDA & CUDNN 手把手带你撸

2.1 检查是否安装显卡驱动

  1. 查看是否安装NVIDIA显卡
lspci | grep -i nvidia
  1. 查看显卡信息
nvidia-smi

在这里插入图片描述

  1. 先添加源:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
  1. 检查可安装的驱动:
ubuntu-drivers devices
  1. 找到最适合的驱动安装,安装recommended标记的,通常也是数字版本最大的那个
sudo apt install nvidia-driver-XXX
  1. 也可以自动安装系统推荐那个
sudo ubuntu-drivers autoinstall

在这里插入图片描述

2.2 安装Cuda

参考博客Ubuntu 20.04安装CUDA & CUDNN 手把手带你撸:
在这里插入图片描述
https://www.tensorflow.org/install/source_windows

sudo apt-get install gcc-7 g++-7
 
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
 
sudo update-alternatives --display gcc
 
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
 
sudo update-alternatives --display g++
  • 选择cuda版本:nvidia-smi
  • CUDA Version: 12.5

在这里插入图片描述
知道要安装的CUDA版本后,就很简单了,去NVIDIA官网直接下载对应版本就好了。

https://developer.nvidia.com/cuda-toolkit-archive

在这里插入图片描述
在这里插入图片描述
在NVIDIA官网选择好版本后,下拉网页将下面安装命令依次输入到终端中:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 验证CUDA是否安装成功

nvcc -V   # 或者 nvcc --version

如果输出以下内容,说明 CUDA 安装成功:

在这里插入图片描述

三、配置环境变量—未完

2.4 图片居中加调整大学

#pic_center =500x220:

在这里插入图片描述

在这里插入图片描述

总结 #pic_center

空格         空格

二维数
1
1
1

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

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

相关文章

【设计模式深度剖析】【2】【行为型】【命令模式】| 以打开文件按钮、宏命令、图形移动与撤销为例加深理解

👈️上一篇:模板方法模式 设计模式-专栏👈️ 文章目录 命令模式定义英文原话直译如何理解呢? 四个角色1. Command(命令接口)2. ConcreteCommand(具体命令类)3. Client(客户端&…

Linux驱动开发笔记(六)中断子系统及实验

文章目录 前言一、中断子系统框架1. 中断硬件简单描述2. 中断的软件描述2.1 中断处理的两部分模型2.2 系统框架 二、GIC v3中断控制器1. GIC v3基本结构1.1 Distributor1.2 Redistributor1.3 ITS1.4 CPU interface 2. 中断类型与特点3. 中断号 三、函数编写3.1 相关API函数3.2 …

【自动驾驶】针对低速无人车的线控底盘技术

目录 术语定义 一般要求 操纵装置 防护等级 识别代号 技术要求 通过性要求 直线行驶稳定性 环境适应性要求 功能安全要求 信息安全要求 故障处理要求 通信接口 在线升级(OTA) 线控驱动 动力性能 驱动控制响应能力 线控制动 行车制动 制动响应能力 线控转向 总体要求 线控…

计算机网络 期末复习(谢希仁版本)第5章

**屏蔽作用:**运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。 10. 端口用一个 16 位端口号进行标志,允许…

力扣 496. 下一个更大元素 I

题目来源&#xff1a;https://leetcode.cn/problems/next-greater-element-i/description/ C题解1&#xff1a;暴力解决 class Solution { public:vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {int len1 nums1.size(…

C# WPF入门学习主线篇(六)—— TextBox常见属性和事件

欢迎回到C# WPF入门学习系列的第六篇。在前面的文章中&#xff0c;我们探讨了按钮&#xff08;Button&#xff09;的事件处理。今天&#xff0c;我们将继续学习另一个常用的WPF控件——TextBox。本文将介绍 TextBox 的常见属性和事件&#xff0c;并通过示例代码展示如何在实际应…

【Python数据类型的奥秘】:构建程序基石,驾驭信息之海

文章目录 &#x1f680;Python数据类型&#x1f308;1. 基本概念⭐2. 转化&#x1f44a;3. 数值运算&#x1f4a5;4. 数值运算扩展(math库常用函数) &#x1f680;Python数据类型 &#x1f308;1. 基本概念 整数&#xff08;int&#xff09;&#xff1a;整数是没有小数部分的数…

GRS认证是什么?GRS认证的要求是什么?

GRS认证&#xff08;Global Recycled Standard&#xff09;是全球回收标准认证&#xff0c;它是一个自愿性的、针对产品回收成分和供应链可追溯性的国际标准。GRS认证的目标是为纺织业的公司提供一个具有透明度和信任度的工具&#xff0c;以证明其产品的回收材料含量&#xff0…

C语言数据结构快速排序的非递归、归并排序、归并排序的非递归等的介绍

文章目录 前言一、快速排序非递归二、归并排序五、归并排序非递归总结 前言 C语言数据结构快速排序的非递归、归并排序、归并排序的非递归等的介绍 一、快速排序非递归 快速排序非递归的定义 快速排序非递归&#xff0c;需要使用栈来实现。将左右下标分别push到栈中。在栈为…

Redis-SDS 的定义

1.简介 Redis中的SDS&#xff08;Simple Dynamic String&#xff0c;简单动态字符串&#xff09;是一种专为Redis设计的字符串表示方式&#xff0c;旨在改进C语言中原生字符串的局限性。 2.SDS的核心结构 SDS结构不仅存储字符串的实际内容&#xff0c;还包括了额外的信息来优…

达梦数据库的配置与安装

1. 下载压缩包&#xff0c;点击链接产品下载 | 达梦数据库 (dameng.com) 本人只是测试需要&#xff0c;所以选择的是开发版&#xff08;X86平台&#xff09; 2. 解压压缩包 3.点击iso的应用 4.选择挂载 这个是因为我有装挂载软件&#xff0c;如果没有装&#xff0c;麻烦搜索下…

基于Raspi的Opencv-Python开发笔记

本文所有未强调 “windows终端” 的 “终端”字眼&#xff0c;都是默认树莓派的终端 系统版本 系统版本有必要强调一下&#xff0c;因为不同版本很多操作需要修改 在终端输入uname -a Release就是版本号&#xff0c;Codename是版本名 以下操作仅在此版本验证可行 使能摄像…

解决找不到api-ms-win-crt-runtime-l1-1-0.dll问题的5种方法

电脑已经成为我们生活和工作中不可或缺的工具&#xff0c;然而&#xff0c;由于各种原因&#xff0c;我们可能会遇到一些常见的问题&#xff0c;其中之一就是电脑缺失api-ms-win-crt-runtime-l1-1-0.dll文件。这个问题可能会导致电脑出现错误提示、程序无法正常运行等困扰。为了…

Zookeeper复习

一、入门 1、概念 zookeeper文件系统通知机制 2.特点 1&#xff09;、一个领导者&#xff0c;多个跟随者组成的集群。 2&#xff09;、集群中只要有半数以上存活机制&#xff0c;zookeeper集群能正产服务。zk适合安装奇数台。 3&#xff09;、全局数据一致&#xff1a;每…

一次 K8s 故障诊断:从 CPU 高负载到存储挂载泄露根源揭示

一、背景 现代软件部署中&#xff0c;容器技术已成为不可或缺的一环&#xff0c;在云计算和微服务架构中发挥着核心作用。随着容器化应用的普及&#xff0c;确保容器环境的可靠性成为了一个至关重要的任务。这就是容器SRE&#xff08;Site Reliability Engineering&#xff0c…

【强烈推荐】四元数与三维旋转

目录 1 强烈推荐讲解四元数与三维旋转的这篇文章&#xff0c;深入浅出2 笔记2.1 复数2.1.1 复数的定义2.1.2 复数的乘法与二维旋转 2.2 三维空间中的旋转2.2.1 角轴2.2.2 旋转的分解 2.3 四元数2.3.1 四元数的定义2.3.2 四元数的乘法2.3.3 四元数与三维旋转2.3.4 三维旋转的矩阵…

【Excel】Excel中将日期格式转换为文本格式,并按日期显示。

【问题需求】 在使用excel进行数据导入的过程中&#xff0c; 有的软件要求日期列必须是文本格式。 但是直接将日期列的格式改为文本后&#xff0c;显示一串数字&#xff0c;而不按日期显示。 进而无法导入使用。 【解决方法】 使用【TXET】函数公式进行处理&#xff0c; 在单…

转转回收业务策略中心的实践

1 背景 回收业务发展日益壮大&#xff0c;我们在邮寄、上门、门店三大履约模式下的业务逻辑日益复杂。同样都是在做回收这一个业务&#xff0c;即便履约方式不同&#xff0c;也有很多业务概念是一致的。为了避免各个业务闷头造轮子&#xff0c;同时又能拉齐三端的业务标准&…

数据库(19)——字符串函数

函数是指一段可以直接被另一段程序调用的程序代码。 常用的函数 函数功能CONCAT(S1,S2...Sn)字符串拼接LOWER(str)将字符串全部转换为小写UPPER(str)将字符串全部转换为大写LPAD(str,n,pad) 用字符串pad对str的左边进行填充RPAD(str,n,pad)用字符串…

这款国内版Bookstack平替也很好用

对于企业、团队或个人来说&#xff0c;一个高效、易用的知识库系统就是提升工作效率和团队协作的利器。一款国内版的BookStack平替——HelpLook AI知识库&#xff0c;它不仅功能强大&#xff0c;而且操作简单&#xff0c;对于国内使用者来说刚刚好&#xff0c;跟着LookLook同学…