本次叙述如安在R730的ESXi上,将Tesla P40直通到centos7.7和WinServer2016。运用直通形式,装置一般的驱动即可,不需求vGPU的驱动。

按计划原本后边要自己装一下体系、做RAID的,不过最近需求用到显卡,所以先把显卡装置上吧。

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

R730直通Tesla P40显卡

R730直通Tesla P40显卡

一、原因

为啥挑选P40,首要仍是成本问题,我也想买更好的,但是更好的贵啊。以其时的眼光来看,功用挺一般,但是1000块钱的东西,还要啥自行车。而且想想其时原价买的时分要3W多,是不是就感觉还不错了?

R730直通Tesla P40显卡

二、版别阐明

装置显卡坑特别多,有很多匹配、兼容方面的内容,咱们能够按照我给的物料,按照我给的操作流程来操作。

咱们先按照tensorflow的版别承认CUDA版别,依据CUDA版别承认centos版别,明确自己要装什么!

不同的CUDA版别,要求的内核版别、gcc版别不一样,咱们一定要承认一下。我这儿简单整理了一下

CUDA版别 Linux内核版别 GCC Centos版别
11.2 3.10 4.8.5 CentOS 7.y (y <= 9)
11.4 3.10.0-1136 6
11.6 3.10.0-1160 6.x
12.1 3.10.0-1160 6.x

centos对应的内核版别

Centos版别 版别 内核版别
7.4 1708 3.10.0-693.el7.x86_64
7.6 1810
7.7 1908 3.10.0-1062.18.1.el7.x86_64
7.8 2003
7.9 2009 3.10.0-1160

ESXi:6.7

Centos7.7:linuxsoft.cern.ch/centos-vaul…

显卡:Tesla P40

Nvidia驱动:us.download.nvidia.cn/tesla/460.1…

R730直通Tesla P40显卡

CUDA:developer.download.nvidia.com/compute/cud…

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

tensorflow-gpu:2.5.0

2.1centos

linuxsoft.cern.ch/centos-vaul…

2.2centos内核

buildlogs.centos.org/

2.3ESXi与GPU直通的兼容性

检查ESXi是否支持GPU直通

www.vmware.com/resources/c…

R730直通Tesla P40显卡

2.4Nvidia驱动

  • www.nvidia.com/Download/in…

  • www.nvidia.com/Download/Fi…

2.5CUDA

  • developer.nvidia.com/cuda-toolki…

2.6cudnn

developer.nvidia.com/rdp/cudnn-a…

2.7tensorflow

www.tensorflow.org/install/sou…

R730直通Tesla P40显卡

三、装置显卡

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

R730直通Tesla P40显卡

R730直通Tesla P40显卡

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

R730直通Tesla P40显卡

装置后假如服务器无法发动,或许得原因

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

四、直通Centos7.7

4.1装置centos

咱们先下载ISO文件(linuxsoft.cern.ch/centos-vaul…

R730直通Tesla P40显卡

然后创建虚拟机即可

R730直通Tesla P40显卡

R730直通Tesla P40显卡

这儿一定要设置为EFI,不然即便装置好nvidia驱动,nvidia-smi会报no devices were found

R730直通Tesla P40显卡

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-(uname−r)kernel−headers−(uname -r) kernel-headers-(uname -r)

  1. 假如yum找不到对应的kernel,则从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装备显卡

把显卡设置为直通

R730直通Tesla P40显卡

重启后

R730直通Tesla P40显卡

这儿要预留一切内存。我设置的内存是32G,点击预留一切内存后,内存装备里的预留一切客户机内存会被勾选。

R730直通Tesla P40显卡

R730直通Tesla P40显卡

一定要装备上下面这三个参数

pciPassthru.use64bitMMIO=TRUE
pciPassthru.64bitMMIOSizeGB=64
hypervisor.cpuid.v0= FALSE

R730直通Tesla P40显卡

R730直通Tesla P40显卡

4.4装置Nvidia驱动

# 检查是否能发现显卡
yum install pciutils
lspci | grep -i nvidia

R730直通Tesla P40显卡

从www.nvidia.com/Download/in… 挑选合适的版别

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检查

R730直通Tesla P40显卡

这儿有几点要阐明:

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

R730直通Tesla P40显卡

  1. 假如运用驱动不对,报Unable to load the ‘nvidia-drm’ kernel module,此刻需求换其他驱动试试

R730直通Tesla P40显卡

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

R730直通Tesla P40显卡

R730直通Tesla P40显卡

R730直通Tesla P40显卡

  1. 假如报warning,能够持续,不影响装置

R730直通Tesla P40显卡

  1. 此处选Yes

R730直通Tesla P40显卡
6. dmesg | grep NVRM 检查驱动无法发动原因

R730直通Tesla P40显卡

只能说装置驱动的时分太痛苦了。

4.5装置cuda

developer.nvidia.com/cuda-11.2.0…

R730直通Tesla P40显卡

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/

R730直通Tesla P40显卡

R730直通Tesla P40显卡

R730直通Tesla P40显卡

R730直通Tesla P40显卡

进行一下装备

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

R730直通Tesla P40显卡

4.6装置cudnn

首先需求注册一个账号,从developer.nvidia.com/rdp/cudnn-a…

R730直通Tesla P40显卡

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)) 

R730直通Tesla P40显卡

五、直通WinServer2016

在WInServer装置驱动是最容易的

R730直通Tesla P40显卡

R730直通Tesla P40显卡

R730直通Tesla P40显卡

R730直通Tesla P40显卡

R730直通Tesla P40显卡

R730直通Tesla P40显卡

R730直通Tesla P40显卡

六、材料

  1. www.zhihu.com/question/51…
  2. GPU选型
  3. NVIDIA Tesla GPU系列P40参数功用——不支持半精度(FP16)模型训练
  4. R730 支持英伟达p40卡吗
  5. dl.dell.com/Manuals/all…
  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 mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc…
  21. CentOS7装置gcc6.3
  22. Centos6装置devtoolset(高版别gcc)
  23. centos7晋级gcc版别,无需手动下载源码编译
  24. CentOS7/6运用rpm离线装置gcc7/6
  25. centos7.4下载地址,与装置具体教程
  26. linuxsoft.cern.ch/centos-vaul… iso下载快
  27. centos体系内核装置包各系列版别下载办法
  28. vault.centos.org/7.7.1908/os… – 内核模块
  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. wiki.centos.org/Download
  43. ui.licensing.nvidia.com/software vgpu

最终

咱们假如喜欢我的文章,能够关注我的大众号(程序员麻辣烫)

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

往期文章回顾:

  1. 设计形式
  2. 招聘
  3. 思考
  4. 存储
  5. 算法系列
  6. 读书笔记
  7. 小工具
  8. 架构
  9. 网络
  10. Go言语