1. 针对于服务器
硬件基础:联想服务器,显卡:Tesla P4
配置实验室新服务器的时候发现,安装Ubuntu16.04之后:
1)直接安装nvidia驱动,用指令nvidia-smi可以测试成功,看到Tesla P4的信息;
2)用cuda 8.0直接安装,用cuda中默认的驱动,也是安装并测试成功;
但是以上只要一关机重启,在Ubuntu的启动界面,输入密码之后,会一直在登录界面循环,进不去系统。
经过大量的讨论与测试之后发现,应该是单独安装显卡驱动或者安装cuda的时候,显卡驱动与cuda中自带的OpenGL函数库与Ubuntu自带的OpenGL函数库冲突了,才引起了上面的问题。
2. 解决方案
1)安装 .run 版本的显卡驱动,在安装的时候,手动选择不安装驱动里面的 OpenGL 文件;
2)安装完驱动后,再安装 .run 版本的CUDA 8.0,在安装CUDA的时候,不要安装驱动。
3. 实现代码
3.1 安装前的准备工作
1)
去nvidia驱动官网下载符合自己显卡的驱动的 .run 文件;
2)卸载掉原来的nvidia驱动: sudo apt-get autoremove --purge nvidia-*
如果是 run 文件安装的,则这样卸载: sh ./nvidia********.run --uninstall
3)打开配置文件,禁用nouveau:sudo gedit /etc/modprobe.d/blacklist.conf
4)禁用nouveau第三方驱动,在最后一行添加:blacklist nouveau
5)执行:sudo update-initramfs -u
3.2 开始安装驱动:
1)
进入控制台1,在终端输入:Ctrl-Alt+F1
2)然后关闭x window界面:sudo service lightdm stop
3)将目录切换到nvidia驱动所在的目录下,并赋予run文件执行权限:sudo chmod a+x NVIDIA*.run
4)然后安装:sudo ./NVIDIA*.run --no-opengl-files 。即不安装OpenGL文件,注意no前面是两个 - - ,其他都是一个。还有其他几个参数可选:
--no-x-check 安装驱动时不检查X服务;
--no-nouveau-check 安装驱动时不检查nouveau;后面两个参数可不加。
5)然后可用nvidia-smi命令测试是否可以看到显卡信息,若能看到,即为成功;
6)
然后开启x window界面:sudo service lightdm start
7)重启,并不会出现循环登录的问题.
4. 安装cuda 8.0
待续,明天再写