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

相关推荐
量子网络3 分钟前
debian 如何进入root
linux·服务器·debian
时光の尘6 分钟前
C语言菜鸟入门·关键字·float以及double的用法
运维·服务器·c语言·开发语言·stm32·单片机·c
我们的五年11 分钟前
【Linux课程学习】:进程描述---PCB(Process Control Block)
linux·运维·c++
运维老司机34 分钟前
Jenkins修改LOGO
运维·自动化·jenkins
D-海漠1 小时前
基础自动化系统的特点
运维·自动化
我言秋日胜春朝★1 小时前
【Linux】进程地址空间
linux·运维·服务器
繁依Fanyi1 小时前
简易安卓句分器实现
java·服务器·开发语言·算法·eclipse
C-cat.1 小时前
Linux|环境变量
linux·运维·服务器
yunfanleo2 小时前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
m51272 小时前
LinuxC语言
java·服务器·前端