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
有两种安装方式,官网推荐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版本要兼容
后面三个文件是为了检验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版本太低,更新以后继续安装即可。