Ubuntu16.04 安装CUDA8.0及cuDNN

CUDA8.0 安装及配置

因为我的TX2上的CUDA版本为CUDA8,所以并没有安装更高版本的CUDA Toolkit,但是CUDA9、10的安装方式和8的类似,就只记录一下8.0的安装过程了。
过程使用runfile的安装方式安装,并且在安装前不需要提前安装Nvidia 的显卡驱动(因为CUDA8.0及以后的版本都是内含有显卡驱动的,可以一起安装到位),如果已经安装的有Nvidia的驱动的话,最好先卸载掉,防止后面安装出问题。
检查是否已经有Nvidia的驱动可以使用这条命令:

$ nvidia-smi

如果没有输出结果的话,就是还没有安装驱动,如果已经安装的有了,我们可以通过:

$ sudo apt-get remove --purge nvidia*

来删除原有驱动。

前期准备

首先我们要进行一些前期的系统检查及配置工作,这会对我们后面的安装有很大的裨益。

1.检查电脑的GPU是否能够支持CUDA

在终端中输入命令:

 $ lspci | grep -i nvidia

这样会显示出你的GPU型号,类似于下面这种结果:

$ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP106 High Definition Audio Controller (rev a1)

第二条的Audio信息我们不关心,第一条为显卡型号及版本,我们去CUDA的网站去.验证一下是否支持即可。

2.检查Linux版本及kernel版本

注意检查一下需要安装的CUDA版本和你当前的Ubuntu版本是否互相支持,至少Ubuntu16.04_desktop 和CUDA8.0是相互兼容的。

其次很重要的一点就是拟安装的CUDA版本是否支持你当前电脑的kernal版本
我当时安装时没有注意这个对应关系,后期安装时会爆出unable to locate kernel source的错误。
CUDA8.0要求Ubuntu16.04的kernel版本为4.4.0,我当时的版本为4.15.0。这是CUDA8.0文档里对一些版本的要求:

CUDA8.0对版本要求
检查当前kernel版本可以使用这条命令:

$ uname -r

得到的结果应该类似这样(这是我已经更改过kernel版本之后的结果):

$ uname -r
4.4.0-77-generic

如果不是的话4.4.0的话就需要进行kernel版本降级。

kernel版本降级
  1. 首先查看可以安装的kernel版本;
    运行命令:
$ apt-cache search linux|grep linux-image

我们可以看见列出了许多结果。

  1. 我们选择安装 linux-image-4.4.0.77-generic 这个版本(注意check一下上步结果中是否有这个版本,没有的话选择另一种4.4.0的就好了)
    运行命令:
$ sudo apt-get install linux-image-4.4.0-77-generic

之后安装对应版本的kernel headers和package development

$ sudo apt-get install linux-headers-$(uname -r)

确定安装成功即可。

  1. 更新grub引导
$ sudo update-grub
  1. 重启电脑
    更新过grub之后需要重启电脑,并且进入grub引导页面(单系统可能要不停按Esc键);
    然后进入第二个高级选项/Advanced xx;
    选择刚刚安装的kernel版本开机。
  2. 以后每次开机都最好使用新kernel版本进入,如果嫌麻烦的话可以把新kernel设为默认grub选项

3.下载CUDA8.0安装文件

进入CUDA的下载页面,选择CUDA8进行下载。
选项按照下面的选项选择:
CUDA下载页面Base Installer还有Patch都要下载下来,Base Installer的安装下面要记录,Patch在安装完CUDA后,运行里面的runfile就好了,不再单独记录。

下载好之后如果不放心可以校验一下两个文件:

$ md5sum cuda_8.0.61_375.26_linux.run

结果正常即可。

4.禁用nouveau驱动

首先我们查看一下现在是否正在使用nouveau:

$ lsmod | grep nouveau

如果有结果跳出来,就说明我们需要将nouveau禁用。

打开禁用程序的配置文件:

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

在文件的最后面加上两行:

blacklist nouveau
options nouveau modeset=0

