当前位置: 首页 > news >正文

Ubuntu 20.04安装显卡驱动、CUDA、Pytorch(2024.06最新)

文章目录

  • 一、安装显卡驱动
    • 1.1 查看显卡型号
    • 1.2 根据显卡型号选择驱动
    • 1.3 获取下载链接
    • 1.4 查看下载的显卡驱动安装文件
    • 1.5 更新软件列表和安装必要软件、依赖
    • 1.6 卸载原有驱动
    • 1.7 禁用默认驱动
    • 1.8 安装lightdm显示管理器
    • 1.9 停止显示服务器
    • 1.10 在文本界面中,禁用X-window服务
    • 1.11 安装驱动
    • 1.12 检测显卡驱动是否安装成功
    • 1.12 重启显示服务、恢复图像界面
  • 二、安装CUDA
    • 2.1 选择合适的CUDA版本
    • 2.2 下载CUDA
    • 2.3 安装CUDA
    • 2.4 环境变量配置
    • 2.5 检测CUDA是否安装成功
  • 三、安装Pytorch
    • 3.1 选择合适Pytorch版本
    • 3.2 安装Pytorch
  • 四、关于安装cuDNN(这个坑以后再补)

一、安装显卡驱动

1.1 查看显卡型号

lspci | grep -i nvidia

在这里插入图片描述

我们发现输出的信息中有Device 2230,可以根据这个信息查询显卡型号
查询网址:https://admin.pci-ids.ucw.cz/mods/PC/10de?action=help?help=pci

在这里插入图片描述

输入后点击Jump查询

在这里插入图片描述

我们发现显卡型号为RTX A6000

1.2 根据显卡型号选择驱动

英伟达驱动下载:https://www.nvidia.cn/Download/Find.aspx?lang=cn&QNF=1

根据需求,输入显卡型号操作系统语言,选择相应的驱动版本,我选择550.78这个版本。

在这里插入图片描述

1.3 获取下载链接

点击下载
在这里插入图片描述

点击【同意并开始下载

在这里插入图片描述
复制下载链接:https://cn.download.nvidia.cn/XFree86/Linux-x86_64/550.78/NVIDIA-Linux-x86_64-550.78.run
并使用wget在命令行下载:

wget https://cn.download.nvidia.cn/XFree86/Linux-x86_64/550.78/NVIDIA-Linux-x86_64-550.78.run

在这里插入图片描述

1.4 查看下载的显卡驱动安装文件

ll

在这里插入图片描述

1.5 更新软件列表和安装必要软件、依赖

sudo apt-get update
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make

1.6 卸载原有驱动

sudo apt-get remove --purge nvidia* 

1.7 禁用默认驱动

在安装NVIDIA驱动前,禁用系统自带显卡驱动nouveau
使用vim打开和修改文件,也可用gedit

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

在文件尾增加两行:

blacklist nouveau
options nouveau modeset=0

在这里插入图片描述
更新文件

sudo update-initramfs –u

此时必须重启电脑:

sudo reboot

1.8 安装lightdm显示管理器

sudo apt-get install lightdm

1.9 停止显示服务器

sudo telinit 3

1.10 在文本界面中,禁用X-window服务

sudo service gdm3 stop

1.11 安装驱动

# 授予执行权限
sudo chmod 777 NVIDIA-Linux-x86_64-550.78.run# 执行安装命令
sudo ./NVIDIA-Linux-x86_64-550.78.run

1.12 检测显卡驱动是否安装成功

nvidia-smi

在这里插入图片描述

大功告成~

1.12 重启显示服务、恢复图像界面

sudo  service  gdm3 start
sudo telinit 5

二、安装CUDA

2.1 选择合适的CUDA版本

我显卡的驱动版本是550.78,可以安装CUDA 12版本。可根据自己显卡版本选择合适的CUDA版本:查询链接:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
在这里插入图片描述

2.2 下载CUDA

下载页面链接:https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述
在这里插入图片描述

# 使用命令下载文件:
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run

在这里插入图片描述

# 使用命令查看文件下载:
ll

在这里插入图片描述

2.3 安装CUDA

sudo sh cuda_12.1.0_530.30.02_linux.run

