ubuntu22.04安装显卡驱动与cuda+cuDNN

背景:

紧接前文:Proxmox VE 8.4 显卡直通完整指南:NVIDIA 2080 Ti 实战。在R740服务器完成了proxmox的安装,并且安装了一张2080ti 魔改22g显存的的显卡。配置完了proxmox显卡直通,并将显卡挂载到了vm 301(ubuntu22.04)的虚拟机上面。现在需要安装显卡驱动与cuda以及cuDNN!

ubuntu22.04安装显卡驱动与cuda+cuDNN

下载并安装显卡驱动

下载显卡驱动到虚拟机实例

登录NVIDIA驱动官方网站,输入对应产品型号,选择操作系统,开始搜索:

这里直接下载了最新的570.144 版本驱动,点击获取下载:

点击立即下载通过浏览器下载驱动到本地:

通过rz or其他ftp工具上传驱动程序到VM301实例:

我这里使用rz上传了驱动程序到/data/soft目录下了,这里的操作全凭喜好,并给驱动程序增加可执行权限:

mkdir -p /data/soft
cd /data/soft
chmod +x NVIDIA-Linux-x86_64-570.144.run

安装所需依赖

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

注:如果没有安装如上依赖执行驱动可执行程序会报错 gcc 等依赖的错误:

卸载原有 NVIDIA 驱动(如果有)

sudo apt-get remove --purge nvidia*

禁用 nouveau (通用驱动程序)

编辑/etc/modprobe.d/blacklist.conf文件,在末尾添加以下两行,保存后关闭文本

blacklist nouveauoptions nouveau modeset=0

在终端输入如下更新,更新结束后重启电脑(必须)

sudo update-initramfs -u
reboot

重启后输入如下指令,如无输出则已关闭 nouveau

安装显卡驱动

进入驱动可执行文件存放目录,执行可执行程序:

cd /data/soft/
./NVIDIA-Linux-x86_64-570.144.run

图像框默认即可,安装页面如下:

具体过程截图太多,只保留最后的截图:

验证驱动 程序安装成功:

nvidia-smi

根据显卡驱动,下载安装对应的 CUDA

下载并安装cuda

通过nvidia-smi 可以看到显卡最高支持的cuda版本是 12.8,访问cuda下载页面 点击 12.8.0对应链接:

选择自己的操作系统、芯片架构、Linux发行版本、安装方式:

我这里创建了一个目录存放cuda对应deb包,并执行官方提供的安装命令:

mkdir /data/soft/cuda
cd /data/soft/cuda
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8

配置环境变量并验证cuda:

vi ~/.bashrc 到尾行增加如下配置

export PATH=/usr/local/cuda-12.8/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH

刷新bashrc 文件,并验证cuda是否安装成功:

source ~/.bashrc
nvcc –V

根据 CUDA版本,下载对应的 cuDNN 库

cuDNN 是 NVIDIA 专门为深度学习任务开发的加速库,cuDNN 需要和上面安装的 CUDA 版本对应起来:

访问cuDNN 下载页面,依然下载最新的了 v8.9.7版本:

下载linux_x86_x64版本到本地并上传到服务器(这里貌似需要登录NVIDIA账号):

解压 cuDNN 文件

mkdir /data/soft/cuDNN
cd /data/soft/cuDNN
tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz

