为了跑SSD代码,开始搭建环境。一开始选择的是ubuntu 16.10 但是好像运行起来问题很多,比如输入法一直有问题,还是选择16.04比较稳定好用。我的显卡是GT650m,也还是可以使用cuda的。这一阶段的目的是把显卡这些东西弄好,那么开始。
一、先要去英伟达官网下载两样东西:cuda 8.0 和 cudnn 5.1 ,其中cuda8.0选择runfile版本的,这样可以做一些选择。
cuda 8.0:
至于cuDNN在英伟达官网注册一下就能下载不再赘述。
在这一步不需要从英伟达官网下载驱动,因为下下来的驱动在安装过程中会出现诸多问题,后述。
二、安装显卡驱动
首先禁用可能导致问题的开源驱动nouveau
输入sudo gedit /etc/modprobe.d/blacklist.conf
在文档末尾添加以下内容
blacklist amd76x_edac
blacklist vga16fb
blacklist nouveau
blacklist nvidiafb
blacklist rivatv
options nouveau modeset=0(这句话要添加进去,否则不会禁用)
然后sudo reboot重启
如果之前有装过NVIDIA的驱动,则需要卸载干净所有安装过的NVIDIA驱动:
sudo apt-get purge nvidia*
(sudo apt-get remove –purge nvidia-* 这句话在网上看到好多人都在用,但是我会出现问题执行不了,不知道为啥)
之前一次我是从官网上下载驱动进行安装的,如果是这样安装的驱动则需要使用:
sudo sh NVIDIA-Linux-*(文件名).run --uninstall
执行以下命令添加驱动源:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
由于驱动程序安装过程中要关闭图形界面,所以要进入tty1来进行安装
Ctrl+Alt+F1切换到tty1执行:
关闭lightdm
sudo service lightdm stop
进行下载安装显卡驱动、settings和prime:
sudo apt-get install nvidia-375 nvidia-settings nvidia-prime
在这里要解释一下为什么不从官网下载驱动。一开始我这样从官网下载驱动进行安装,重启之后出现了循环登录的问题。后来屏蔽了openGL组件的安装,可以解决循环登录的问题,但是又出现了CUDA无法安装的问题。后来请教了别人,应该是双显卡的问题,要用prime来切换显卡,这就很麻烦了。
后来看到了这条代码,发现可以完美解决循环登录的问题,于是记录在这里。经过思考,我觉得其实用官网下载的驱动安装结束后,运行sudo apt-get nvidia-settings nvidia-prime 也可以解决问题。
继续运行:
sudo nvidia-xconfig
sudo apt-get install mesa-common-dev //安装缺少的库
sudo apt-get install freeglut3-dev
sudo update-initramfs -u
sudo reboot
重启应该就不会遇到循环登录的问题。
重启后如果还是tty1模式,则输入
sudo service lightdm start 开启图形界面
进入图形界面后我出现了分辨率不正常的情况
在终端输入:sudo gedit /etc/X11/xorg.conf
进行如下修改
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 31.5 - 61.0 %这个地方修改
VertRefresh 50.0 - 75.0 %这个地方修改
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1366×768" % 原先没有这一句添加进去的,依着自己显示器的分辨率进行修改
EndSubSection
EndSection
xrandr 可看分辨率
lspci | grep VGA 看显卡是否关闭
如此,分辨率问题解决,驱动程序安装完毕,测试一下:nvidia-smi 出现显卡信息则是成功安装。
二、安装CUDA8.0
之前下载的是runfile文件,所以先切换到文件所在目录,运行如下代码:
sudo chmod +x cuda_8.0.61_375.26_linux.run
sudo ./cuda_8.0.61_375.26_linux.run
按q退出条款浏览(反正也没人爱看),输入accept接受条款;
输入n不安装驱动,前面已经安装好驱动;
输入y安装cuda 8.0 toolkit;
回车确认cuda默认安装路径(/usr/local/cuda-8.0);
输入y安装CUDA 8.0 Samples;
输入CUDA 8.0 Samples安装路径:/home/用户名/CUDA/samples(选择你喜欢的目录进行安装)。
如此,CUDA8.0也已安装完成。
cd cuda/
sudo cp include/cudnn.h /usr/local/include/
sudo cp lib64/libcudnn.* /usr/local/lib
下面是设置软连接:
sudo ln -sf /usr/local/lib/libcudnn.so.5.1.10 /usr/local/lib/libcudnn.so.5
sudo ln -sf /usr/local/lib/libcudnn.so.5 /usr/local/lib/libcudnn.so
sudo ldconfig -v
设置环境变量:
在/etc/profile中添加CUDA环境变量:
sudo gedit /etc/profile
export CUDA_HOME=/usr/local/cuda-8.0
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-8.0/bin:$PATH
保存退出,输入代码让其立即生效:
source /etc/profile
(另一版本:
sudo gedit ~/.bashrc
在文档末尾加上:
export CUDA_HOME=/usr/local/cuda-8.0
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-8.0/bin:$PATH
保存退出,输入代码让其立即生效:
source ~/.bashrc)(两个版本的环境变量更新,我也不知道哪种是正确的,我都添加了= =)
接下来需要添加lib库路径,创建文件:
sudo gedit /etc/ld.so.conf.d/cuda.conf
写入:/usr/local/cuda/lib64
保存之后使其立即生效:
sudo ldconfig -v
至此,CUDA已经配置好了,接下来测试一下sample
四、测试
进入到sample的文件夹
cd CUDA/sample/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery
sudo make
sudo ./deviceQuery
出现显卡信息则安装成功。
接下来,查看一下自己的显卡情况:
lspci | grep -i vga
lspci | grep -i nvidia
nvcc -V
参考:http://blog.youkuaiyun.com/u013294888/article/details/56666023
http://blog.youkuaiyun.com/jhszh418762259/article/details/52958287?locationNum=8&fps=1
https://www.douban.com/note/262885853/