> CentOS > CentOS故障 >

centos7上cuda-8.0驱动安装失败的解决方案

曾几何时,在centos7机器上插NVIDIA Titan X的卡,按官网教程(https://developer.nvidia.com/cuda-downloads)一键安装cuda-8.0一切顺利

 

Installation Instructions:
  1. `sudo rpm -i cuda-repo-rhel7-8-0-local-8.0.44-1.x86_64.rpm`
  2. `sudo yum clean all`
  3. `sudo yum install cuda`

 

不久前,在另一台centos7按上述步骤安装cuda,愕然发现机器没插GPU,怠。

今天,该机器插了4块Titan X,重装cuda,未果。循环卸了重装,未果。

# yum install cuda  不报错,cuda-install-samples.sh什么的都没问题,真正调gpu的时候就挂

$ /usr/local/cuda/extras/demo_suite/deviceQuery

modprobe: FATAL: Module nvidia-uvm not found.

$ ls /proc/driver|grep nvdia

$ modinfo nvdia

modinfo: ERROR: Module nvidia not found.

要知道,正常情况下, modinfo nvdia的输出应该类似这样

filename:       /lib/modules/3.10.0-327.36.2.el7.x86_64/extra/nvidia.ko
alias:          char-major-195-*
version:        367.48
supported:      external
license:        NVIDIA

 

按照官网教程开始debug...

1.1 查看显卡状态

$ lspci | grep -i nvidia  可见4块显卡,正常

1.2 检测安装包无误

$ md5sum cuda-repo-rhel7-8-0-local-8.0.44-1.x86_64-rpm

24fea3b7f2e5f7e3f155cd73bc008108  cuda-repo-rhel7-8-0-local-8.0.44-1.x86_64-rpm

与官网的checksum(http://developer.download.nvidia.com/compute/cuda/8.0/Prod/docs/sidebar/md5sum.txt)对比,无误。

1.3 检查系统依赖

$ yum info dkms

$ yum info libvdpau 

$ yum info kernel-devel

1.4 为内核安装nvdia模块

dkms的模块需要经过added, build, install 3个步骤才能被modinfo检测到

$ dkms status

nvidia, 367.48: added

显然,nvidia模块在安装的时候只是被added,还没有生成installed模块,原因不详。

# dkms build -m nvdia -v 367.48

会报kernel headers not found的错误,大概就是找不到/lib/modules/3.10.0-327.el7.x86_64/build/include

如果我们

$ cd /var/lib/dkms/nvidia/367.48/source/ 

$ make

会报/lib/modules/3.10.0-327.el7.x86_64/build: 没有那个文件或目录的错误

解决的话加个链接就好了,如果 /lib/modules/3.10.0-327.el7.x86_64/build是个存在的文件就删掉

$ ln -s /usr/src/kernels/3.10.0-327.36.3.el7.x86_64/ /lib/modules/3.10.0-327.el7.x86_64/build

# dkms build -m nvdia -v 367.48

# dkms install -m nvdia -v 367.48

可能需要重启

$ modinfo nvdia

$ modinfo nvdia-uvm

问题解决~

 

吐槽一下官网的CUDA QUICK START GUIDE和NVIDIA CUDA GETTING STARTED GUIDEFOR LINUX

过气太久,误导价值大于参考价值(好吧。。还是有参考价值的)

cuda-8.0没有/usr/bin/nvidia-uninstall

 /dev下没有叫nvdia的很正常

 

参考链接

http://www.cnblogs.com/wwang/archive/2011/06/21/2085571.html

http://blog.csdn.net/qq_21111579/article/details/49337191



(责任编辑:IT)