【摘要】此文列出两种机器学习搭建的场景,一种为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问题,如下图,可能是显卡电源线问题,需要核实;(显卡电源线没插好,实际服务器是能够查看到显卡的,但是驱动安装后会提示错误)
如果驱动安装成功,执行nvidia-smi命令会出现以下信息,则表示安装成功
6、安装cuda 8.0自带有NVIDIA的375显卡,下载选择runfile的版本,在安装时因为前面已经安装NVIDIA的驱动,
注:此处选择是就不要在安装显卡驱动,否则可能存在安装两个版本驱动,出现FAQ中的问题(其实也可以直接在前面的步骤中将NVIDIA驱动安装省去,直接安装cuda,先安装NVIDIA的驱动主要是确认显卡正常)
官网下载https://developer.nvidia.com/cuda-downloads
此处下载runfile的版本
7、其他,安装cuDNN,配置环境变量等
机器学习环境搭建 可参阅以下文章
http://blog.csdn.net/lixiaoguang20/article/details/53669253
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的,此处需要预留内存,默认所有,不然虚拟机启动不了
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”
6、其他,同上