安装显卡驱动
狠了狠心,晚上回家搞搞东西,配了台机器,记录下安装的过程吧。
Ubuntu16.04+cuda8.0
经历过装好驱动和ubuntu桌面冲突,无限循环登录界面的bug,以下是亲测好用的教程
环境
系统:Ubuntu16.04 64bit
显卡:Nvidia GFoce GTX 1080 ti
驱动:NVIDIA-Linux-x86_64-384.59.run
软件版本:cuda8.0
问题声明
在ubutnu上配置cuda时需要安装nvidia的驱动,所以在安装了驱动后出现了进入Ubuntu循环登录的问题。
问题解释(大概)
以下属于我的猜测
一般而言我们安装的ubuntu 的显示器并没有接到nvidia的显卡上,而是使用了intel的集显。我们安装驱动其实只是想将我们运算的显卡的驱动更新,结果都给搞了,所以产生了冲突。当然,也可能时opengl产生的冲突。
Nvidia驱动正确安装过程
找到适合的正确的驱动
去nvidia驱动官网下载
卸载掉原有驱动
sudo apt-get remove –purge nvidia*
安装驱动
进入命令行界面
Ctrl-Alt+F1
给驱动run文件赋予执 sudo chmod a+x NVIDIA-Linux-x86_64-375.20.run
注意下面参数
sudo ./NVIDIA-Linux-x86_64-375.20.run –no-x-check –no-nouveau-check –no-opengl-files
–no-x-check安装驱动时关闭X服务
–no-nouveau-check 安装驱动时禁用nouveau
–no-opengl-files 只安装驱动文件,不安装OpenGL文件
重启,并不会出现循环登录的问题
禁忌
安装CUDA时一定使用runfile文件,这样可以进行选择。不再选择安装驱动,以及在弹出xorg.conf时选择NO
不要使用ubuntu设置中附加驱动中驱动
提醒
cuda安装时会将源文件装在/usr/local/cuda-8.0下,然后会创建一个/usr/local/cuda的链接,所以在安装tensorflow设置cuda和cudnn路径以及拷贝cudnn文件到cuda文件夹下时,注意使用真实的路径
在安装了cuda之后再安装nvidia驱动,可能这和网上“流传”的教程有些出入,但是长得帅的人都这样做了,换句话说,这样做的话会避免出现一些奇怪的问题。比如:tf安装好了出现的缺少libcuda.so.1
再结合各个框架官网的安装教程,相信大家会拥有一个好的开发环境了。那么让我们开始好好调教系统吧。
以上。
http://m.blog.csdn.net/u010159842/article/details/54344683
安装cuda
注意这里下载的是cuda8.0的runfile(local)文件。
这里是nvidia给出的官方安装指南(遇到问题时可以查阅)
下载完cuda8.0后,执行如下语句,运行runfile文件: sudo sh cuda_8.0.27_linux.run
因为驱动之前已经安装,这里就不要选择安装驱动。其余的都直接默认或者选择是即可。
使用:
sudo gedit /etc/profile
打开“profile”文件,在末尾处添加(注意不要有空格,不然会报错):
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH
重启电脑:
sudo reboot
3、测试cuda的Samples
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果显示的是一些关于GPU的信息,则说明安装成功了。
http://blog.csdn.net/u010837794/article/details/63251725
驱动失效后需要重装,按Ctrl+F1 可能会出现nouveau出现一堆巴拉巴拉报错。。。
解决方案:
在待安装驱动的主机上打开一个终端(Ctrl+Alt+T),或者直接切换到终端界面(Ctrl+Alt+F1),进行如下操作
卸载可能存在的旧版本 nvidia 驱动(对没有安装过 nvidia 驱动的主机,这步可以省略,但推荐执行,无害)
$sudo apt-get remove --purge nvidia*
安装驱动可能需要的依赖(可选)
$sudo apt-get update
$sudo apt-get install dkms build-essential linux-headers-generic
把 nouveau 驱动加入黑名单
$sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
在文件 blacklist-nouveau.conf
中加入如下内容:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
禁用 nouveau 内核模块
$echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
$sudo update-initramfs -u
重启
cuda 版本
cat /usr/local/cuda/version.txt
cudnn 版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
如何安装cudnn
首先说一下网上大多数中文安装cuDNN教程的错误方式,这种方式真的坑人无数。
简单地说网上的大多错误的安装cuDNN的方式都是将下载后的cuDNN压缩包解压。然后再将cudnn的头文件(cuda/include目录下的.h文件)复制到cuda安装路径的include路径下,将cudnn的库文件(cuda/lib64目录下的所有文件)复制到cuda安装路径的lib64路径下。这种方法如果不重置cuDNN相应的符号链接的话是不能成功的安装cuDNN的。
下面我们说一下正确的安装cuDNN方式,其实跟着官方安装说明进行安装就可以了。
从https://developer.nvidia.com/cudnn上下载cudnn相应版本的压缩包(可能需要注册或登录)。
如果这个压缩包不是.tgz格式的,把这个压缩包重命名为.tgz格式。解压当前的.tgz格式的软件包到系统中的任意路径(这个路径很重要,以下将该路径的绝对路径简称为/your/path/to/cudnn),解压后的文件夹名为cuda,文件夹中包含两个文件夹:一个为include,另一个为lib64。
例如:我将这个压缩包解压在了/usr/local目录下,那么该文件的绝对路径为/usr/local/cuda
将解压后的文件中的lib64文件夹关联到环境变量中。这一步很
cd ~
sudo gedit .bashrc
弹出的gedit文档编辑器(.bashrc中)中最后一行 export LD_LIBRARY_PATH=/your/path/to/cudnn/lib64:$LD_LIBRARY_PATH/your/path/to/cudnn/lib64是指.tgz解压后的文件所在路径中的lib64文件夹。
保存更改的文件后,紧 source .bashrc启一下Terminal(终端),该步骤可以成功的配置cuDNN的Lib文件。
配置cuDNN的最后一步就是将解压后的cuDNN文件夹(一般该文件名为cuda)中的include文件夹(/your/path/to/cudnn/include)中的cudnn.h文件拷贝到/usr/local/cuda/include中,由于进入了系统路径,因此执行该操作时需要获取管理员权限。
打开终端,进入/your/path/to/cudnn/include。其中/your/path/to/cudnn/include指的是.tgz解压后的文件所在路径中的include文件夹。例如:
cd cuda/include
sudo cp *.h /usr/local/cuda/include/
这里写代码片
其中这里的cuda/include对于我自己的安装来说就是/your/path/to/cudnn/include。因为我将cudnn的.tgz压缩包解压到了home的当前用户的路径下,解压后的文件夹名为cuda。
之后,再重置cudnn.h文件的读写权限:
sudo chmod a+r /usr/local/cuda/include/cudnn.h
至此,cuDNN的配置就全部安装完成了。