Linux Centos7 安装NVIDIA 驱动

news2024/11/24 5:18:30

cat /etc/redhat-release 查看系统版本

服务器IP

系统版本

内核

GPU

内存和硬盘

后期扩容

10.0.2.125

CentOS Linux release 7.9.2009

5.3.10-1.el7.elrepo.x86_64

4 张 Tesla T4(16G)

376G + 1.5T

物理机

10.0.2.130

CentOS Linux release 7.9.2009

3.10.0-1160.el7.x86_64

2 张 Tesla T4(16G)

251G + 3T

物理机

10.0.2.131

CentOS Linux release 7.9.2009

3.10.0-1160.el7.x86_64

1 张 Tesla T4(16G)

251G + 3T

物理机

部分文档说:注意: 安装nvidia-docker2前要先安装 驱动及CUDA、CUDNN安装

部分文档说:提示: 宿主机没必要安装cuda和cudnn的包,build的时候不能使用`--runtime=nvidia`,要构建镜像的时候使用`nvidia`

在131测试(一块显卡)

lshw -numeric -C display 检查硬件

lspci | grep -i nvidia

5e:00.0 3D controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1)

说明此刻用的是开源版本的nouveau显卡驱动,在后文,如果安装完毕nvidia的驱动后,这行会变为configuration: driver=nvidia

安装步骤

更新kernel

其中dkms是可选的,但是有了它,可以确保以后内核更新后,内核更新事件会触发Nvidia的内核驱动跟着自动编译安装更新。实际上,你在安装驱动的过程中,会有专门的提示框弹出来让你选择。

yum install -y --downloadonly --downloaddir=/root/ epel-release

yum install -y --downloadonly --downloaddir=/root/ kernel-headers kernel-devel dkms

rpm -ivh kernel-devel-3.10.0-1160.el7.x86_64.rpm

yum -y install gcc kernel-devel

安装 gcc、kernel

gcc -v

禁用 nouveau

检查模块是否仍旧在加载(安装nvidia显卡驱动前需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动)

查看命令:
lsmod | grep nouveau

修改dist-blacklist.conf文件:
vim /lib/modprobe.d/dist-blacklist.conf

将nvidiafb注释掉:
#blacklist nvidiafb 

然后添加以下语句:
blacklist nouveau
options nouveau modeset=0

重建initramfs image

#备份一份成bak文件
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
#重启镜像
dracut /boot/initramfs-$(uname -r).img $(uname -r)
#修改运行级别为文本模式
systemctl set-default multi-user.target

reboot

lsmod | grep nouveau

安装NVIDIA驱动

# 驱动下载地址官方驱动 | NVIDIA

# 请选择自己需要的版本号 # 需要加上权限

chmod +x NVIDIA-Linux-x86_64-410.129-diagnostic.run

# 不使用命令,直接复制上面地址也可以在浏览器直接下载

./NVIDIA-Linux-x86_64-410.129-diagnostic.run --kernel-source-path=/usr/src/kernels/3.10.0-1160.el7.x86_64 -k $(uname -r)

lshw -numeric -C display

nvidia-smi

安装nvidia-docker2

准备文件,需要和系统版本对应

在已安装docker的机器上

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

url -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo

yum install --downloadonly nvidia-docker2 --downloaddir=/tmp/nvidia

得到这些

rpm -Uvh *.rpm --nodeps --force

安装nvidia docker2以后,修改docker 默认runtime。重启docker,这样就能在docker或者k8s中使用gpu了。

