centos7安装NVIDIA显卡

装备工作

我的系统版本

cat /etc/centos-release

CentOS Linux release 7.9.2009 (Core)

内核版本

rpm -q kernel

或者

rpm -qa|grep kernel

kernel-3.10.0-1160.el7.x86_64

注意以上输出内核版本,按照我下面的操作步骤,不会出问题。否则重装系统都有可能。
linux官方还在维护的最低版本是5.4.292linux内核
我先前升级内核,由于误操作已经重装了系统。所以我就不折腾了。
安装基础依赖

yum install gcc
yum install gcc-c++

安装内核文件
一定要安装当版本的文件,uname -r至关重要,否则系统重启后,会有多个引导文件

yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)

禁用默认驱动
执行以下命令,查看是否有输出

lsmod | grep nouveau

如果没有输出,则禁用成功。不成功执行下面方法:

vim /lib/modprobe.d/dist-blacklist.conf
#blacklist nvidiafb
blacklist nouveau
options nouveau modeset=0

重启内核

dracut -force

再次执行lsmod | grep nouveau查看是否有输出

上传驱动

查看显卡型号

lspci | grep -i vga	

输出

03:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. Integrated Matrox G200eW3 Graphics Controller (rev 04)
31:00.0 VGA compatible controller: NVIDIA Corporation Device 24b0 (rev a1)

集成显卡(Integrated)为G200eW3
独立显卡为24b0,安装独立显卡的驱动
厂商提供的型号
在这里插入图片描述
下载RTXA4000的驱动
nvidia网站下载地址
根据自己电脑系统选择相应版本
查看电脑CPU架构

uname -m

输出

x86_64

下载64位版本
在这里插入图片描述
选择版本

因为centos7的内核太老了,最新版本是不支持的。升级内核肯定会有兼容性问题,最新版本建议用Centos Stream 9

在这里插入图片描述
我下载的是550.163.01版本
上传驱动到服务器,并赋予权限

chmod a+x NVIDIA-Linux-x86_64-550.163.01.run

安装驱动

双显卡混合环境,只安装驱动,不安装OpenGL,避免与集成显卡冲突

./NVIDIA-Linux-x86_64-550.163.01.run --no-opengl-files

鼠标左右移动选择NVIDIA Proprietary
在这里插入图片描述
选择No
在这里插入图片描述
选择Rebuild inittramfs
在这里插入图片描述
选怎Yes
在这里插入图片描述

安装完成后查看是否成功

nvidia-smi

在这里插入图片描述
如果想重新装其他版本,需要先执行卸载命令

./NVIDIA-Linux-x86_64-550.1 --uninstall

重启系统

reboot

安装CUDA

下载地址:cuda-toolkit-archive
选择CUDA对应版本下载,版本号nvidia-smi命令已显示,上图显示CUDA Version:12.4
下面下载的版本,不能超过此版本号

wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.run

安装

chmod a+x cuda_12.4.1_550.54.15_linux.run
sh cuda_12.4.1_550.54.15_linux.run

会等待很长时间,然后输入accept即可
在这里插入图片描述
因为已经安装过驱动了,按Enter健取消Driver前的X,然后移动到Install处安装即可
在这里插入图片描述
等待一段时间输出如下,即为成功

Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-12.4/
Please make sure that

  • PATH includes /usr/local/cuda-12.4/bin
  • LD_LIBRARY_PATH includes /usr/local/cuda-12.4/lib64, or, add /usr/local/cuda-12.4/lib64 to /etc/ld.so.conf
    and run ldconfig as root

To uninstall the CUDA Toolkit, run cuda-uninstaller in
/usr/local/cuda-12.4/bin
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 550.00 is required for
CUDA 12.4 functionality to work. To install the driver using this
installer, run the following command, replacing with
the name of this run file:
sudo .run --silent --driver

Logfile is /var/log/cuda-installer.log

配置CUDA环境变量

