CentOS 7.9安装Tesla M4驱动、CUDA和cuDNN

fbfa22f7e6a080ac7482ed15cc4a457e.gif

正文共:1333 字 21 图,预估阅读时间:2 分钟

上次我们在Windows上尝试用Tesla M4配置深度学习环境TensorFlow识别GPU难道就这么难吗?还是我的GPU有问题?,但是失败了。考虑到Windows本身就会调用图形显示,可能会有影响,所以我们本次换用Linux系统(CentOS 7.9)来尝试一下。

a75141b46acf3600d798e1c33523472f.png

1、下载软件

结合上次的经验教训,我们本次先确定合适的CUDA(Compute Unified Device Architecture) Toolkit的版本。

Tesla M4 GPU(GM206GL)是一款基于Maxwell架构的入门级Tesla GPU,发布于2015年6月切换到WDDM模式,Tesla M4可以用于本地显示输出了!。由于GPU高速发展,2016年Nvidia就发布了基于Pascal架构的Tesla P4,其在性能和功耗方面相比Tesla M4都有大幅提升,因此逐渐取代Tesla M4成为主流;2018年,Nvidia又发布了基于Turing架构的Tesla V100 GPU,在性能和功耗方面又有大幅提升,并逐渐取代了Tesla P4成为主流。一般来讲,认为Tesla M4的生命周期大约3年,即从2015年发布到2018年淘汰。

Tesla M4使用的是Maxwell架构,但因为其生命周期较短,所以官网介绍并非所有Maxwell架构GPU都支持所有CUDA版本和cuDNN版本。我们在Nvidia官方的CUDA兼容性列表中可以查看:

https://developer.nvidia.com/cuda-gpus

7d40cedb720a30c549479bbc95898712.png

可以看到,Tesla M系列GPU只列出了M40和M60两款,但是M40和M4的主要差别在于规格和性能差异,所以理论上讲,M4应该也算是支持的。

然后我们到CUDA的下载页面找一下合适的版本。

https://developer.nvidia.com/cuda-toolkit-archive

3fc7bc2a54dad134d3936b0684c05a44.png

根据时间推断,应该是介于2015年到2019年中间,符合要求的最低版本应该不低于7.0,最高版本应该不低于10.0,网传是11.7版本。为了保险起见,我们先下载2018年9月发布的10.0版本试一下。

695808d7b44a884662c25e51ef1899fd.png

CUDA支持local(本地)和network(网络)两种安装方式。本地安装程序是自包含的,包括每个组件。它是一个大文件(runfile文件大小为2.0 GB,补丁包为3.3 MB;rpm文件大小为1.9 GB,补丁包为3.6 MB),只需要从互联网上下载一次,就可以安装在多个系统上,推荐在低带宽或隔绝互联网连接环境下试用。

而网络安装程序是一个小型安装程序客户端(3.3 KB),它会在安装过程中下载所需的组件。下载速度更快,但每次新安装时都需要重新下载每个组件。我先给大家简单展示一下使用网络安装程序安装的效果。

rpm -i cuda-repo-rhel7-10.0.130-1.x86_64.rpm
yum clean all
yum install -y cuda

f387e615ca6a412ff1165715f6530a7a.png

可以看到,安装文件还是比较大的,下载文件大小为4.3 GB,比本地下载的文件还大,安装占用空间为8.1 GB,主要是下载时间太长。

cd9ee959ff91a5dc17d8c33c259999a7.png

所以,还是推荐大家换用runfile或rpm进行安装。

确认完CUDA版本,就可以去下载GPU驱动了,在下载页面,我们选择型号为Tesla M4,操作系统选择为RHEL 7,CUDA版本选择为10.0,然后搜索驱动。

181201d5c403437fb0b67ddcbeb9b064.png

在驱动下载页面,下载好驱动文件备用。

212f8b0a677e970f2c79af0daa598924.png

对应的,还建议安装一下cuDNN(CUDA Deep Neural Network library)扩展,列表页面如下:

https://developer.nvidia.com/rdp/cudnn-archive

dd620ce68161e76cf2b8662a1a657a8f.png

因为GPU驱动是在2019年9月份发布的,在这中间,我们找几个和CUDA 10.0相匹配、并且发布时间在2019年的,最终选定同样是2019年发布的7.6.4版本,应该是可以匹配的。

f1dc84a497660adc83e5638be2b86812.png

选择下载Linux版本。

525c7246f78c34b55371918aea60c7a7.png

2、检查配置系统环境

软件都下载好之后,我们先检查一下系统。在安装NVIDIA驱动之前,需要确保安装了epel-release以便后续安装依赖包。

yum install -y epel-release

d15a36caad7bc69f8cee21120116a3b7.png

然后,更新系统以确保系统是最新的软件包。

yum list && yum update -y

驱动安装可能需要特定的内核头文件和DKMS(Dynamic Kernel Module Support)模块,安装开发工具包,并根据实际内核版本安装相应的kernel-devel包。

