caffe安装系列——安装cuda和cudnn

原创 2015年09月22日 15:01:46

欢迎访问 博客新址

说明

  • 网上关于caffe的安装教程非常多,但是关于每一步是否操作成功,出现了什么样的错误又该如何处理没有给出说明。因为大家的操作系统的环境千差万别,按照博客中的教程一步步的安装,最后可能失败——这是很常见的哦。有的教程甚至省略了一些细节部分,让小白更不知道如何判断每一步是否操作成功,如何处理出现的错误。
  • 作者花费了很长时间才成功地将caffe装完,期间遇到好多错误,多次重装操作系统。现在将经验写下来,一方面为了和大家分享,讨论;另一方面是为了记录一下下~~~

环境

操作系统: Ubuntu 14.04(64bit)
GCC/G++:4.7.x
OpenCV: 2.4.11和3.0.0
Matlab :R2014b(a)
Python: 2.7
显卡:Telsa K40m & Telsa K20xm

安装步骤

安装cuda

# 安装依赖库
apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libgl1-mesa-dev libglu1-mesa libglu1-mesa-dev libxi-dev 
# 添加执行权限,并安装。注意不要重复安装显卡驱动。
# cuda**run根据自己下载的版本更改名称。
# 选择安装Cuda Samples,后边还会编译它。
# 选择创建软连接。cuda -> cuda7.0
stop lightdm
chmod a+x cuda_7.0.28_linux.run
sudo ./cuda_7.0.28_linux.run
  • 修改/etc/profile文件,将cuda添加到环境变量中。【注:关于这一点,安装完cuda之后,命令行中有提示!!!细心看一下】
  • 将/usr/local/cuda-7.0/bin添加到环境变量PATH路径中,这样一来,就可以在任何路径下调用cuda相关的可执行文件了。
  • 将/usr/local/cuda7.0/lib64添加环境变量LD_LIBRARY_PATH 中,作为共享库使用。这样一来,后面编译Cuda Samples 和OpenCV时,就不会提示找不到库的错误了。
  • 操作1:将以下内容添加到文件/etc/profile的最后面,保存后,执行命令source /etc/profile,使配置生效。
PATH=/usr/local/cuda/bin:$PATH 
export PATH 
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export LD_ LIBRARY_PATH 
  • 操作2:在目录/etc/ld.so.conf.d/下新建文件 cuda.conf,并添加如下内容。然后执行命令sudo ldconfig,使配置生效。
  • 解释:下面第一行是上面提到的cuda库文件路径,后面3行是后来综合调试错误和其它博文总结得到的。所以,最好加上,省的出错哦。。。
/usr/local/cuda/lib64
/lib
/usr/lib
/usr/lib32
  • 检查cuda是否配置好,在命令行中执行以下命令。
#输入以下命令,检查是否配置好。如下图所示,说明安装好。
nvcc --version

这里写图片描述

安装CUDA SAMPLES

  • 为什么安装cuda samples?
  • 一方面为了后面学习cuda使用,另一方面,可以检验cuda是否真的安装成功。如果cuda samples全部编译通过,没有一个Error(Warning忽略),那么就说明成功地安装了cuda。但如果没有通过编译,或者虽然最后一行显示PASS,但是编译过程中有ERROR,请自行GOOGLE解决之后,再向下安装,否则失之毫厘谬以千里!!!

  • make时,请使用make -j,可以最大限度的使用cpu编译,加快编译的速度。

# 切换到cuda-samples所在目录
# 注意,换成自己的路径
cd /home/xuezhisd/NVIDIA_CUDA-7.0_Samples
# 编译 make (安装命令 sudo apt-get install cmake)
make –j 
# 编译完毕,切换release目录
cd ./bin/x86_64/linux/release
# 检验是否成功
# 运行实例 ./deviceQuery
./deviceQuery 
# 可以认真看看自行结果,它显示了你的NVIDIA显卡的相关信息。
  • ./deviceQuery执行结果如下图所示:
    这里写图片描述
  • 一个Error例子
  • 安装CUDA SAMPLES的过程中,可能会出现错误“/usr/bin/ld: cannot find –lGL”
  • 通过Google搜索,找到以下解决方法:
locate libGL.so
# 返回结果
#/usr/lib/i386-linux-gnu/mesa/libGL.so.1
#/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0 /usr/lib/libGL.so
  • 但是,依然不能编译通过。忽略进行后面的步骤,依然会提示一些.so文件找不到。最终在OpenCV那里完全无法再安装了,返回卸掉卸载NVIDIA DRIVER 和cuda,重新安装驱动和cuda*,成功地编译cuda samples。
  • 安装的驱动的方法是在命令行中执行:
sudo stop lightdm 
sudo apt-get install nvidia-346
  • 然后将libGLobal.so链接到nvidia提供的libGLobal.so.346.82。后面编译cuda samples和opencv过程中顺利通过。
