曾几何时,在centos7机器上插NVIDIA Titan X的卡,按官网教程(https://developer.nvidia.com/cuda-downloads)一键安装cuda-8.0一切顺利
不久前,在另一台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
按照官网教程开始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) |