正文共: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兼容性列表中可以查看:
https://developer.nvidia.com/cuda-gpus
可以看到,Tesla M系列GPU只列出了M40和M60两款,但是M40和M4的主要差别在于规格和性能差异,所以理论上讲,M4应该也算是支持的。
然后我们到CUDA的下载页面找一下合适的版本。
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),它会在安装过程中下载所需的组件。下载速度更快,但每次新安装时都需要重新下载每个组件。我先给大家简单展示一下使用网络安装程序安装的效果。
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)扩展,列表页面如下:
https://developer.nvidia.com/rdp/cudnn-archive
因为GPU驱动是在2019年9月份发布的,在这中间,我们找几个和CUDA 10.0相匹配、并且发布时间在2019年的,最终选定同样是2019年发布的7.6.4版本,应该是可以匹配的。
选择下载Linux版本。
2、检查配置系统环境
软件都下载好之后,我们先检查一下系统。在安装NVIDIA驱动之前,需要确保安装了epel-release以便后续安装依赖包。
yum install -y epel-release
然后,更新系统以确保系统是最新的软件包。
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上传到主机。
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
询问是否使用DKMS注册,默认使用YES。
提示信息,直接回车。
是否安装32位的库,默认安装上吧。
等待驱动安装完成。
重启虚拟机,检查驱动是否安装成功。
nvidia-smi
能够正常显示GPU型号、规格以及传感器信息。
4、安装CUDA及cuDNN
参考CUDA的官方指导,安装软件。
chmod +x cuda_10.0.130_410.48_linux.run
./cuda_10.0.130_410.48_linux.run
展示完EULA并接受,之后配置各项参数。
安装完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
检查CUDA是否安装成功。
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/
至此,软件安装完成。
长按二维码
关注我们吧
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从入门到精通