cat /etc/docker/daemon.json
{
    "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

# 热启动docker
systemctl daemon-reload && sudo kill -SIGHUP $(pidof dockerd)
不行再systemctl restart docker

docker run --rm --gpus all nvidia/cuda:10.0-base-centos7 nvidia-smi

docker run --rm --gpus all nvidia/cuda:11.4.3-base-centos7 nvidia-smi

卸载更换

yum install -y nvidia-docker2 --downloadonly --downloaddir=/root/nvidia-new

yum install -y nvidia-container-toolkit --downloadonly --downloaddir=/root/nvidia-new

rpm -Uvh *.rpm --nodeps --force

sudo /usr/bin/nvidia-uninstall

chmod a+x NVIDIA-Linux-x86_64-440.33.01.run #(对应老驱动版本)

./NVIDIA-Linux-x86_64-440.33.01.run --uninstall

卸载nvidia-docker

docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f

reboot

安装

./NVIDIA-Linux-x86_64-440.118.02.run --kernel-source-path=/usr/src/kernels/3.10.0-1160.el7.x86_64 -k $(uname -r)

./NVIDIA-Linux-x86_64-535.104.12----12.2.run --kernel-source-path=/usr/src/kernels/3.10.0-1160.102.1.el7.x86_64 -k $(uname -r)

docker run --rm --gpus all nvidia/cuda:10.0-base-centos7 nvidia-smi 测试

docker run --rm --gpus all nvidia/cuda:11.4.3-base-centos7 nvidia-smi

报错 Error opening terminal: xterm.

1.rpm -qa | grep ncurses
2.sudo yum install ncurses.x86_64 ncurses-devel.x86_64
3.export TERMINFO=/usr/share/terminfo

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

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

相关文章

消息中间件的介绍

消息中间件(message oriented middleware)是指支持与保障分布式应用程序之间同步/异步收发消息的中间件。消息是分布式应用之间进行数据交换的基本信息单位,分布式应用程序 之间的通信接口由消息中间件提供。其中,异步方式指消息发…

T2I-Adapter: 让马良之神笔(扩散模型)从文本生成图像更加可控

文章信息 单位:北大深张健团队,腾讯ARC lab 源码: https://github.com/TencentARC/T2I-Adapter 图1. 插个DXL的渲染图,这么真实的光感,感觉PS都可以被取代了 目录 文章信息前言一、介绍二、相关工作1.图像合成与转换2 扩散模型3 适…

多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测

多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测 目录 多维时序 | MATLAB实现SSA-CNN-SVM麻雀算法优化卷积神经网络-支持向量机多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | MATLAB实现…

【计算机图形学】Ditto: Building Digital Twins of Articulated Objects from Interaction

项目主页:Ditto: Building Digital Twins of Articulated Objects from Interaction 文章目录 1. 为什么要做这件事2. 做了件什么事3. 之前的工作(Related work)铰接模型估计铰接物体的3D重建隐式神经表达物理仿真中的铰接物体 4. 问题定义5…

腾讯云服务器上传文件 :Permission denied (os error 13) ,由于权限无法上传

根据网上的修改云服务器上传文件目录的权限,或是用root权限上传本地文件,均失败。 正解办法: ubuntu:/home/wwwroot# sudo passwd root Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully首先修…

Windows常用的功能命令

Win操作方法 快捷键winR,输入cmd回车,然后就可以输入cmd命令了,赶紧收藏起来,用的时候更方便 打开程序和功能 快捷键winR,输入appwiz.cpl回车 启动计算器 快捷键winR,输入calc回车 计算机管理 …

saas供应链批发订货系统源码整套输出的3大好处

随着电子商务的快速发展,越来越多的企业开始关注和采用供应链批发订货系统,以提高其供应链管理的管理效率和数据沉淀。现在大多企业还是使用SaaS供应链系统,而源码整套输出的3大好处、尤其是第三个可让企业受益匪浅。 1. 定制化能力&#xff…

Leetcode 55 跳跃游戏

题意理解: 非负整数数组 nums, 最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 需要跳到nums最后一个元素即为成功。 目标:是否能够跳到最后一个元素。 解题思路: 使用贪心算法来解题,需要理解…

Unity中Shader平移矩阵

文章目录 前言方式一:对顶点本地空间下的坐标进行相加平移1、在属性面板定义一个四维变量记录在 xyz 上平移多少。2、在常量缓冲区进行申明3、在顶点着色器中,在进行其他坐标转化之前,对模型顶点本地空间下的坐标进行转化4、我们来看看效果 方…

NIO的实战教程(简单且高效)

1. 参考 建议按顺序阅读以下三篇文章 为什么NIO被称为同步非阻塞? Java IO 与 NIO:高效的输入输出操作探究 【Java.NIO】Selector,及SelectionKey 2. 实战 我们将模拟一个简单的HTTP服务器,它将响应客户端请求并返回一个固定的…

​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进

在当今数字化浪潮愈发汹涌的时代,科技公司的发展不仅需要更强大的计算能力和创新性技术,还需要对环境的高度责任感。在这一背景下,亚马逊云科技的海外服务器产品成为了推动清洁、高效数字未来的领导者之一。亚马逊云科技的高级主管阿比谢克夏…

【MyBatis学习笔记】MyBatis基础学习

MyBatis基础 MyBatis简介MyBatis特性MyBatis下载和其他持久化层技术对比 核心配置文件详解默认的类型别名 搭建MyBatis开发环境创建maven工程创建MyBatis的核心配置文件创建mapper接口创建MyBatis的映射文件通过junit测试功能加入log4j日志功能 MyBatis获取参数值的两种方式&am…

vue-pure-admin源码解读与使用

vue-pure-admin 全面使用ESMVue3ViteElement-PlusTypeScript编写的一款后台管理系统(兼容移动端),目前斩获11.5k个star。 界面构成 主题Layout的组成 左边sidebar由Vertical组件定义tab标签栏由layoutHeader组件定义中间Body由appMain组件定义 为何点…

@RequestParam、@PathVariable、@RequestBody、@RequestAttribute详解

一、RequestParam注解 作用:用于将指定的请求参数赋值给方法中的形参。 属性: 1)value:请求参数名(必须配置) 2)required:是否必需,默认为 true,即请求中必须…