yum groupinstall "Development Tools" -y
yum install -y kernel-devel-$(uname -r) dkms

接下来,将下载的GPU驱动、CUDA和cuDNN上传到主机。

95754e1d9b78bfda01f1968bbdb0859d.png

c2b39a196f6e832e1168310423022cf7.png

3、安装GPU驱动

先安装GPU驱动。

chmod +x NVIDIA-Linux-x86_64-410.129-diagnostic.run
./NVIDIA-Linux-x86_64-410.129-diagnostic.run --dkms --no-opengl-files

0c44f007562616a5c0f12b5a3ebe8e95.png

询问是否使用DKMS注册,默认使用YES。

042d9f661ed11bf01458544c54e8b370.png

提示信息,直接回车。

6d143c52755743fd205caa0296a4c9bb.png

是否安装32位的库,默认安装上吧。

67cd2448c4550e207cdac62bca293e63.png

等待驱动安装完成。

ea026813417eecd3f61ca227f7857ab2.png

重启虚拟机,检查驱动是否安装成功。

nvidia-smi

be3721e8db1b3a64c6d6a6cf282fc495.png

能够正常显示GPU型号、规格以及传感器信息。

ec5386bf20a82a8c42210d676936c4ab.png

4、安装CUDA及cuDNN

参考CUDA的官方指导,安装软件。

chmod +x cuda_10.0.130_410.48_linux.run
./cuda_10.0.130_410.48_linux.run

展示完EULA并接受,之后配置各项参数。

d093ec63e3ba861ddfef3b23e012ca80.png

安装完CUDA Toolkit之后,按照提示,向环境变量中添加文件路径。

echo 'export PATH=/usr/local/cuda-10.0/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

bf130884db197a83677e129b9a4f416b.png

检查CUDA是否安装成功。

97791b2acc5c81d84f027920c49452a4.png

cuDNN在Linux下的安装和Windows一样,只要将文件解压,然后复制到CUDA Toolkit目录下即可。

tar -zxf cudnn-10.0-linux-x64-v7.6.4.38.tgz
cp -avr cuda/ /usr/local/cuda-10.0/

3aab97d653abc0ee18b300b547970819.png

至此,软件安装完成。

2b4b5309114dd2cdb8d77f8c02b3a21a.gif

长按二维码
关注我们吧

77b87bf8e61380ddc13397af2b532187.jpeg

dd0835df58af7edd21e30b0affc3062e.png

Windows部署TensorFlow后识别GPU失败,原因是啥?

TensorFlow识别GPU难道就这么难吗?还是我的GPU有问题?

轻轻松松达到1.8 Gbps,果然HCL还是搭配高档电脑更好使

将Juniper虚拟防火墙vSRX导入EVE-NG

Juniper虚拟防火墙vSRX配置防火墙策略实现业务转发

配置VMware实现从服务器到虚拟机的一键启动脚本

Ubuntu 23.10通过APT安装Open vSwitch

使用Python脚本实现SSH登录设备

VMWare ESXi中,不同的虚拟网卡性能竟然能相差三倍!

VMWare ESXi 7.0的磁盘空间莫名少了120 GB?看这里!

同一个问题,Gemini、ChatGPT、Copilot、通义千问和文心一言会怎么答?

CentOS 7配置Bonding网卡绑定

H3C交换机S6850配置M-LAG基本功能

H3C交换机S6850配置M-LAG三层转发

Windows Server调整策略实现999999个远程用户用时登录

IPv6从入门到精通

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

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

相关文章

力扣_字符串6—最小覆盖字串

题目 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。 示例 : 输入:s “ADOBECODEBANC”, t “ABC” 输出:“BANC” 解释:…

jvm几个常见面试题整理

1. Full GC触发机制有如下5种情况。 (1)调用System.gc()时,系统建议执行Full GC,但是不必然执行。(2)老年代空间不足。(3)方法区空间不足。(4)老年代的最大可用连续空间小于历次晋升到老年代对象的平均大小就会进行Full GC。(5)由Eden区、S0(From)区向S…

【GO语言卵细胞级别教程】05.项目创建和函数讲解

感谢!点点赞和评论呀!我将继续更新 目录: 感谢!点点赞和评论呀!我将继续更新0.创建项目1.函数的引入2.注意事项3.详细介绍3.1 形参介绍 4.导入包4.1 基本知识4.2 注意事项 5.init函数6.匿名函数 0.创建项目 创建目录 …

uv机器电机方向极性

爱普生主板设置X、Y 电机方向极性:请根据实际情况设置,开机初始化时如果电机运动方向反了则修改此极性。 理光主板设置X、Y 电机方向极性

神经网络(Nature Network)

最近接触目标检测较多,再此对最基本的神经网络知识进行补充,本博客适合想入门人工智能、其含有线性代数及高等数学基础的人群观看 1.构成 由输入层、隐藏层、输出层、激活函数、损失函数组成。 输入层:接收原始数据隐藏层:进行…

SpringCloud-Ribbon实现负载均衡