vim ~/.bashrc
export PATH=/usr/local/cuda-12.4/bin:$PATH 
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda

使配置生效

source ~/.bashrc

查看cuda信息

nvcc -V

nvcc: NVIDIA ® Cuda compiler driver
Copyright © 2005-2024 NVIDIA Corporation
Built on Thu_Mar_28_02:18:24_PDT_2024
Cuda compilation tools, release 12.4, V12.4.131
Build cuda_12.4.r12.4/compiler.34097967_0

验证

/usr/local/cuda/extras/demo_suite/deviceQuery

最后两行输出

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 12.4, CUDA Runtime Version = 12.4, NumDevs = 1, Device0 = NVIDIA RTX A4000
Result = PASS

安装CUDNN

下载地址cudnn-archive
选择CUDA对应版本号,需要注册登录
在这里插入图片描述
安装

tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz
cd cudnn-linux-x86_64-8.9.7.29_cuda12-archive/
cp include/cudnn*.h /usr/local/cuda/include
cp -P lib/libcudnn* /usr/local/cuda/lib64
chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

验证

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

参照

https://www.cnblogs.com/sheepships/p/18072617
https://blog.csdn.net/Mr_kka/article/details/143911821

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

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

相关文章

Web应用开发指南

一、引言 随着互联网的迅猛发展,Web应用已深度融入日常生活的各个方面。为满足用户对性能、交互与可维护性的日益增长的需求,开发者需要一整套高效、系统化的解决方案。在此背景下,前端框架应运而生。不同于仅提供UI组件的工具库&#xff0c…

Java @Transactional事物隔离级别和默认值详解

在 Java 开发中,Transactional 注解是 Spring 框架中用于管理事务的重要工具。它提供了多种配置选项,其中事务隔离级别是一个关键属性。本文将深入探讨 Transactional 注解的隔离级别默认值,并通过具体代码示例帮助你更好地理解和应用事务隔离…

车辆检测新突破:VFM-Det 如何用大模型提升识别精度

目录 ​编辑 一、摘要 二、引言 三、相关工作 四、Coovally AI模型训练与应用平台 五、方法 概述 综述:基于区域建议的检测 基于VehicleMAE的感知器 六、实验分析 数据集与评估指标 实现细节 属性预测模块预训练 与SOTA检测器的对比实验 消融实验 V…

微格式:为Web内容赋予语义的力量

一、什么是微格式? 微格式是一种建立在已有 Web 标准基础上的简单、开放的数据格式。它的核心思想是通过在 HTML 标签中添加特定的属性和类名,为网页内容添加语义注解,从而兼顾 HTML 文档的人机可读性。 简单来说,微格式就是一套约定俗成的 HTML 标记方式,让我们能够在不…

偏移成像中,原始地震采集数据的数据规则化(Data Regularization)

在油气地震资料处理中,柯希霍夫(Kirchhoff)积分法偏移成像对数据采集分布的均匀性较为敏感。当原始地震道数据存在空间分布不均匀时,会导致偏移噪声、假频或成像失真。数据规则化(Data Regularization)通过…

米壳AI:跨境电商图片翻译的“隐形革命”:当AI技术遇上全球化生意

一、行业观察:跨境卖家的“语言围城” 在亚马逊西班牙站,某家居品牌因产品图西班牙语翻译错误导致整批货物滞留港口;TikTok东南亚直播间里,美妆主播因马来语字幕错位引发消费者投诉……这些真实案例折射出跨境电商的集体困境&…

人工智能:如何将数据输入到神经网络中

文章目录 引言数据输入神经网络的重要性及示例以识别美女图片为例讲解数据输入不同应用的数据输入方式结语 人工智能是引领未来的前沿技术领域。通过这个系统性学习计划,我们将逐步深入如何将数据输入到神经网络中。无论你是初学者还是有一定基础的开发者&#xff0…

数据库12(游标)

