centos NVIDIA-SMI has failed
centos NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running
验证步骤:
\1. 首先验证你是否有nvidia的显卡(http://developer.nvidia.com/cuda-gpus这个网站查看你是否有支持gpu的显卡):
$ lspci | grep -i nvidia
\2. 查看你的linux发行版本(主要是看是64位还是32位的):
$ uname -m && cat /etc/*release
\3. 看一下gcc的版本:
$ gcc –version
\4. 查看NVIDIA显卡的驱动版本
$cat /proc/driver/nvidia/version
\5. 查看nvcc编译器的版本
nvcc -V
\6. /dev/nvidia*这里的文件代表了本机的NVIDIA显卡,如:
foo@bar-serv2:/dev$ ls -l nvidia*
crw-rw-rw- 1 root root 195, 0 Oct 24 18:51 nvidia0
crw-rw-rw- 1 root root 195, 1 Oct 24 18:51 nvidia1
crw-rw-rw- 1 root root 195, 255 Oct 24 18:50 nvidiactl
表示本机有两块NVIDIA显卡
\7. 查看显卡名称以及驱动版本
nvidia-smi
nvidia-smi -a
我们这里是nvcc、cuda、cudnn都可以,只是驱动问题,因此按照下方步骤重装驱动即可
显卡驱动安装
显卡冲突
因为NVIDIA驱动会和系统自带nouveau驱动冲突,执行命令查看该驱动状态:
$ lsmod | grep nouveau
修改/etc/modprobe.d/blacklist.conf 文件,以阻止 nouveau 模块的加载,如果系统没有该文件需要新建一个,这里使用root权限,普通用户无法再在/etc内生成.conf文件。
$ su root
# echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist.conf
3、 重新建立initramfs image文件
# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
# dracut /boot/initramfs-$(uname -r).img $(uname -r)
4、进入NVIDIA目录执行安装(建议推迟到cuda安装后再装驱动)
$ chmod +x NVIDIA-Linux-x86_64-384.59.run
$ sh NVIDIA-Linux-x86_64-384.59.run
安装过程中选项可以参考Install NVIDIA CUDA in Ubuntu
如果安装完成,可以运行命令查看显卡状态
$ nvidia-smi