稍等一会,会出现如下界面,输入:accept即可安装
在这里插入图片描述

接着会出现如下界面:

在这里插入图片描述
需要注意的是,上述过程我们已在步骤1安装显卡驱动,已无需再装,可通过键盘选择,取消驱动的安装。
再将光标通过键盘移至Install,开始安装:

在这里插入图片描述

2.4 环境变量配置

vim方式打开配置文件

sudo vim ~/.bashrc

在文件尾中加入以下两行:

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

在这里插入图片描述
更新环境变量

source ~/.bashrc

2.5 检测CUDA是否安装成功

nvcc -V

在这里插入图片描述
命令行显示如上信息,表明安装成功!大功告成~

三、安装Pytorch

3.1 选择合适Pytorch版本

链接:https://pytorch.org/get-started/previous-versions/
在这里插入图片描述
由于CUDA安装的版本是12.1,所以可以用Pytorch的v2.2.0版本

3.2 安装Pytorch

可用conda安装

conda install pytorch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 pytorch-cuda=12.1 -c pytorch -c nvidia

也可用pip安装

pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu121

四、关于安装cuDNN(这个坑以后再补)

cuDNN是一个基于CUDA的深度学习GPU加速库,可以提高深度学习模型在GPU上的训练速度。cuDNN不是必须安装的,但是一般会采用这个加速库。部分深度学习框架,如PyTorch,会自带预先编译的cuDNN,无需手动安装。后面我还需要安装Pytorch,所以cuDNN就没安装,需要安装的可以参考下面信息,但是不完整。

版本查看页面:https://developer.nvidia.com/cudnn-downloads
在这里插入图片描述

下载CUDA 12对应的cuDNN版本,这里我们选择8.9.0版本。点击该版本,显示如下,我们选择红框圈中的版本。

在这里插入图片描述

相关文章:

Ubuntu 20.04安装显卡驱动、CUDA、Pytorch(2024.06最新)

文章目录 一、安装显卡驱动1.1 查看显卡型号1.2 根据显卡型号选择驱动1.3 获取下载链接1.4 查看下载的显卡驱动安装文件1.5 更新软件列表和安装必要软件、依赖1.6 卸载原有驱动1.7 禁用默认驱动1.8 安装lightdm显示管理器1.9 停止显示服务器1.10 在文本界面中,禁用X…...

wpf 附加属性 RegisterAttached 内容属性

// // 摘要: // 选中时展示的元素 public static readonly DependencyProperty CheckedElementProperty DependencyProperty.RegisterAttached("CheckedElement", typeof(object), typeof(StatusSwitchElement), new PropertyMetadata((object)null…...

laravel8框架windows下安装运行

目录 1、安装前如果未安装先安装Composer 2、使用composer安装laravel8 3、使用内置服务器:8000 的命令去访问测试 ​4、使用本地环境运行phpstudy配置到public目录下 Laravel官网 Laravel 中文网 为 Web 工匠创造的 PHP 框架 安装 | 入门指南 |《Laravel 8 中文文档 8.x…...

如何快速判断IP被墙

IP被墙是指IP部分地区或者运营商无法被正常进行访问的一个情况。 被墙的原因有很多种不一一列举,由于被墙的时间短的为按周按月计算,时间长的则为按年计算,所以一般这种情况下只能选择更换IP。 检查办法: 第一,确认IP…...

vitest-前端单元测试

Vitest是一个轻量级、快速且功能强大的测试框架,特别适用于Vite项目,但也可以与其他前端项目(如使用webpack构建的项目)集成使用。Vitest提供极速的测试体验,并包含一系列用于编写和组织测试用例的API,如de…...

Redis 7.x 系列【9】数据类型之自动排重集合(Set)

有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 前言2. 常用命令2.1 SADD2.2 SCARD2.3 SISMEMBER2.4 SREM2.5 SSCAN2.6 SDIFF2.7 SU…...

【LeetCode】每日一题:反转链表

题解思路 循环的方法需要注意prev应该是None开始,然后到结束的时候prev是tail,递归的思路很难绕过弯来,主要在于很难想清楚为什么可以返回尾节点,需要多做递归题,以及递归过程中,可以不使用尾节点来找当前…...

使用Spring Boot创建自定义Starter

