【摘要】此文列出两种机器学习搭建的场景,一种为Dell R730服务器+Ubuntu16.06+GTX1070;另一种是Dell R730服务器+EXSI6.0+Ubuntu16.06+GTX1070.
注:本文主要介绍显卡驱动安装前期的操作

一、Ubuntu 16.04 + GTX1070 机器学习 DELL R730
DELL R730上搭载GTX1070,安装ubuntu16.04来搭建机器学习环境
1、将GTX1070安装到DELL服务器上,需要注意,使用显卡连接线,且插好,显卡连接线为两端均为8PIN,显卡连接线很重要
另DELL服务器默认电源425w,功率有些低,1070建议电源功率700w,实际500w左右可带动,如果可以,Dell服务器可选用1100w的电源

2、安装ubuntu16.04系统

3、验证识别到了独显
识别到与否可以通过Linux中查看显卡的命令lspci来查看
如下表示识别到
lspci |grep -i vga
04:00.0 VGA compatible controller: NVIDIA Corporation Device 1b81 (rev a1)

4、安装nvidia显卡 375或者最新的
此处可以直接到官网上下载相应的版本,直接安装或者apt-get直接自动安装,此处介绍apt-get方法
add-apt-repository ppa:graphics-drivers/ppa
(如果不能执行 提示 Error add-apt-repository: command not found 执行
apt-get install software-properties-common
问题解决 参考 https://askubuntu.com/questions/593433/error-sudo-add-apt-repository-command-not-found/593437
apt-get update
apt-get install nvidia-375

5、nvidia-smi 来验证,

如果能显示则正常,驱动安装成功;如果显示power问题,如下图,可能是显卡电源线问题,需要核实;(显卡电源线没插好,实际服务器是能够查看到显卡的,但是驱动安装后会提示错误)

戴尔r730安装esxi 戴尔r730安装显卡_ubuntu


如果驱动安装成功,执行nvidia-smi命令会出现以下信息,则表示安装成功

戴尔r730安装esxi 戴尔r730安装显卡_服务器_02

6、安装cuda 8.0自带有NVIDIA的375显卡,下载选择runfile的版本,在安装时因为前面已经安装NVIDIA的驱动,

注:此处选择是就不要在安装显卡驱动,否则可能存在安装两个版本驱动,出现FAQ中的问题(其实也可以直接在前面的步骤中将NVIDIA驱动安装省去,直接安装cuda,先安装NVIDIA的驱动主要是确认显卡正常)

官网下载https://developer.nvidia.com/cuda-downloads

此处下载runfile的版本

戴尔r730安装esxi 戴尔r730安装显卡_机器学习_03

7、其他,安装cuDNN,配置环境变量等
机器学习环境搭建 可参阅以下文章
http://www.jianshu.com/p/0198ad851b16
https://www.r-bloggers.com/lang/chinese/2699

FAQ:
执行nvidia-smi出现以下错误
NVML: Driver/library version mismatch
可能原因是单独安装了NVIDIA的驱动和安装的cuda自带的NVIDIA驱动版本不一致;存在两个NVIDIA的驱动版本
解决方法:重启服务器
https://stackoverflow.com/questions/43022843/nvidia-nvml-driver-library-version-mismatch

二、DELL R730 +EXSI 6.0+Ubuntu 16.04 + GTX1070 机器学习

DELL R730上搭载GTX1070,安装EXSI6.0 ,上面安装虚拟机ubuntu16.04,一台虚拟机单独使用独显,来搭建机器学习环境(主要是充分利用物理机的资源,搭建深度学习的服务器没有要求很大的资源,所以考虑使用虚拟化技术)

1、DELL服务器安装GTX1070 独显,步骤同上;

2、安装EXSI6.0

3、安装ubuntu

在安装好ESXI之后安装ubuntu之前需要设置独显给虚拟机使用,如下图,编辑设置–新设备(选择PCI设备)–添加–新PCI设备中选择GTX的,此处需要预留内存,默认所有,不然虚拟机启动不了

戴尔r730安装esxi 戴尔r730安装显卡_EXSI_04

4、验证识别到独显,同上

5、安装NVIDIA的驱动以及cuda等,同上
此处可能会在lspci |grep -i vga中显示显卡已经存在,但是在安装驱动之后nvidia-smi出错,nvidia-smi reports Unable to determine the device handle for GPU
可能是vmware直通的问题,修改其虚拟化的参数;
此处需要修改一下exsi中的虚拟机vmx配置,找到对应的虚拟机,如
./vmfs/volumes/5938101b-d479806c-90b4-1866daf3f486/test-67/test-67.vmx
添加hypervisor.cpuid.v0 = FALSE 或者hypervisor.cpuid.v0 = “FALSE”

https://devtalk.nvidia.com/default/topic/982322/linux/nvidia-smi-reports-unable-to-determine-the-device-handle-for-gpu/

6、其他,同上