R730直通Tesla P40显卡

本次讲述如何在R730的ESXi上,将Tesla P40直通到centos7.7和WinServer2016。使用直通模式,安装普通的驱动即可,不需要vGPU的驱动。

按计划本来后面要自己装一下系统、做RAID的,不过最近需要用到显卡,所以先把显卡安装上吧。

23年初的时候P40二手的差不多800左右,5月份的时候,二手商都按照1200要了。找了一个个人卖家,950拿下。另外需要买电源线,否则自带的线不够长。25一根,我搞了两根。

image-20230624151012727.png

image-20230624151020905.png

一、原因

为啥选择P40,主要还是成本问题,我也想买更好的,但是更好的贵啊。以当前的眼光来看,性能挺一般,但是1000块钱的东西,还要啥自行车。而且想想当时原价买的时候要3W多,是不是就感觉还不错了?

20210120151305789.png

二、版本说明

安装显卡坑特别多,有很多匹配、兼容方面的内容,大家可以按照我给的物料,按照我给的操作流程来操作。

大家先按照tensorflow的版本确定CUDA版本,根据CUDA版本确定centos版本,明确自己要装什么!

不同的CUDA版本,要求的内核版本、gcc版本不一样,大家一定要确认一下。我这里简单整理了一下

CUDA版本Linux内核版本GCCCentos版本
11.23.104.8.5CentOS 7.y (y <= 9)
11.43.10.0-11366
11.63.10.0-11606.x
12.13.10.0-11606.x

centos对应的内核版本

Centos版本版本内核版本
7.417083.10.0-693.el7.x86_64
7.61810
7.719083.10.0-1062.18.1.el7.x86_64
7.82003
7.920093.10.0-1160

ESXi:6.7

Centos7.7http://linuxsoft.cern.ch/centos-vault/7.7.1908/isos/x86_64/CentOS-7-x86_64-Minimal-1908.iso

显卡:Tesla P40

Nvidia驱动https://us.download.nvidia.cn/tesla/460.106.00/NVIDIA-Linux-x86_64-460.106.00.run

image-20230624152459072.png

CUDAhttps://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux.run

cudnn:cudnn-11.2-linux-x64-v8.1.0.77.tgz

tensorflow-gpu:2.5.0

2.1centos

http://linuxsoft.cern.ch/centos-vault/

2.2centos内核

https://buildlogs.centos.org/

2.3ESXi与GPU直通的兼容性

查看ESXi是否支持GPU直通

https://www.vmware.com/resources/compatibility/search.php?deviceCategory=vsga

13221912_63481e607911a15768.webp

2.4Nvidia驱动

2.5CUDA

2.6cudnn

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

2.7tensorflow

https://www.tensorflow.org/install/source#common_installation_problems

image-20230624135119981.png

三、安装显卡

我们把显卡安装到机器上。机器要断电情况下操作。

image-20230624153124556.png

image-20230624153147760.png

将显卡原带的电源线,单头的接到显卡上A,双头的和我买延长线相连B,延长线单头查到riser上的电源口C。

image-20230624153421512.png

安装后如果服务器无法启动,可能得原因

  • 查看线连接的是否准确:我最开始启动不了,是因为插错误,幸亏没硬件烧了
  • 查看电源功率是否够:我的是750W,功率刚刚够

四、直通Centos7.7

4.1安装centos