使用Spring Boot创建自定义Starter 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨如何使用Spring Boot创建自定义Starter,来简化项目…...

cmd设置编码为utf8

文章目录 临时设置永久设置(通过注册表) cmd命令乱码,解决方案比较简单。 输入chcp, 如果返回的是936,通常是GBK或CP936。 如果返回的是65001,表示是UTF-8。 临时设置 chcp 65001 # 设置 chcp # 查看 永久设置(通过注册表) 打…...

一次关于k8s的node节点NotReady的故障排查

master现象 分析 kubectl get nodes -A 看了下pod的状态,好多CrashLoopBackOff kubectl get nodes -o wide 定位到那个具体node的IP地址,登录对应的IP去查看为什么会这样 node节点 journalctl -xe -f -u kubelet 查看此节点的 kubelet 服务&#xff…...

Java变量与标识符

一、关键字(Keyboard) 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(或单词) 特点:全部关键字都是小写字母 官方地址: https://docs.oracle.com/javase/tutorial/java/nut…...

AWS无服务器 应用程序开发—第十七章 AWS用户池案例

在AWS Cognito用户池中,用户属性可以根据应用程序的需求进行配置和管理。以下是一般情况下用户属性的一些常见设置: 必须的属性: 用户名(Username):通常用作用户的唯一标识符。 密码(Password…...

java中的枚举

第1部分:引言 枚举在Java中的重要性 枚举在Java中扮演着至关重要的角色,它不仅提高了代码的可读性和可维护性,还增强了类型安全。枚举的使用可以避免使用魔法数字或散列常量,这些在代码中通常难以理解和维护。通过枚举&#xff…...

各种开发语言运行时占用内存情况比较

随着科技的发展,编程语言种类繁多,不同的编程语言在运行时的内存占用情况各不相同。了解这些差异对于开发者选择合适的编程语言尤为重要。本文将讨论几种主流编程语言在运行时的内存占用情况,包括C、C、Java、Python和Go等。 1. C语言 内存…...

【基础知识10】label与input标签

label标签说明 HTML元素表示用户界面中某个元素的说明 将一个和一个元素相关联主要有这些优点: 标签文本不仅与其相应的文本输入元素在视觉上相关联,程序中也是如此。这意味着,当用户聚焦到这个表单输入元素时,屏幕阅读器可以读…...

【SDV让汽车架构“和而不同”】

昔日以“排气管数量”和“发动机动力”为骄傲的荣耀已然成为过往。在这个崭新的时代,特斯拉、理想、蔚来、小鹏、零跑等新兴的汽车制造商纷纷推出了搭载可交互大屏、实现万物互联、软件功能持续更新的新车型,它们被誉为“车轮上的智能手机”。同时&#…...

面试经验分享 | 驻场安全服务工程师面试

所面试的公司:某安全厂商 所在城市:浙江宁波 面试职位:驻场安全服务工程师 面试官的问题: 1、信息收集如何处理子域名爆破的泛解析问题? 泛域名解析是:*.域名解析到同一IP。域名解析是:子域…...

SpringBoot 学习笔记

文章目录 SpringBoot1 SpringBoot 的纯注解配置(了解)1.1 环境搭建1.1.1 jdbc配置1.1.2 mybatis配置1.1.3 transactional配置1.1.4 service配置1.1.5 springmvc配置1.1.6 servlet配置1.1.7 存在的问题 1.2 新注解说明1.2.1 Configuration1.2.2 Component…...

Android 13 为应用创建快捷方式

参考 developer.android.google.cn 创建快捷方式 来自官网的说明: 静态快捷方式 :最适合在用户与应用互动的整个生命周期内使用一致结构链接到内容的应用。由于大多数启动器一次仅显示四个快捷方式,因此静态快捷方式有助于以一致的方式执行…...

PTA—C语言期末复习(选择题)

1. 按照标识符的要求,(A)不能组成标识符。 A.连接符 B.下划线 C.大小写字母 D.数字字符 在大多数编程语言中,标识符通常由字母(包括大写和小写)、数字和下划线组成,但不能以数字开头&#xff0c…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言:多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)

旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据!该数据集源自2025年4月发表于《地理学报》的论文成果…...