Ubuntu安装cuda

文章目录

  • 前言
  • 一、安装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++-7sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1sudo update-alternatives --display gccsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1sudo 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.mzph.cn/news/848436.shtml

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

相关文章

深度学习 - 张量的广播机制和复杂运算

张量的广播机制(Broadcasting)是一种处理不同形状张量进行数学运算的方式。通过广播机制,PyTorch可以自动扩展较小的张量,使其与较大的张量形状兼容,从而进行元素级的运算。广播机制遵循以下规则: 如果张量…

ChatGPT基本原理

技术背景与基础: 深度学习:ChatGPT建立在深度学习技术之上,通过复杂的神经网络结构模拟人类的语言处理过程。深度学习使得ChatGPT能够处理海量的文本数据,并从中提取出复杂的语言模式和规律。GPT架构:ChatGPT基于GPT&a…

hadoop集群中zookeeper的搭建与原理解释

搭建zookeeper 将zookeeper的apache-zookeeper-3.5.7-bin.tar.gz解压到/export/servers下 tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /export/servers为了方便后期使用解压后的文件夹改名为zookeeper-3.5.7 mv apache-zookeeper-3.5.7-bin zookeeper-3.5.7先进入zoo_…

如何将本地项目上传到GitHub

在软件开发过程中,将本地项目上传到GitHub是一个非常重要的步骤。它不仅可以帮助你备份代码,还可以让你与团队成员共享和协作开发。本文将详细介绍如何将本地项目上传到GitHub。 前提条件 已安装Git。如果还没有安装,请参考Git官网进行下载…

机器学习_模型评估与选择

在机器学习中,模型评估与选择是至关重要的步骤。这一过程包括评估模型的性能、选择最适合的模型,以及对模型进行优化,以确保在实际应用中达到最佳效果。以下是详细的讲解: 一、模型评估 模型评估的目的是衡量模型在数据上的表现…

递归书写树形图示例

大叫好&#xff0c;今天书写了一个扁型转换为树型的例子&#xff0c;使用的是递归&#xff0c;请大家食用&#xff0c;无毒 <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"><meta name"viewport" conte…

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

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

Mongodb中字段的删除

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第61篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。 本篇文章&#xff0c;探讨UPDATE中的操作符$unset。Mongodb数据插入后&#xff0c;开发人员使用$u…

Android输入法IME(三)

2.2. IME管理端&#xff08;IMMS&#xff09;初始化流程 IMMS运行在system server进程中&#xff0c;属于系统服务的一部分&#xff0c;用于控制输入法的显示/隐藏、切换、绑定等操作。 涉及代码文件路径&#xff1a; IMMS运行在system server进程中&#xff0c;属于系统服务的…

在Nginx中配置php程序环境。

1、在Nginx中配置php程序环境。 打开编辑 /opt/local/etc/nginx/nginx.conf 文件。 http {. . . server {listen 8090;server_name localhost;. . . location / {root html;index index.html index.htm;add_header Access-Control-Allow-Origin *;add_header Acces…

MMKV源码详解

文章目录 前言一、MMKV简介1.mmap2.protobuf 二、MMKV 源码详解1.MMKV初始化2.MMKV对象获取3.文件摘要的映射4.loadFromFile 从文件加载数据5.encode 数据写入 总结 前言 谈到轻量级的数据持久化&#xff0c;在 Android 开发过程中&#xff0c;大家首先想到的应该就是 SharedP…

题号:BC19 题目:反向输出一个四位数

题号&#xff1a;BC19 题目&#xff1a;反向输出一个四位数 废话不多说&#xff0c;上题目&#xff1a; 解题思路&#xff1a; 我们发现可以用%和/两个操作符就可以解决。 代码如下: int main() {int a 0;scanf("%d ",& a);while (a){printf("%d "…

香港 Web3 的分岔路口:to 创新 or to 监管,这并不是一个问题

撰文&#xff1a;Babywhale&#xff0c;Techub News 香港 Web3 的分岔路口&#xff1a;to 创新 or to 监管&#xff0c;这并不是一个问题 刚刚过去的周末&#xff0c;香港虚拟资产交易平台&#xff08;VATP&#xff09;牌照相关的问题再一次引发了讨论。 一年多前&#xff0c…

word模板内容替换

1.pom引入依赖&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version> </dependency> <dependency><groupId>com.deepoove</groupId><a…

【Vue】普通组件的注册使用-全局注册

文章目录 一、使用步骤二、练习 一、使用步骤 步骤 创建.vue组件&#xff08;三个组成部分&#xff09;main.js中进行全局注册 使用方式 当成HTML标签直接使用 <组件名></组件名> 注意 组件名规范 —> 大驼峰命名法&#xff0c; 如 HmHeader 技巧&#xf…

华安保险:核心系统分布式升级,提升保费规模处理能力2-3倍 | OceanBase企业案例

在3月20日的2024 OceanBase数据库城市行的活动中&#xff0c;安保险信息科技部总经理王在平发表了以“保险行业核心业务系统分布式架构实践”为主题的演讲。本文为该演讲的精彩回顾。 早在2019年&#xff0c;华安保险便开始与OceanBase接触&#xff0c;并着手进行数据库的升级…

雅欣控制HALL IC 产品选型手册,选择您的专属霍尔芯片(霍尔产品主要包括远翔FD,FS全系列,MST全系列霍尔)

HALLICs 应用领域 Applications 应用案例 雅欣为各个应用场景匹配专属HALL元器件 合作伙伴 Partners

专属编程笔记

Utils目录作用 在软件开发中&#xff0c;Utils&#xff08;或 Utilities&#xff09;目录通常用于存放一些通用的、不特定于任何模块的工具类或辅助函数。这些工具类或函数为整个应用程序或多个模块提供便利的功能支持&#xff0c;使得代码更加模块化、易于维护和重用。Utils目…

函数重载和模板的区别与联系

函数重载和模板的区别与联系 函数重载(overloaded)&#xff1a;定义函数名相同而形参列表&#xff08;个数&#xff0c;类别&#xff09;不同的多个函数&#xff0c;这些函数被称为重载函数&#xff0c;重载函数通常执行的操作非常类似&#xff0c;如打印不同的输入对象。调用…

在嵌入式系统中,如何实现日志的实时监控和分析?

在嵌入式系统中&#xff0c;实时监控和分析日志对于快速定位问题、优化性能和保证系统的稳定性至关重要。本文将介绍如何在嵌入式系统中实现日志的实时监控和分析&#xff0c;包括日志的收集、传输、存储和分析。 一、日志收集 日志收集是实时监控和分析的第一步。在嵌入式系…