我们先下载ISO文件(http://linuxsoft.cern.ch/centos-vault/7.7.1908/isos/x86_64/CentOS-7-x86_64-Minimal-1908.iso),把ISO文件上传到ESXi的存储上

image-20220916213640142.png

然后创建虚拟机即可

image-20220906130826029.png

image-20220906130904564.png

这里一定要设置为EFI,否则即使安装好nvidia驱动,nvidia-smi会报no devices were found

image-20230624124534947.png

4.2配置centos

网络

修改配置:vi /etc/sysconfig/network-scripts/ifcfg-ens192

systemctl restart network

ping www.baidu.com 查看效果

ip address用于查看当前ip

确认好ip后,可通过ssh root@IP 控制centos,效率更高一些

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

查看配置

uname -r和ll /usr/src/kernels/显示的版本要完全一致。如果ll /usr/src/kernels/不显示内容,则说明要安装kernel-devel、kernel-headers

uname -r

ll /usr/src/kernels/

yum list installed | grep kernel

yum list installed | grep gcc
安装kernel

有两种方式:

  1. 如果yum能查到kernel-devel、kernel-headers,这种方式最方便

yum install kernel-devel- ( u n a m e − r ) k e r n e l − h e a d e r s − (uname -r) kernel-headers- (unamer)kernelheaders(uname -r)

  1. 如果yum找不到对应的kernel,则从https://buildlogs.centos.org/ 找对应的版本
yum install wget vim -y
wget https://buildlogs.centos.org/c7.1908.00.x86_64/kernel/20190808101829/3.10.0-1062.el7.x86_64/kernel-devel-3.10.0-1062.el7.x86_64.rpm --no-check-certificate

wget https://buildlogs.centos.org/c7.1908.00.x86_64/kernel/20190808101829/3.10.0-1062.el7.x86_64/kernel-headers-3.10.0-1062.el7.x86_64.rpm --no-check-certificate  

rpm -ivh --force kernel-devel-3.10.0-1062.el7.x86_64.rpm

rpm -ivh --force kernel-headers-3.10.0-1062.el7.x86_64.rpm

yum install gcc
重新检查配置
yum list installed | grep kernel

yum list installed | grep gcc

uname -r

ll /usr/src/kernels/
重启

重启,检查系统能正常启动

4.3配置显卡

把显卡设置为直通

image-20230624164721439.png

重启后

image-20230624125821881.png

这里要预留所有内存。我设置的内存是32G,点击预留所有内存后,内存配置里的预留所有客户机内存会被勾选。

image-20230624125840423.png

image-20230624155731773.png

一定要配置上下面这三个参数

pciPassthru.use64bitMMIO=TRUE

pciPassthru.64bitMMIOSizeGB=64

hypervisor.cpuid.v0= FALSE

image-20230624155815940.png

image-20230624125921582.png

4.4安装Nvidia驱动

# 查看是否能发现显卡
yum install pciutils

lspci | grep -i nvidia

image-20230624160009672.png

https://www.nvidia.com/Download/index.aspx 选择合适的版本

wget https://us.download.nvidia.cn/tesla/460.106.00/NVIDIA-Linux-x86_64-460.106.00.run 

chmod +x NVIDIA-Linux-x86_64-460.106.00.run

./NVIDIA-Linux-x86_64-460.106.00.run --kernel-source-path=/usr/src/kernels/3.10.0-1062.el7.x86_64/  -k $(uname -r)

安装成功后,可用nvidia-smi查看

image-20230624161614759.png

这里有几点要说明:

  1. 不带-k $(uname -r),会报nvidia.ko

image-20230604193941833.png

  1. 如果使用驱动不对,报Unable to load the ‘nvidia-drm’ kernel module,此时需要换其他驱动试试

image-20230522232429284.png

  1. 安装过程中报nouveau 问题,让nvidia帮忙处理就行,然后重启,重新安装驱动

image-20230527194011491.png

image-20230527194022022.png

image-20230527194041433.png

  1. 如果报warning,可以继续,不影响安装

image-20230527194220088.png

  1. 此处选Yes

SouthEast.png
6. dmesg | grep NVRM 查看驱动无法启动原因

image-20230611182632946.png

只能说安装驱动的时候太痛苦了。

4.5安装cuda

https://developer.nvidia.com/cuda-11.2.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=CentOS&target_version=7&target_type=runfilelocal

image-20230624131559850.png

wget https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux.run
# 带上--kernel-source-path
sudo sh cuda_11.2.0_460.27.04_linux.run --kernel-source-path=/usr/src/kernels/3.10.0-1062.el7.x86_64/

image-20230624132701768.png

image-20230624132934002.png

image-20230624132947076.png

image-20230624133147319.png

进行一下配置

vim ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.2/lib64
export PATH=$PATH:/usr/local/cuda-11.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.2
#在终端运行:
source ~/.bashrc

#验证cuda安装正确
nvcc --version

#卸载
cd /usr/local/cuda-11.2/bin
cuda-uninstaller

image-20230624160756660.png

4.6安装cudnn

首先需要注册一个账号,从https://developer.nvidia.com/rdp/cudnn-archive下载指定版本

image-20230624140004940.png

tar -zxvf cudnn-11.2-linux-x64-v8.1.0.77.tgz

sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

4.7安装tensorflow-gpu

安装python3.8
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel  
yum install libffi-devel -y 

# 下载python3.8
wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz

# 解压
tar -zxvf Python-3.8.12.tgz

# 编译,需要一点时间
cd Python-3.8.12/
./configure
make&&make install


# 将python3设置为默认python
# 查看python路径
which python
# 查看python3路径
which python3
# 将旧python备份,防止出问题后无法恢复
 mv /usr/bin/python /usr/bin/python.bak
# 将python3设置为默认python
ln -s /usr/local/bin/python3 /usr/bin/python


# 查看pip3路径
which pip3
# 查看pip路径,应该会说不存在
which pip
# 设置pip也为可用的命令
ln -s /usr/local/bin/pip3 /usr/bin/pip
# 查看pip版本,如果显示说明设置成功
pip -V


# 使用yum功能,发现报错
yum

# 修复这个问题,将首行里的python将改为python2,再次使用yum就可以了
vi /usr/libexec/urlgrabber-ext-down   
vi /usr/bin/yum
安装tensorflow
pip install tensorflow-gpu==2.5.0

4.8测试

import tensorflow as tf
tf.compat.v1.disable_eager_execution()
hello=tf.constant("Hello,Tensorflow!"")
a = tf.constant(1) 
b = tf.constant(2) 
sess=tf.compat.v1.Session()
print(sess.run(hello))
print(sess.run(a+b)) 

image-20230624161057116.png

五、直通WinServer2016

在WInServer安装驱动是最容易的

image-20230623182357415.png

image-20230623182427521.png

image-20230623182516818.png

image-20230623182540538.png

image-20230623182616134.png

image-20230623182632943.png

image-20230623183319242.png

六、资料

  1. https://www.zhihu.com/question/512743476
  2. GPU选型
  3. NVIDIA Tesla GPU系列P40参数性能——不支持半精度(FP16)模型训练
  4. R730 支持英伟达p40卡吗
  5. https://dl.dell.com/Manuals/all-products/esuprt_server_int/esuprt_server_int_poweredge/esuprt_server_rack/poweredge-r730_Concept-Guide5_en-us.pdf
  6. 2022-10-24 dell R740服务器 安装显卡 NVIDIA Tesla P40 24GB
  7. 记第一次给服务器安装NVIDIA Tesla P40 GPU显卡
  8. 新入手一台戴尔R730外加P40Tesla 24G显卡
  9. CentOS 7 安装 NVIDIA 显卡驱动和 CUDA Toolkit
  10. Unable to load the kernel module ‘nvidia.ko’
  11. centos7 Nvidia P40 安装GPU运行环境 - 主
  12. ERROR: Unable to load the ‘nvidia-drm‘ kernel module.
  13. centos7安装p40显卡驱动 + cuda10.0 + cudnn10.0 - 主
  14. Vsphere6.5 NVIDIA–Tesla–P40 GPU 直透
  15. ESXI 6.7 环境 centos7.6 虚拟机安装tesla k80 显卡驱动失败问题解决
  16. CentOS 7从grub如何启动系统
  17. 英伟达 NVIDIA-Tesla-P40 GPU 直透
  18. NVIDIA P40 VGPU部署GRID安装(超详细)
  19. Centos7升级内核——图文详尽版
  20. Gcc https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-6.3.0/
  21. CentOS7安装gcc6.3
  22. Centos6安装devtoolset(高版本gcc)
  23. centos7升级gcc版本,无需手动下载源码编译
  24. CentOS7/6使用rpm离线安装gcc7/6
  25. centos7.4下载地址,与安装详细教程
  26. http://linuxsoft.cern.ch/centos-vault/ iso下载快
  27. centos系统内核安装包各系列版本下载方法
  28. https://vault.centos.org/7.7.1908/os/x86_64/Packages/ - 内核模块
  29. DELL服务器手动调整风扇转速
  30. Centos7 安装独立显卡驱动
  31. Dell R720XD 风扇转速调节
  32. CentOS安装nvidia显卡驱动报错:CENTOS unable to load the kernel module ‘nvidia.ko‘/Secure Boot is enable
  33. CentOS 7.6安装 NVIDIA 独立显卡驱动(完整版)
  34. 华为虚拟化6.5.1显卡直通虚拟机nvidia-smi输出no devices were found
  35. ESXi nvidia-smi报错No devices were found, rm_init_adapter failed, device minor number 0
  36. VMware ESXi DirectPath I/O 直通GPU卡给虚拟机使用
  37. ESXi6.7-7.0 Ubuntu下Nvidia显卡直通教程
  38. VMware ESXi 6.7.0 update2 使用 GPU Passthrough 模式的坑
  39. ESXI虚拟机直通P40显卡给win11虚拟机
  40. ESXi GPU 直通
  41. 如何将虚拟机引导方式从BIOS改为UEFI
  42. https://wiki.centos.org/Download
  43. https://ui.licensing.nvidia.com/software vgpu

最后

大家如果喜欢我的文章,可以关注我的公众号(程序员麻辣烫)

我的个人博客为:https://shidawuhen.github.io/

往期文章回顾:

  1. 设计模式
  2. 招聘
  3. 思考
  4. 存储
  5. 算法系列
  6. 读书笔记
  7. 小工具
  8. 架构
  9. 网络
  10. Go语言
  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
安装显卡到Dell R730xd服务器时,几点需要注意。首先,如果加入独立显卡后关闭板载显卡,可能会导致无法再次进入BIOS设置和按F11选择启动项等主板管理界面。在这种情况下,您需要先将独立显卡取下来,然后再进入BIOS进行设置。 其次,为了避免不必要的错误,请从戴尔官网下载适用于您的操作系统(如CentOS7)的显卡驱动程序。您可以在戴尔官网上找到合适的驱动程序,例如NVIDIA-Linux-x86_64-396.37.zip。另外,还需要安装适用于您的系统的CUDA和Anaconda软件,并确保Python版本符合要求。可以通过命令查看内核版本(ls /boot | grep vmlinu)和源码包版本(rpm -aq | grep kernel-devel)来确认您的系统配置。 最后,在BIOS设置中,您需要禁用Embedded Video Controller和Memory Mapped I/O above 4G这两个选项。这些选项可能会与安装显卡相关。 综上所述,安装显卡到Dell R730xd服务器需要注意以上几点,包括重新进入BIOS设置、下载适用的显卡驱动程序、安装相关软件和确认系统配置,以及在BIOS中禁用特定选项。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [ESXinvidia 显卡直通配置](https://blog.csdn.net/chrisyh/article/details/106070795)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Dell R730服务器 安装Nvidia K80驱动、Cuda、Anaconda](https://blog.csdn.net/m1131980108/article/details/88355205)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值