当前位置: 首页 > 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…...

League Akari:英雄联盟玩家的终极效率工具集,免费提升游戏体验

League Akari:英雄联盟玩家的终极效率工具集,免费提升游戏体验 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit …...

WSABuilds vs 官方WSA:性能测试与功能对比,谁才是安卓模拟器之王?

WSABuilds vs 官方WSA:性能测试与功能对比,谁才是安卓模拟器之王? 【免费下载链接】WSABuilds Run Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) an…...

5大理由让你立即选择Argos Translate:开源离线翻译的终极解决方案

5大理由让你立即选择Argos Translate:开源离线翻译的终极解决方案 【免费下载链接】argos-translate Open-source offline translation library written in Python 项目地址: https://gitcode.com/GitHub_Trending/ar/argos-translate Argos Translate是一款…...

PCL点云凹包计算实战:从2D投影到3D建模的Alpha-Shape算法解析

1. Alpha-Shape算法:点云凹包计算的灵魂 第一次接触点云凹包计算时,我被这个看似简单实则精妙的问题难住了。传统凸包算法就像给点云套上一个紧绷的橡皮筋,而实际项目中我们经常需要保留物体表面的凹陷特征。这时候Alpha-Shape算法就派上了大…...

【VASP脚本进阶】Perl脚本解析:Materials Studio原子约束信息如何精准写入POSCAR

1. Perl脚本在VASP计算中的关键作用 做材料模拟的朋友们肯定都遇到过这样的场景:在Materials Studio里精心搭建好模型,设置完原子约束,结果导出到VASP时发现固定原子的信息全丢了。这种时候,一个靠谱的Perl脚本简直就是救命稻草。…...

光伏储能管理系统:绿虫赋能,破解行业流程痛点

光伏储能产业迎来高速发展期,但其全业务流程的复杂性却成为企业发展的桎梏。从项目开发的多环节审批,到建设阶段的进度质量管控,再到运维结算的数据协同,各环节割裂、部门协作不畅、数据杂乱无章等问题频发,不少企业负…...

rBase64:嵌入式系统零堆分配BASE64编解码库

1. rBase64 库深度解析:面向嵌入式系统的高性能 BASE64 编解码实现BASE64 是一种将任意二进制数据映射为 ASCII 字符子集的编码方案,广泛应用于嵌入式通信协议(如 MQTT payload、HTTP Basic Auth、CoAP 传输)、固件 OTA 升级包签名…...

JiYuTrainer:极域电子教室多任务学习解决方案 - 提升教学环境下的自主操作能力

JiYuTrainer:极域电子教室多任务学习解决方案 - 提升教学环境下的自主操作能力 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 在现代数字化教学环境中,极…...

TVM终极模型剪枝指南:如何快速实现结构化与非结构化剪枝

TVM终极模型剪枝指南:如何快速实现结构化与非结构化剪枝 想要让深度学习模型跑得更快、占用更少内存?TVM的模型剪枝功能就是你的最佳选择!🚀 本文为你带来TVM剪枝的完整指南,从基础概念到实际应用,让你快速…...

OpenClaw多模型切换指南:ollama-QwQ-32B与本地小模型协同工作

OpenClaw多模型切换指南:ollama-QwQ-32B与本地小模型协同工作 1. 为什么需要多模型协同 去年冬天,当我第一次尝试用OpenClaw自动整理电脑里堆积如山的论文时,发现一个尴尬的问题:简单的文件分类任务消耗了过多token。每次让大模…...