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

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

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

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兼容性列表中可以查看:

javascript 复制代码
https://developer.nvidia.com/cuda-gpus

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

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

javascript 复制代码
https://developer.nvidia.com/cuda-toolkit-archive

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

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

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

css 复制代码
rpm -i cuda-repo-rhel7-10.0.130-1.x86_64.rpm
yum clean all
yum install -y cuda

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

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

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

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

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

javascript 复制代码
https://developer.nvidia.com/rdp/cudnn-archive

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

选择下载Linux版本。

2、检查配置系统环境

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

sql 复制代码
yum install -y epel-release

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

cpp 复制代码
yum list && yum update -y

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

javascript 复制代码
yum groupinstall "Development Tools" -y
yum install -y kernel-devel-$(uname -r) dkms

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

3、安装GPU驱动

先安装GPU驱动。

nginx 复制代码
chmod +x NVIDIA-Linux-x86_64-410.129-diagnostic.run
./NVIDIA-Linux-x86_64-410.129-diagnostic.run --dkms --no-opengl-files

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

提示信息,直接回车。

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

等待驱动安装完成。

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

go 复制代码
nvidia-smi

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

4、安装CUDA及cuDNN

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

nginx 复制代码
chmod +x cuda_10.0.130_410.48_linux.run
./cuda_10.0.130_410.48_linux.run

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

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

bash 复制代码
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

检查CUDA是否安装成功。

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

properties 复制代码
tar -zxf cudnn-10.0-linux-x64-v7.6.4.38.tgz
cp -avr cuda/ /usr/local/cuda-10.0/

至此,软件安装完成。

长按二维码

关注我们吧


<>

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从入门到精通
<>

相关推荐
摸鱼也很难1 小时前
Docker 镜像加速和配置的分享 && 云服务器搭建beef-xss
运维·docker·容器
watermelonoops1 小时前
Deepin和Windows传文件(Xftp,WinSCP)
linux·ssh·deepin·winscp·xftp
woshilys2 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
疯狂飙车的蜗牛2 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
恩爸编程3 小时前
探索 Nginx:Web 世界的幕后英雄
运维·nginx·nginx反向代理·nginx是什么·nginx静态资源服务器·nginx服务器·nginx解决哪些问题
Michaelwubo4 小时前
Docker dockerfile镜像编码 centos7
运维·docker·容器
远游客07134 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<4 小时前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传
jingyu飞鸟4 小时前
centos-stream9系统安装docker
linux·docker·centos
好像是个likun5 小时前
使用docker拉取镜像很慢或者总是超时的问题
运维·docker·容器