sudo ln –s /usr/lib/nvidia-346-updates/libGL.so.346.82 /usr/lib/libGL.so
  • 即使用NVIDIA提供的libGL.so可以完成编译,不再报错。

  • 注意:上面这个错误,就是在先装显卡驱动,后装gcc4.7过程遇到的。所以,请先安装gcc4.7和g++4.7,然后再安装NVDIA显卡驱动,再安装cuda。

安装cudnn

  • 安装cudnn比较简单,简单地说,就是复制几个文件:库文件和头文件。将cudnn的头文件复制到cuda安装路径的include路径下,将cudnn的库文件复制到cuda安装路径的lib64路径下。
#解压文件
tar -zxvf cudnn-6.5-linux-x64-v2.tgz
#切换路径
cd cudnn-6.5-linux-x64-v2
#复制lib文件到cuda安装路径下的lib64/
sudo cp lib* /usr/local/cuda/lib64/
#复制头文件
sudo cp cudnn.h /usr/local/cuda/include/

#更新软连接
cd /usr/local/cuda/lib64/ 
sudo rm -rf libcudnn.so libcudnn.so.6.5 
sudo ln -s libcudnn.so.6.5.48 libcudnn.so.6.5 
sudo ln -s libcudnn.so.6.5 libcudnn.so 
  • 到目前为止,cudnn已经安装完了。但是,是否安装成功了呢,还得通过下面的cudnn sample测试。
#运行cudnn-sample-v2
tar –zxvf cudnn-sample-v2.tgz
cd cudnn-sample-v2
make
./mnistCUDNN
#改程序运行成功,说明cudnn安装成功。
  • 此时可能出现错误:./mnist CUDNN: error while loading shared libraries: libcudart.so.6.5: cannot ope
  • 解决方法参考 https://groups.google.com/forum/#!topic/caffe-users/dcZrE3-60mc

  • 方法1:在命令行中执行
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64

  • 方法2:在/etc/profile文件最后添加export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64, 并在命令行中执行source /etc/profile
版权声明:本文为博主原创文章,引用时请附上链接。

cuDNN

cuDNN(CUDA Deep Neural Network),官网: https://developer.nvidia.com/cudnn 安装 相比标准的cuda,它在一些常用的神经网络操作...
  • guoyunfei20
  • guoyunfei20
  • 2017年10月10日 13:31
  • 5231

CUDA编程实践--cuDNN

NVIDIA® cuDNN is a GPU-accelerated library of primitives for deep neural networks. cuDNN是一个对DNN的GPU...
  • wendox
  • wendox
  • 2016年01月16日 22:20
  • 4311

windows 下 cudnn的安装方法

下载cudnn的安装文件cudnn-7.0-win-x64-v3.0-prod.zip 将文件解压,例如解压到d:\cuda\ 解压后有三个子目录:bin,include,lib 将bin目录(例如 ...
  • yfszzx
  • yfszzx
  • 2015年11月28日 13:51
  • 17246

cudnn-6.5版本

  • 2017年02月22日 22:39
  • 15.18MB
  • 下载

ubuntu下cuDNN配置

一般我们开发都是基于CPU的,cuda可以看作是辅助我们针对GPU开发的一个工具。 而cuDNN官网的全称是CUDA Deep Neural Network,相比标准的cuda,它在一些常用的神经网络...
  • a1154761720
  • a1154761720
  • 2016年08月24日 17:35
  • 18041

cuDNN安装

最忌在用tensorflow跑程序,要用到cuDNN,顺便弥补下以前用caffe没安装cuDNN的偷懒 随手记录下安装方法 安装cuDNN Theano也支持cuDNN(可选...
  • qmx0623
  • qmx0623
  • 2017年05月07日 12:25
  • 647

Ubuntu16.04 +cuda8.0+cudnn+opencv+caffe+theano+tensorflow配置明细

安装英伟达显卡驱动 首先去官网上查看适合你GPU的驱动 (http://www.nvidia.com/Download/index.aspx?lang=en-us) sudo add-apt-re...
  • hit2015spring
  • hit2015spring
  • 2016年12月07日 21:54
  • 3251

CPU、GPU、CUDA,CuDNN 简介

一、CPU和GPU的区别 CPU (Central Processing Unit) 即中央处理器 GPU (Graphics Processing Unit) 即图形处理器 GPGPU全称Gener...
  • fangjin_kl
  • fangjin_kl
  • 2016年12月30日 10:30
  • 8164

cuDNN下载地址

cuDNN Archive NVIDIA cuDNN is a GPU-accelerated library of primitives for deep neural networks. Dow...
  • TwT520Ly
  • TwT520Ly
  • 2017年11月11日 11:51
  • 271

win10+cuda8.0+cudnn+Tensorflow(GPU)安装

传说中的Tensorflow终于支持windows了,下面介绍一下Win10下Tensorflow的安装与使用 准备工作: 1.python3.5(64位)目前Tensorflow只支持64位pyth...
  • weixin_36368407
  • weixin_36368407
  • 2017年01月07日 19:42
  • 24039
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:caffe安装系列——安装cuda和cudnn
举报原因:
原因补充:

(最多只允许输入30个字)