游标语法 declare c1 cursor for select title from titles --定义一个游标c1,确定游标对应的列是titles表的title列,游标可以对应多个列 declare bname varchar(50) --声明变量 open c1 --初始化,开始使用游标 fetch next from c1 in…

第四部分:赋予网页健壮的灵魂 —— TypeScript(中)

目录 4 类与面向对象:构建复杂的组件4.1 类的定义与成员4.2 继承 (Inheritance)4.3 接口实现 (Implements)4.4 抽象类 (Abstract Class)4.5 静态成员 (Static Members) 5 更高级的类型:让类型系统更灵活5.1 联合类型 (|)5.2 交叉类型 (&)5.3 字面量类…

Vue3源码学习-提交限制

文章目录 前言✅ 1. ESLint 限制🔧 配置位置:✅ 启用了哪些规则(核心):📦 使用的插件和标准: ✅ 2. TSC 编译限制关键选项: ✅ 3. Git Hook 校验工具链配置例子(package.…

Arthas 使用攻略

目录 背景 Arthas是什么? 安装 使用arthas-boot(推荐) 启动 常用命令 一键生成arthas命令的插件(强烈推荐) watch 一、命令语法结构 二、核心参数详解 三、实战场景 1. 基础观测 - 查看入参和返回值 2. 条件过滤 - 只关注特定参…

冥想类短视频批量剪辑自动混剪技术实践:从素材处理到智能合成全解析

一、引言:工业化内容生产的技术突围 在心理健康类内容爆发的当下,冥想类短视频凭借「低制作成本 高用户粘性」的特性成为热门赛道。本文结合实战经验,解析如何通过模块化素材处理、参数化合成引擎、自动化质量控制等技术手段,构…

【自定义控件实现最大高度和最大宽度实现】

背景 开发中偶尔遇到控件宽度或者高度在自适应的情况下,有个边界值,也就是最大值。 比如高度自适应的情况下最大高度300dp这种场景。 实现 关键节点代码: Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)…

综合练习三

使用到的知识点:xml文件,初始化file数据,提取file文件数据 题目:水文检测系统 备注:可以把序号作为该条数据的唯一标识(即UUID),而不是第一条第二条数据这样的类型。代码是后者&…

Microsoft Entra ID 详解:现代身份与访问管理的核心

Microsoft Entra ID(原名为 Azure Active Directory,简称 Azure AD)是微软推出的云端身份和访问管理服务,专为现代混合环境设计,支持企业安全地管理用户身份、控制资源访问,并集成多种应用与服务。以下从核心功能到最佳实践全面解析 Entra ID。 1. Entra ID 的核心定位 …

从技术角度看Facebook的隐私保护机制

在数字化时代,隐私保护成为了公众关注的焦点。作为全球最大的社交网络平台之一,Facebook 在隐私保护方面采取了一系列技术措施。本文将从技术角度探讨 Facebook 的隐私保护机制,揭示它是如何在提供个性化服务的同时,确保用户隐私信…

基于策略模式实现灵活可扩展的短信服务架构

基于策略模式实现灵活可扩展的短信服务架构 引言 在企业级应用开发中,短信服务是不可或缺的基础功能之一。随着业务发展,我们可能需要接入多个短信服务提供商(如阿里云、腾讯云、第三方短信网关等),并能够在不修改核…

Vue 3 单文件组件中 VCA 语法糖及核心特性详解

在 Vue.js 的开发世界里,单文件组件(Single File Components,简称 SFC)是构建复杂应用的基石。它将 HTML、CSS 和 JavaScript 代码封装在一个.vue文件中,极大地提高了代码的可维护性和复用性。 本文将深入探讨单文件组…

【Unity C#从零到精通】项目深化:构建核心游戏循环、UI与动态敌人系统

Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…

SNR8016语音模块详解(STM32)

目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 三、程序设计 main文件 usart.h文件 usart.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 SNR8016语音模块是智纳捷科技生产的一种离线语音识别模块,设计适合用于DIY领域,开放用户设…