基于Ubuntu的配置环境:
(1)Ubuntu版本:18.04
(2)显卡型号:Tesla K40c
一. 查询显卡驱动及CUDDN / CUDA 的版本匹配类型
1. 查询显卡型号
安装驱动之前首先得把显卡型号弄清楚咯,在ubuntu命令窗口键入:
$ lspci | grep -i nvidia # 查询显卡型号
2. 百度显卡型号对应的驱动以及cuda版本
可以参考链接:https://developer.nvidia.com/cuda-gpus,https://blog.csdn.net/omodao1/article/details/83241074
选择自己的显卡类型是否和cuda相匹配
这里需要注意一下:一定要提前查询驱动的版本和cuda安装版本的匹配问题,不然cuda安装到最后就会出现** 驱动版本不匹配,failed ** ( CUDA driver version is insufficient for CUDA runtime version )的问题,血泪教训,,,,,只好卸载又重装。
放一个版本匹配的链接:https://www.cnblogs.com/wolflzc/p/9117291.html
上NVIDIA官网上下载对应的驱动类型,本次下载的版本是NVIDIA-Linux-x86_64-390.46.run;
Cuda官网下载9.0版本的安装文件;
Cuddn官网下载7.0版本的安装文件。
到此,前期准备工作算是完成了~~下面可以愉快的开始配置了!
二. 安装过程
- 显卡驱动的安装
(转自博客:https://www.cnblogs.com/deeplearning1314/p/8444352.html)
安装显卡驱动步骤如下:
(1) 卸载原有驱动
$ sudo apt-get remove –purge nvidia-*
其中(-purge)似乎不需要,会提示命令有误。如果之前没有装过NVIDIA驱动,这步可以不需要,当然,前面提到过,如果先安装Cuda并且在安装Cuda过程中选择安装了不匹配的显卡驱动,这里就需要执行这个命令删掉之前的NVIDIA驱动了。
(2) 禁用Ubuntu系统自带的通用显卡驱动nouveau
$ sudo gedit /etc/modprobe.d/blacklist.conf
输入密码后,该命令会用gedit工具打开一个配置文本文件,类似于window里的txt文件,在该文件的最后添加一行:blacklist nouveau后保存退出。然后终端敲入命令 sudo update-initramfs -u
(3) 重启电脑,打开终端敲入命令
$ lsmod | grep nouveau
若无输出表示该驱动禁用成功。
(4) 开机后,Ctrl+alt+F1进入tty1,然后按键F2-F6任意一键,进入全黑屏编辑界面,按提示输入用户名(login)、密码(password)后,敲入命令
$ sudo service lightdm stop
显示lightdm stop/waiting字样代表禁用X服务器成功。
(5) 安装NVIDIA显卡驱动,若是deb包敲入命令 dpkg -i “.deb文件名”;若是run文件敲入命令sudo sh “.run文件名”。按照提示选择进行安装,如accept、yes、ok等,等待片刻即可安装成功。
(6) 敲入命令
$ sudo service lightdm start #打开X服务器后
$ sudo reboot #重启电脑
(7) 进入终端用以下三个命令均可验证显卡驱动是否安装成功,最后一个命令需要根据提示安装glxinfo程序:sudo nvidia-smi(显示GPU设备表)、cat /proc/driver/nvidia/version(显示出用于显示的GPU驱动程序版本号、也就是那块接了显示线的独显的驱动程序版本号)、glxinfo | grep rendering(显示yes)
- CUDA9.0安装
部分转自博客:https://blog.csdn.net/carina_cao/article/details/78875981
(1) 安装cuda,在终端窗口中输入
$ sudo sh cuda_9.0.176_384.81_linux.run # 替换成自己下载的版本名称
按着enter键跑到100%,安装驱动(NVIDIA Accelerated Graphics Driver)选no,前面已经安装过驱动了(不确定这里安装的驱动跟cuda和显卡是否匹配,谨慎起见),其它都选yes,或默认
出现下图即表示安装完成:
(2)添加环境变量:
$ sudo gedit ~/.bashrc
将下面三行代码写入~/.bashrc文件保存后退出
export
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
export PATH=/usr/local/cuda-9.0/bin:$PATH # 检查一下自己的文件路径,安装版本不同路径会有所不同
然后
$ source ~/.bashrc # 立即生效
(3)测试cuda版本
$ nvcc --version # 查看Cuda版本
(4)编译 Sample
$ cd ~/NVIDIA_CUDA-9.0_Samples # 注意版本问题
$ make #编译,需要一会儿
运行完后,编译结果会放在NVIDIA_CUDA-9.0_Samples目录下的bin目录
若没有NVIDIA_CUDA-9.0_Samples这个文件夹,可以到/usr/local/cuda-9.0/bin路径下执行以下代码,即可在home下生成。
$ cd /usr/local/cuda-8.0/bin //这个路径下可以看到下面的.sh文件
$ sudo ./cuda-install-samples-8.0.sh ~
(5) Running the Binaries
$ cd ~/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release
$ ./deviceQuery
这里如果结果成功会显示是 Result = PASS,若失败 Result = FAIL。
(6)安装错误及解决
Ubuntu18.04安装CUDA9.0时,Error: unsupported compiler: 7.3.0的解决方案
在Ubuntu18.04中安装CUDA 9.0时,会遇到Error: unsupported compiler: 7.3.0的错误。其原因是Ubuntu18.04的编译器版本过高,因此只需要安装较低版本的gcc、g++即可。
具体解决方法是:
$ sudo apt install gcc-6 g++-6
$ sudo ln -s /usr/bin/gcc-6 /usr/local/bin/gcc
$ sudo ln -s /usr/bin/g++-6 /usr/local/bin/g++
安装成功显示如下所示:
按步骤(5)中测试,如下图所示则是安装成功!
可喜可贺!终于成功安装cuda9.0~~
- CUDDN7.0安装
(1)将官网下载好的安装包解压
$ tar -zxvf cudnn-9.0-linux-x64-v7.0.tgz # 根据下载的包更改名称
然后,进入cuda文件夹下,依次键入:
$ cd cuda
$ sudo cp lib64/lib* /usr/local/cuda/lib64/
$ sudo cp include/cudnn.h /usr/local/cuda/include/
(2)更新网络连接
$ cd /usr/local/cuda/lib64/
$ sudo chmod +r libcudnn.so.7.3.1 # 自己查看.so的版本
$ sudo ln -sf libcudnn.so.7.3.1. libcudnn.so.7
(3)测试
$ nvcc -V
- Tensorflow-gpu1.9安装
如果没有遇到各种奇葩问题的话,安装起来还是很顺利的,直接在命令窗口键入
$ Conda install tensorflow-gpu==1.9
或者
$ pip install tensorflow-gpu==1.9
等待安装完成…
但是!!!(划重点)
如果真的折腾了很多问题,百度方案都解决不了,一定不要硬磕,找前辈~ 找淘宝~ 帮助解决都可,时间太宝贵 (:顺便插一句,淘宝真万能
换上了显卡终于可以跑程序了,愿大家安装之路顺利啊~
(之前写的记录由于关网页没保存丢失了好多链接,不过基本上都可以上官网找到滴)