ubuntu16.04搭建cuda9.0+cudnn7.0.5环境

在安装cuda之前,最重要的就是检查你的显卡是不是支持cuda安装版本。官网给出说明是只要在cuda支持显卡列表里的显卡就可以,但是我的显卡NVS 310虽然在,安装cuda以后会报错,因为显卡不支持。所以我猜测这个显卡或许可以支持低版本的cuda。

官网的安装文档:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/
显卡列表:https://developer.nvidia.com/cuda-gpus

官方文档在安装之前给了很多预防出错的检验步骤,安装文档可以一一检查你的设备是不是满足这些条件。

1.下载cuda9.0

下载地址:https://developer.nvidia.com/cuda-90-download-archive
ubuntu16.04搭建cuda9.0+cudnn7.0.5环境

有两种安装方式,官网推荐deb,我用了runfile。这里下载的时候,会给安装方式,建议拍照,后面会用到这行代码(手敲)。

2.安装cuda9.0

2.1 禁用nouveau驱动

$  sudo gedit /etc/modprobe.d/blacklist-nouveau.conf   

将以下代码写入文件:

blacklist nouveau
options nouveau modeset=0

执行

$ sudo update-initramfs –u

执行下面这行代码,如果没有输出则说明禁用成功了,如果执行完上面操作,仍有输出的话,重启一下就好

$ sudo update-initramfs –u

2.2 开始安装

重新进入tty1模式(Ctrl+Alt+F1)
输入下面代码关闭图形化界面

 $ sudo service lightdm stop

使用cd 命令切换到cuda安装文件目录,然后执行(前面拍照那行代码)

 $ sudo sh cuda_9.0.176_384.81_linux.run

下面操作就是accept,yes之类的,初次安装都选yes就好,有一位博主说双显在选择OpenGl的时候要选No,双显的可以再找找这方面的安装经验,如果有自己的显卡驱动,需要先卸载驱动,然后cuda安装过程中会安装显卡驱动。如果是新换的显卡就不需要卸载了,可直接安装。另外,没装显卡驱动的小伙伴在整个操作过程中,桌面图标都是放大状态,这个不用担心,安好驱动就是正常界面了。

安装成功会显示installed,出错就会显示报错信息

最后重新启动图形化界面,然后重启 reboot

 $ sudo service lightdm start 

2.3 设置环境变量

sudo gedit ~/.bashrc

在文件末尾加上下面代码

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

目录地址可能会有些不同,请核实你自己的目录地址,确保存在,否则不会生效。

运行下面代码,完成环境配置,重启

sudo source ~/.bashrc

2.4 检验安装是否成功

验证驱动版本:

$ cat /proc/driver/nvidia/version

验证cuda toolkit,会输出CUDA的版本信息

 nvcc -V       

编译cuda提供的样例,如果你没有修改样例的存储地址,它会放在
/home/username/NVIDIA_CUDA-9.0_Samples 目录下
在此目录下打开终端,执行

$ make

编译成功后会显示:Finished building CUDA samples

进入NVIDIA_CUDA-9.0_Samples/bin/x86_64/linux/release 运行编译生成的二进制文件,执行

$ ./deviceQuery   

如果输出结果是一些配置信息,并且最后Result = PASS,说明安装成功

检查一下系统和CUDA-Capable device的连接情况

 $ ./bandwidthTest

输出结果为result=PASS,则连接成功!恭喜,至此cuda安装结束!

3.安装cudnn7.0.5

cudnn相较而言就会轻松一点了,下载地址:https://developer.nvidia.com/cudnn
需要注册英伟达账号才能下载,注意下载版本和你的cuda版本要兼容

ubuntu16.04搭建cuda9.0+cudnn7.0.5环境

后面三个文件是为了检验cudnn安装是否成功的

执行下面代码,解压压缩包

tar -xzvf cudnn-filename.tgz

进入压缩文件,将文件复制安装cuda路径下,下面是默认安装的地址,如果更改了安装地址就写你更改以后的地址

sudo cp lib* /usr/local/cuda/lib64/
sudo cp cudnn.h /usr/local/cuda/include/

检查cudnn是否安装成功,按照顺序运行,注意看好文件名:

sudo dpkg -i libcudnn7_7.0.5.15-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.0.5.15-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.5.15-1+cuda9.0_amd64.deb

移动文件到usr

sudo cp /usr/local/cuda-9.0/lib64/libcudart.so.9.0 /usr/local/lib/libcudart.so.9.0 && sudo ldconfig 
sudo cp /usr/local/cuda-9.0/lib64/libcublas.so.9.0 /usr/local/lib/libcublas.so.9.0 && sudo ldconfig
sudo cp /usr/local/cuda-9.0/lib64/libcurand.so.9.0 /usr/local/lib/libcurand.so.9.0 && sudo ldconfig

将样例复制一份进行编译

 sudo cp -r /usr/src/cudnn_samples_v7/ /HOME/cudnn_samples_v7

进入复制得到的样例中,执行:

sudo make clean
sudo make
./mnistCUDNN

出现Test passed!说明安装成功!

4.安装tensorflow

一般linux都有自带的python,检查你的ubuntu是否已经安装python,有几个版本,如果没有安装需要自行安装,注意现在tensorflow不支持python3.7,安装3.6和3.6以下的版本。

执行:pip3是因为我的ubuntu自带python2和python3,所以要指定pip3

sudo pip3 install tensorflow-gpu

期间可能会提示pip版本太低,更新以后继续安装即可。