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 小时前
如何在 DAX 中计算多个周期的移动平均线
java·服务器·前端
powerfulzyh2 小时前
Ubuntu24.04远程开机
linux·ubuntu·远程工作
ulimpid2 小时前
Command | Ubuntu 个别实用命令记录(新建用户、查看网速等)
linux·ubuntu·command
HHoao2 小时前
Ubuntu启动后第一次需要很久才能启动GTK应用问题
linux·运维·ubuntu
小灰兔的小白兔2 小时前
【Ubuntu】Ubuntu常用命令
linux·运维·ubuntu
GFCGUO3 小时前
ubuntu18.04运行OpenPCDet出现的问题
linux·python·学习·ubuntu·conda·pip
winds~3 小时前
ubuntu中软件的进程管理-结束软件运行
linux·运维·ubuntu
阳光不锈@3 小时前
麒麟桌面系统安装和配置Node.js
linux·麒麟系统安装node.js
bush43 小时前
使用root账号ssh登录虚拟机ubuntu
运维·ubuntu·ssh
叫我龙翔4 小时前
【Linux】进程间关系与守护进程
linux·运维·服务器·计算机网络