CUDA8.0+Ubuntu14.04+Caffe安装过程之CUDA安装教程

安装一个cuda8.0把我折腾了两天,各种问题,最后终于成功了,所以想写个记录以后来给自己一个备份,同时也分享一下我所遇到的问题及最后如何解决的。这一次安装过程给了我一个教训:
一定要以官方的安装教程为准!一定要以官方的安装教程为准!一定要以官方的安装教程为准!
重要的事情说三遍,网络上的各个版本所遇到的问题和解决方法都不尽相同,所以要以官方为基准来做,我就是图方便找个好几个博客,除了各种问题,浪费了好多时间。好,废话不多说了,下面开始一步步来操作,本篇博客主要是写CUDA的安装。

配置环境

首先给出自己的配置环境
操作系统: ubuntu 14.0.4
显卡(笔本): GEFORCE GTX 960M
CUDA8.0: cuda_ 8.0.44 _linux.run
驱动版本: NVIDIA-Linux-x86_64-375.26.run

第一步:预安装操作

这一步是确保Linux系统能够安装CUDA Toolkit和Driver的一些预检查操作:
1. 确认系统有一个CUDA-capable的GPU
2. 确认系统运行的是一个可支持的Linux版本
3. 确认系统安装了gcc
4. 确认系统有正确安装的kernel headers和开发包(development packages)
5. 下载NVIDIA CUDA Toolkit

1. 确认系统有一个CUDA-capable的GPU
打开终端,输入

lspci | grep -i nvidia

会显示显卡的信息,如下所示

这里写图片描述

1.2 确认系统运行的是一个可支持的Linux版本
终端输入