GESP认证第四次考试百分榜考生名单及学校

考生姓名 所在学校 编程语言 得分 谢秉修 上海市民办华育中学 C 八级 100 张洪森 淄博市张店区第八中学 C 四级 100 高希文 宜兴市实验中学 C 四级 100 窦铭泽 温州市实验中学教育集团府东分校 C 四级 100 袁…

浅析 fuse kernel mmap write 过程及性能问题

前言 最近在项目里面用到了fuse文件系统,在使用过程中遇到了一个内核在做mmap write的一个bug,目前并没有从根本上解决这个bug,而是通过修改fuse kernel module的一些参数,绕开了这个bug。这里记录一下这个问题,并顺便…

学会这个插件,职业生涯少写 1w 行代码。

前言 学会这个插件,职业生涯少写 1w 行代码。 与前端对接、与后端对接、与数据对接、与第三方对接等等。这些工作发生在大家的整个工作周期中,其中有些工作都是重复性的,而且是机械的。 所以今天给大家推荐一款非常实用 IDEA 插件&#xf…

【Python】基于ORM的SqlAlchemy操纵数据库代码实现

说明 ORM,全称Object-Relational Mapping,即对象-关系映射,是一种程序设计技术,用于在面向对象编程语言和关系数据库之间建立对应关系。它的主要目的是让开发者能够使用面向对象的方式操作数据库,而不必过多地关注数据…

法线贴图实现地形模型皱褶、凹凸不平的纹理效果

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 法线贴图在3D建模中扮演着重要的角色,它通过模拟表面的微…

Qt 国际化——创建中英文翻译步骤

Qt 国际化——创建中英文翻译步骤 说明:之前我的csdn博客,第一篇文章发表的就是Qt国际化的文章(点击打开),写的也过于简单了: 今天,这篇文章再详细的记录下,中英文翻译的步骤。 一…