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 服务ÿ…...
Java变量与标识符
一、关键字(Keyboard) 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(或单词) 特点:全部关键字都是小写字母 官方地址: https://docs.oracle.com/javase/tutorial/java/nut…...
AWS无服务器 应用程序开发—第十七章 AWS用户池案例
在AWS Cognito用户池中,用户属性可以根据应用程序的需求进行配置和管理。以下是一般情况下用户属性的一些常见设置: 必须的属性: 用户名(Username):通常用作用户的唯一标识符。 密码(Password…...
java中的枚举
第1部分:引言 枚举在Java中的重要性 枚举在Java中扮演着至关重要的角色,它不仅提高了代码的可读性和可维护性,还增强了类型安全。枚举的使用可以避免使用魔法数字或散列常量,这些在代码中通常难以理解和维护。通过枚举ÿ…...
各种开发语言运行时占用内存情况比较
随着科技的发展,编程语言种类繁多,不同的编程语言在运行时的内存占用情况各不相同。了解这些差异对于开发者选择合适的编程语言尤为重要。本文将讨论几种主流编程语言在运行时的内存占用情况,包括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.数字字符 在大多数编程语言中,标识符通常由字母(包括大写和小写)、数字和下划线组成,但不能以数字开头,…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
uni-app学习笔记三十五--扩展组件的安装和使用
由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...
leetcode_69.x的平方根
题目如下 : 看到题 ,我们最原始的想法就是暴力解决: for(long long i 0;i<INT_MAX;i){if(i*ix){return i;}else if((i*i>x)&&((i-1)*(i-1)<x)){return i-1;}}我们直接开始遍历,我们是整数的平方根,所以我们分两…...