uname -m && cat /etc/*release

检查Linux系统的版本是否支持CUDA,如下所示

这里写图片描述

1.3 确认系统安装了gcc
终端输入

gcc --version

检查系统是否安装了gcc,如下所示

这里写图片描述

1.4. 确认系统有正确安装的kernel headers和开发包(development packages)
终端输入

uname -r

可以查看自己的kernel版本信息

这里写图片描述

在终端输入

 sudo apt-get install linux-header=$(uname -r)

可以安装对应kernel版本的kernel header和develoment packages。
以上就是安装CUDA前的系统环境检查和准备,满足上述要求后,方可开始安装,如果某一项没有满足,可参考官方文档的解决方法,具体不展开细说。

第二步:Runfile安装方式

2.1 下载CUDA安装包
官网地址:http://developer.nvidia.com/cuda-downloads
根据各自的系统选择相应的安装包,如下所示

这里写图片描述

我的系统是64位的Ubuntu 14.04,所以选择相应的runfile。

2.2 安装前禁用Nouveau
安装前需要禁用原来的Nouveau驱动,在终端输入

lsmod | grep nouveau

如果有输出,表示nouveau正在加载,如下所示

这里写图片描述

而我们要的是它不加载,方法就是:在 /etc/modprobe.d中创建文件blacklist-nouveau.conf,在文件中输入以下内容

blacklist nouveau
options nouveau modeset=0

然后在终端上输入

sudo update-initramfs -u

设置完毕后,再次运行 lsmod | grep nouveau ,如果运行后没有任何输出,表示输出成功,
: 我按照上述方法用 lsmod| grep nouveau 仍然有输出,lspci | grep nouveau没有输出,最后还是安装成功了,所以这里我也不是很明白是否禁用成功了。

2.3 安装CUDA
禁用nouveau成功后,重启下电脑,按 alt+ctrl+f1 进入text mode,登录你的账号。关闭图形界面,在终端输入

sudo service lightdm stop

进入cuda的安装包文件路径,运行

sudo sh cuda_8.0.44_linux.run

按照提示一步步操作,注意在第二个问题
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?(y)es/(n)o/(q)uit:
是否安装驱动选择 n,其余都选y,后面会单独安装驱动,最后会显示installed,否则显示failed。
最后在终端输入

sudo service lightdm start

重新进入图形界面,可以重启一下。

2.4 检查Device Node Verification
注意注意这一步很重要,我就是栽在这一步上,网上一些教程都没有说这一步,我跟着装完后,编译sample后运行deviceQuery报错,如下所示

这里写图片描述

而且是个unknown error,找了很多都没找到类似的错误,然后在输入 nvidia-smi 发现报的错是这样的:
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver.
如下图所示。

这里写图片描述

说的是就是无法链接到NVIDIA driver,可是我分明都已经安装好驱动了啊,经过几番搜寻就是少了检查Device Node Verification这一步。
所以正确的方法是这样的:
首先检查 ~/dev下是否存在nvidia*的文件,没有(我就是没有)需要添加一个start sript,我是自己加的,文档里也没说怎么加,就给了个文本,我查了下如何添加start script,写了下面这个

sudo nano /etc/init/cuda_start.conf

自己随便命名了一个cuda_start.conf,这个不重要,关键是路径是 /etc/init 和里面的内容(官方文档里的):

#!/bin/bash
/sbin/modprobe nvidia
if [ "$?" -eq 0 ]; then
# Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`
N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i
done
mknod -m 666 /dev/nvidiactl c 195 255
else
exit 1
fi
/sbin/modprobe nvidia-uvm
if [ "$?" -eq 0 ]; then
# Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`
mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi

然后就问题就解决了,说明了还是要看官方文档

2.5 配置环境变量
终端输入

sudo gedit /etc/profile

网上还有对 ./bashrc进行修改的,两者效果是相同的,问题不大。在文件末尾加上

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

重启电脑,检查上述变量是否安装成功
终端输入

env

在给出的环境变量中检查是否有上述变量,有表明设置成功。

2.6 安装NVIDIA显卡驱动
这里把显卡驱动的安装放在CUDA安装后面,我一开始是放在前面安装,后来出错了,都删了后先装CUDA后装显卡驱动,没问题,所以放在这里单独写,因为CUDA安装过程的自带驱动没有选择,而是单独安装显卡驱动。
1. 下载对应显卡的显卡驱动
我的显卡是GTX 960M,找到的是NVIDIA-Linux-x86_64-375.26.run,官网地址:
http://www.geforce.cn/drivers,根据类型选择对应的驱动即可。
2. 卸载旧的NVIDIA驱动
终端输入

sudo apt-get --purge remove nvidia*

3.安装新的NVIDIA驱动
同样的先进入text mode,关闭图形界面 sudo service lightdm stop然后执行

sudo sh NVIDIA-Linux-x86_64-375.26.run -no-x-check -no-nouveau-check -no-opengl-files 

上述后面几个一定要加,尤其是-no-opengl-files,不然会出现无法进入图形界面,重复登录的问题,不要问我为什么,加就是了,否则就重复登录。
然后就是根据选项选择是就对了,其中一个 报错: The distribution-provided pre-install srcipt failed 不用管,选择是继续安装,最后会提示安装complete。
然后回到图形界面,重启一下。
至此CUDA8.0已经安装完毕,但是我们还需要make一下samples,通过demo例子来测试验证一下是否成功。

第三步: 检查安装是否成功

3.1 检查NVIDIA Driver是否安装成功
终端输入

$ cat /proc/driver/nvidia/version

会输出驱动的版本号,如下

这里写图片描述

NIVIDIA Driver版本375.26确实安装成功。

3.2 检查CUDA Toolkit是否安装成功
终端输入

nvcc -V 

会输出CUDA的版本信息

这里写图片描述

如上所示,表明CUDA安装成功。

3.3 生成cuda的demo进行检查
进入samples的路径,为 ~/NVIDIA_CUDA-8.0 _Samples
终端输入

make

编译之前要先安装好gcc,我一开始就是没装所以报错了(说明了第一步的重要性),安装方式是终端输入

sudo apt-get install gcc

最后编译过程会有点长,十分钟左右,编译完成后会提示Finished building CUDA samples
这里写图片描述

然后我们就可以用了,终端输入

cd ~/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release

再次输入

./deviceQuery

这里写图片描述

上述结果就是对的,之前2.4中的结果就是错的,同样简单点检查可以输入

nvidia-smi

这里写图片描述

至此表明CUDA安装成功并且配置成功(真的是醉了!!!!)。

最后祝愿大家都能一次配置成功,后面我会继续写Caffe的配置过程,希望能够顺利。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值