将以下文件复制到 CUDA 目录(<font style="color:rgb(199, 37, 78);background-color:rgb(249, 242, 244);">/usr/local/cuda/</font> 文件夹下面的 <font style="color:rgb(199, 37, 78);background-color:rgb(249, 242, 244);">include</font><font style="color:rgb(199, 37, 78);background-color:rgb(249, 242, 244);">lib64</font>

sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include 
sudo cp cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

验证是否安装成功

sudo cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

注意:

以上步骤操作用户为root,包括环境变量的配置环境变量都为root用户,如使用其他用户,请注意增加对应环境变量配置!

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

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

相关文章

A2A Python 教程 - 综合指南

目录 • 介绍• 设置环境• 创建项目• 代理技能• 代理卡片• A2A服务器• 与A2A服务器交互• 添加代理功能• 使用本地Ollama模型• 后续步骤 介绍 在本教程中&#xff0c;您将使用Python构建一个简单的echo A2A服务器。这个基础实现将向您展示A2A提供的所有功能。完成本教…

MySQL基础关键_005_DQL(四)

目 录 一、分组函数 1.说明 2.max/min 3.sum/avg/count 二、分组查询 1.说明 2.实例 &#xff08;1&#xff09;查询岗位和平均薪资 &#xff08;2&#xff09;查询每个部门编号的不同岗位的最低薪资 3.having &#xff08;1&#xff09;说明 &#xff08;2&#xff…

GAMES202-高质量实时渲染(Assignment 2)

目录 作业介绍环境光贴图预计算传输项的预计算Diffuse unshadowedDiffuse shadowedDiffuse Inter-reflection(bonus) 实时球谐光照计算 GitHub主页&#xff1a;https://github.com/sdpyy1 作业实现:https://github.com/sdpyy1/CppLearn/tree/main/games202 作业介绍 物体在不同…

2025年- H21-Lc129-160. 相交链表(链表)---java版

1.题目描述 2.思路 当pa&#xff01;pb的时候&#xff0c;执行pa不为空&#xff0c;遍历pa链表。执行pb不为空&#xff0c;遍历pb链表。 3.代码实现 // 单链表节点定义 class ListNode {int val;ListNode next;ListNode(int x){valx;nextnull;}}public class H160 {// 主方法…

win10系统安卓开发环境搭建

一 安装jdk 下载jdk17 ,下载路径:https://download.oracle.com/java/17/archive/jdk-17.0.12_windows-x64_bin.exe 下载完毕后,按照提示一步步完成,然后接着创建环境变量, 在cmd控制台输入java -version 验证: 有上面的输出代表jdk安装并配置成功。 二 安装Android stu…

【算法基础】选择排序算法 - JAVA

一、算法基础 1.1 什么是选择排序 选择排序是一种简单直观的排序算法&#xff0c;它的工作原理是&#xff1a;首先在未排序序列中找到最小&#xff08;或最大&#xff09;元素&#xff0c;存放到排序序列的起始位置&#xff0c;然后再从剩余未排序元素中继续寻找最小&#xf…

LabVIEW异步调用VI介绍

在 LabVIEW 编程环境里&#xff0c;借助结合异步 VI 调用&#xff0c;并使用 “Open VI Reference” 函数上的 “Enable simultaneous calls on reentrant VIs” 选项&#xff08;0x40&#xff09;&#xff0c;达成了对多个 VI 调用执行效率的优化。以下将从多方面详细介绍该 V…

Leetcode刷题 | Day50_图论02_岛屿问题01_dfs两种方法+bfs一种方法

一、学习任务 99. 岛屿数量_深搜dfs代码随想录99. 岛屿数量_广搜bfs100. 岛屿的最大面积101. 孤岛的总面积 第一类DFS&#xff08;主函数中处理第一个节点&#xff0c;DFS处理相连节点&#xff09;&#xff1a; 主函数中先将起始节点标记为已访问DFS函数中不处理起始节点&…

深入理解网络安全中的加密技术

1 引言 在当今数字化的世界中&#xff0c;网络安全已经成为个人隐私保护、企业数据安全乃至国家安全的重要组成部分。随着网络攻击的复杂性和频率不断增加&#xff0c;保护敏感信息不被未授权访问变得尤为关键。加密技术作为保障信息安全的核心手段&#xff0c;通过将信息转换为…

旧版本NotionNext图片失效最小改动解决思路

旧版本NotionNext图片失效最小改动解决思路 契机 好久没写博客了&#xff0c;最近在notion写博客的时候发现用notionNext同步到个人网站时&#xff0c;图片无法预览。猜测是notion加了防盗链措施&#xff0c;去notionNext官方github上寻找解决方案&#xff0c;需要升级到4.8.…

深度学习笔记40_中文文本分类-Pytorch实现

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 一、我的环境 1.语言环境&#xff1a;Python 3.8 2.编译器&#xff1a;Pycharm 3.深度学习环境&#xff1a; torch1.12.1cu113torchvision…

010302-oss_反向代理_负载均衡-web扩展2-基础入门-网络安全

文章目录 1 OSS1.1 什么是 OSS 存储&#xff1f;1.2 OSS 核心功能1.3 OSS 的优势1.4 典型使用场景1.5 如何接入 OSS&#xff1f;1.6 注意事项1.7 cloudreve实战演示1.7.1 配置cloudreve连接阿里云oss1.7.2 常见错误1.7.3 安全测试影响 2 反向代理2.1 正向代理和反向代理2.2 演示…

【 Node.js】 Node.js安装

下载 下载 | Node.js 中文网https://nodejs.cn/download/ 安装 双击安装包 点击Next 勾选使用许可协议&#xff0c;点击Next 选择安装位置 点击Next 点击Next 点击Install 点击Finish 完成安装 添加环境变量 编辑【系统变量】下的变量【Path】添加Node.js的安装路径--如果…

Python基本语法(自定义函数)

自定义函数 Python语言没有子程序&#xff0c;只有自定义函数&#xff0c;目的是方便我们重复使用相同的一 段程序。将常用的代码块定义为一个函数&#xff0c;以后想实现相同的操作时&#xff0c;只要调用函数名就可以了&#xff0c;而不需要重复输入所有的语句。 函数的定义…

OpenGL-ES 学习(11) ---- EGL

目录 EGL 介绍EGL 类型和初始化EGL初始化方法获取 eglDisplay初始化 EGL选择 Config构造 Surface构造 Context开始绘制 EGL Demo EGL 介绍 OpenGL-ES 是一个操作GPU的图像API标准&#xff0c;它通过驱动向 GPU 发送相关图形指令&#xff0c;控制图形渲染管线状态机的运行状态&…

极简5G专网解决方案

极简5G专网解决方案 利用便携式即插即用私有 5G 网络提升您的智能创新。为您的企业提供无缝、安全且可扩展的 5G 解决方案。 提供极简5G专网解决方案 Mantiswave Network Private Limited 提供全面的 5G 专用网络解决方案&#xff0c;以满足您企业的独特需求。我们创新的“…

html:table表格

表格代码示例&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><!-- 标准表格。 --><table border"5"cellspacing&qu…

tkinter 电子时钟 实现时间日期 可实现透明

以下是一个使用Tkinter模块创建一个简单的电子时钟并显示时间和日期的示例代码&#xff1a; import tkinter as tk import time# 创建主窗口 root tk.Tk() root.overrideredirect(True) # 隐藏标题栏 root.attributes(-alpha, 0.7) # 设置透明度# 显示时间的标签 time_labe…

【报错问题】 macOS 的安全策略(Gatekeeper)阻止了未签名的原生模块(bcrypt_lib.node)加载

这个错误是由于 macOS 的安全策略&#xff08;Gatekeeper&#xff09;阻止了未签名的原生模块&#xff08;bcrypt_lib.node&#xff09;加载 导致的。以下是具体解决方案&#xff1a; 1. 临时允许加载未签名模块&#xff08;推荐先尝试&#xff09; 在终端运行以下命令&#x…