完成后我们执行:

$ sudo update-initramfs –u

就能够将nouveau禁用了,此时我们最好重启一下电脑,理论上讲此时显示的分辨率会变小,字体和图标也会变大,这就表示我们已经禁用成功了,我们可以再次运行: $ lsmod | grep nouveau 来确认一下,此时应该没有任何输出。

这样我们安装前的准备工作就全部完成了,下面开始正式安装CUDA8.0。

安装CUDA8.0

  1. 重启电脑,注意在登录界面时不要登录账户进入desktop,我们要直接按Ctrl+Alt+F1进入tty1(命令行模式),在此处登录自己的账户;

  2. 运行命令来关闭图形化界面:

$ sudo service lightdm stop
  1. cd到我们的下载文件夹,运行脚本来安装cuda:
$ sudo sh cuda_8.0.61_375.26_linux.run
安装注意事项
1)首先要阅读安装协议,使用空格键快速翻阅后输入accept即可;
2)询问是否安装Nvidia Driver时,一定要输入yes进行确认,因为我们就是靠这个来安装驱动的;
3)询问是否安装openGL时,一般选择no
		如果是多显卡,最好选择no,否则这一步安装可能会覆盖掉非Nvidia显卡的OpenGL库,导致无限重启,注意Intel的CPU中是带有一块集显的,所以这就算多显卡了,最好选择no;
		如果你是单显卡,那么可以选择yes,比如你的CPU是不带集显的AMD的一部分CPU(AMD yes!);
4)其余的选项尽量按照default的选项选,最好仔细阅读一下提示,做到心中有数。
  1. 安装完成后会有三个组件提示Installed,这就表示安装成功了,否则会提示Failed。
    如果失败了我们可以把前面安装的CUDA还有显卡驱动都卸载掉,重启重新安装就好了:
$ sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl

$ sudo /usr/bin/nvidia-uninstall

$ reboot
  1. 如果上一步都是成功的,我们重启图形化界面:
$ sudo service lightdm start

我们按住Ctrl+Alt+F7回到图形化界面,输入密码登录账户,如果我们能够成功进入deskstop,没有无限重启的情况的话,大概率CUDA就已经安装成功了。

  1. 配置环境变量
    打开~/.bashrc文件,在最后添加下面下面几行(如果你没按照默认路径安装的话就改成自己的路径)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
export PATH=$PATH:/usr/local/cuda-8.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-8.0

然后一定要运行 $ source ~/.bashrc 才能生效。

  1. 重启电脑,最终检查环境变量配置情况

1)检查Nvidia显卡驱动

$ nvidia-smi

2)检查CUDA版本

$ nvcc -V 

如果没有结果或者错误的话,就再次配置环境变量,直至成功。

编译运行CUDA提供的Sample代码

在安装完成后,CUDA给我们提供了许多Sample代码,可以帮助我们测试安装情况,我们选择比较简单的deviceQuery来做最终检测,逐步运行下面的代码块,编译运行deviceQuery。

$ cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery

$ sudo make

$ ./deviceQuery

如果deviceQuery成功运行的话,那我们的CUDA就应该是安装成功啦╰(×°▽°×)╯。

安装cuDNN

下载cuDNN文件

cuDNN下载网站下载需要的版本安装文件。

注意cuDNN对CUDA的版本对应,以及Tensorflow等对版本的要求。
cuDNN下载
下载其中的Library for Linux ,然后我们解压下载得到的压缩包,得到一个cuda文件夹,里面有include、lib64两个子文件夹。

安装cuDNN

我们在上步的下载文件夹中打开Terminal,执行下面的命令,目的是将cuDNN的库文件复制到我们前期安装好的CUDA路径下:

### 拷贝cuDNN库文件 ###
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include 
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h 
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

最后我们再check一下我们的cuDNN版本:

$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

如果能够看到cuDNN的版本的话,那我们的安装过程就圆满结束啦ヽ(*≧ω≦)ノ!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值