在微服务架构中,负载均衡是一项关键的技术,它可以确保各个服务节点间的负载分布均匀,提高整个系统的稳定性和性能。Spring Cloud 中的 Ribbon 就是一种负载均衡的解决方案,本文将深入探讨 Ribbon 的原理和在微服务中的应用。 一、…

python 基础知识点(蓝桥杯python科目个人复习计划38)

今日复习内容:DFS的剪枝 我理解的剪枝,和《运筹学》里面“分支定界法”的剪枝操作一样,不停按照题目所给条件分割,当所得目标函数的值已偏离最优解时,就将其减去。 例题1:数字王国之军训排队 题目描述&a…

阅读 - 搭建博客

搭建博客的几种方式 1. 使用在线的博客系统,如语雀、掘金、CSDN等。 优点:直接创建账号使用即可,简单方便,不需要维护 缺点:文章分散在各个平台,不易于管理 2. github pages hugo、hexo等静态博客系统…

CVE-2022-25578 漏洞复现

CVE-2022-25578 路由/admin/admin.php是后台,登录账号和密码默认是admin、tao,选择文件管理。 是否还记得文件上传中的.htaccess配置文件绕过发,在这个文件中加入一句AddType application/x-httpd-php .jpg,将所有jpg文件当作php…

【c++基础】国王的魔镜

说明 国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。 比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。如果把B端接触镜面的话,魔镜会把…

【Linux】信号

祝大家新年快乐啦!!!新的一年,第一篇文章我们来谈谈Linux中的信号 目录 一、引入 二、系统内置的信号 三、前台进程和后台进程 四、signal函数 五、信号的产生 5.1 通过终端按键产生信号 5.2 调用系统函数向进程发信号 5…

STM32--SPI通信协议(3)SPI通信外设

前言 硬件SPI:通过硬件电路实现,所以硬件SPI速度更快,有专门的寄存器和 库函数 ,使用起来更方便。 软件SPI:也称模拟SPI,通过程序控制IO口电平模拟SPI时序实现,需要程序不断控制IO电平翻转&am…

耳机壳UV树脂制作私模定制耳塞适合什么样的人使用呢?

耳机壳UV树脂制作私模定制耳塞适合以下人群使用: 对音质要求高的人:私模定制耳塞能够完美契合用户的耳朵形状,减少漏音和外部噪音的干扰,提供更好的音质体验。需要长时间佩戴耳机的人:私模定制耳塞能够提高佩戴舒适度…

【QT+QGIS跨平台编译】之三十六:【RasterLite2+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、RasterLite2介绍二、文件下载三、文件分析四、pro文件五、编译实践一、RasterLite2介绍 RasterLite2是一个开源的轻量级栅格数据库,可以用于存储和管理各种类型的栅格数据,包括卫星遥感图像、数字高程模型等。 与传统的GIS数据存储方式不同,RasterLite2采用基…

【SpringBoot】Validator组件+自定义约束注解实现手机号码校验和密码格式限制

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》 🛸学无止境,不骄不躁,知行合一 文章目录 前言一、Cons…

TI的电量计驱动在卸载时导致Linux卡死

背景 最近移植TI电量计芯片bq40z50的驱动,移植完毕后,能正常读取电池信息了,但是无意中发现驱动卸载会导致Linux卡死,死前终端闪过大量打印,将putty的缓冲区都耗尽了,必须启用syslog转发并用visual syslog…

python+django高校活动报名场地管理系统l1ro4

校园活动管理平台程序的开发,在数据库的选择上面,选择功能强大的MySQL数据库进行数据的存放操作。 技术栈 后端:python 前端:vue.jselementui 框架:django Python版本:python3.7 数据库:mysql5…

CSS基础---新手入门级详解

CSS:层叠样式表 CSS&#xff08;Cascading Style Sheets,层叠样式表&#xff09;&#xff0c;是一种用来为结构化文档添加样式&#xff08;字体、间距和颜色&#xff09;的计算机语言&#xff0c;css扩展名为.css。 实例: <!DOCTYPE html><html> <head><…

【C语言】解析刘谦春晚魔术《守岁共此时》

今年的春晚上刘谦表演了魔术《守岁共此时》&#xff0c;台上台下积极互动&#xff08;尤其是小尼&#xff09;&#xff0c;十分的有趣。刘谦老师的魔术不仅仅是他的高超手法&#xff0c;还有这背后的严谨逻辑&#xff0c;下面我们来用C语言来解析魔术吧。 源代码 #define _CRT…

3.1-媒资管理之需求分析+搭建Nacos

文章目录 媒资管理模块1 模块需求分析1.1 模块介绍1.2 业务流程1.2.1 上传图片1.2.2 上传视频1.2.3 处理视频1.2.4 审核媒资 2.2 搭建Nacos2.2.1 服务发现中心2.2.2 配置中心2.2.2.1 配置三要素2.2.2.3配置content-api 2.2.3 公用配置2.2.4 配置优先级2.2.5 导入配置文件2.2.6 …