Ubuntu 14.04 64bit下Caffe + Cuda6.5/Cuda7.0 安装配置教程

http://www.embeddedlinux.org.cn/emb-linux/entry-level/201612/21-6005.html

随着深度学习快速发展的浪潮,许多有兴趣的工作者都转入了这个有着很好前景的研究中。工欲善其事,必先利其器。Caffe是一个很不错的深度学习框架,但它的安装步骤比较繁琐,将许多新手拒之门外,于是我就写了这篇博客,主要是我之前安装Caffe也是费了很多时间,由零基础慢慢学习,很羡慕那些有师兄师姐可以帮助的人。

下面开始正式介绍相关安装步骤,该教程主要包括以下几方面的内容:

第一部分:安装所需要的包
第二部分:NVIDIA 驱动和CUDA 安装
第三部分:Caffe安装和测试
第一部分:安装所需要的包

第一部分:安装所需要的包

  1. sudo apt-get install build-essential  # basic requirement
  2. sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler #required by caffe

提示:使用 sudo apt-get install libboost-all-dev ,默认安装boost1.54版本,如果想要使用1.55版本,可以使用命令:sudo apt-get install libboost1.55-all-dev(推荐)

第二部分:NVIDIA 驱动和CUDA 安装

重要提示:安装完Ubuntu系统以及CUDA之后,切莫进行系统更新,会引起不能正常进入桌面的情况,会令你很烦恼的。

安装之前请进行md5检验,确保安装包完整,检验命令为:md5sum 文件名,查看输出的md5sum是否跟你有的相同。

以cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb为例

目前CUDA官网已经提供离线*.deb安装的方法,本教程提供两种安装方法(*.deb和*.run)

(一)离线 *.deb 安装方法(推荐)

此方法不用切换到文本模型即可安装。

(2.1.1)首先下载 对应系统的 离线CUDA安装包   (*.deb) 链接:https://developer.nvidia.com/cuda-toolkit

(2.1.2)安装下载到的 CUDA离线包 (cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb)

  1. 添加软件源
  2. sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
  3. 更新软件源
  4. sudo apt-get update
  5. 安装CUDA
  6. sudo apt-get install cuda
  7. 重启计算机(通过boot设置独立显卡支持)
  8. sudo reboot

(2.1.3)修改环境变量

1)在 /etc/profile 文件中添加以下内容:

  1. export PATH=/usr/local/cuda-7.0/bin:$PATH

命令:

  1. sudo vim /etc/profile

2)使环境变量生效

命令:

  1. source /etc/profile

(2.1.4)添加lib库路径

1)在  /etc/ld.so.conf.d/  文件夹下添加 cuda.conf 文件,内容如下:

  1. /usr/local/cuda-7.0/lib64

2)使库路径立即生效

  1. sudo ldconfig  [-v,可选]

(2.1.5)安装CUDA Samples

命令:

  1. sudo sh cuda-samples-linux-6.5.14-18745345.run

一直aceept就行,建议使用默认路径。

编译CUDA Samples

命令:

  1. cd /usr/local/cuda-6.5/samples
  2. sudo make

编译完成后,进入路径:/samples/bin/x86_64/linux/release

运行命令:

  1. ./deviceQuery

输出:

  1. ./deviceQuery Starting...
  2. CUDA Device Query (Runtime API) version (CUDART static linking)
  3. Detected 1 CUDA Capable device(s)
  4. Device 0: "Tesla K40c"
  5. CUDA Driver Version / Runtime Version          6.5 / 6.5
  6. CUDA Capability Major/Minor version number:    3.5
  7. Total amount of global memory:                 11520 MBytes (12079136768 bytes)
  8. (15) Multiprocessors, (192) CUDA Cores/MP:     2880 CUDA Cores
  9. GPU Clock rate:                                745 MHz (0.75 GHz)
  10. Memory Clock rate:                             3004 Mhz
  11. Memory Bus Width:                              384-bit
  12. L2 Cache Size:                                 1572864 bytes
  13. Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
  14. Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  15. Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  16. Total amount of constant memory:               65536 bytes
  17. Total amount of shared memory per block:       49152 bytes
  18. Total number of registers available per block: 65536
  19. Warp size:                                     32
  20. Maximum number of threads per multiprocessor:  2048
  21. Maximum number of threads per block:           1024
  22. Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  23. Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  24. Maximum memory pitch:                          2147483647 bytes
  25. Texture alignment:                             512 bytes
  26. Concurrent copy and kernel execution:          Yes with 2 copy engine(s)
  27. Run time limit on kernels:                     No
  28. Integrated GPU sharing Host Memory:            No
  29. Support host page-locked memory mapping:       Yes
  30. Alignment requirement for Surfaces:            Yes
  31. Device has ECC support:                        Enabled
  32. Device supports Unified Addressing (UVA):      Yes
  33. Device PCI Bus ID / PCI location ID:           1 / 0
  34. Compute Mode:
  35. < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
  36. deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = Tesla K40c
  37. Result = PASS

如果输出上述信息,恭喜你,NVIDIA和CUDA安装成功,则可以继续进行下一步安装Caffe环境。

(2.1.6)验证NVIDIA 驱动和CUDA是否安装成功

查看安装NVIDIA驱动版本 命令:

  1. cat /proc/driver/nvidia/version

输出

  1. NVRM version: NVIDIA UNIX x86_64 Kernel Module  340.96  Sun Nov  8 22:33:28 PST 2015
  2. GCC version:  gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1)

从输出信息可以看出NVIDIA驱动版本为 340.96

安装完成后,就可以重新启动桌面服务了。

命令:

  1. sudo start lightdm

(二)离线 *.run 安装方法

使用该方法安装,可能需要尝试多次安装

(2.2.1)验证显卡是否支持CUDA

命令:

  1. lspci | grep -i nvidia

查看该计算机显卡是否存在于 链接 https://developer.nvidia.com/cuda-gpus 中。

(2.2.2)验证系统,确定为x86架构,64bit系统

命令:

  1. uname -m && cat /etc/*release

输出:

  1. x86_64
  2. DISTRIB_ID=Ubuntu
  3. DISTRIB_RELEASE=14.04
  4. DISTRIB_CODENAME=trusty
  5. DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
  6. NAME="Ubuntu"
  7. VERSION="14.04.2 LTS, Trusty Tahr"
  8. ID=ubuntu
  9. ID_LIKE=debian
  10. PRETTY_NAME="Ubuntu 14.04.2 LTS"
  11. VERSION_ID="14.04"
  12. HOME_URL="http://www.ubuntu.com/"
  13. SUPPORT_URL="http://help.ubuntu.com/"
  14. BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

(2.2.3)验证系统中是否已经安装gcc,因为需要用gcc来编译CUDA和Caffe

命令:

  1. gcc --version

(2.2.4)NVIDIA和CUDA安装(*.run)

安装之前请进行md5sum检验,确保安装包完整,检验命令为:md5sum 文件名,查看输出的md5sum是否跟你有的相同。

该方法以 CUDA6.5 为例。

(2.2.4.1)首先下载 对应系统的 离线CUDA安装包   (*.run) 链接:https://developer.nvidia.com/cuda-toolkit

(2.2.4.2)关闭桌面服务

进入Ubuntu, 按 Ctrl+Alt+F1  进入tty, 登录tty后输入如下命令:sudo service lightdm stop。

此命令会关闭lightdm服务,如果你使用的是gdm或者其他的桌面服务,请在安装NVIDIA显卡驱动前关闭它。

(2.2.4.3)关闭 Nouveau 开源驱动服务

Nouveau是一个开源的显卡驱动,Ubuntu 14.04 默认安装了,但是它会影响nVidia驱动的安装,启动时需要将这个驱动加入黑名单中。

1):修改nvidia-graphics-drivers.conf文件

  1. sudo vim /etc/modprobe.d/nvidia-graphics-drivers.conf

写入:

  1. blacklist nouveau

保存并退出:

  1. wq!

检查:

  1. cat nvidia-graphics-drivers.conf

2):修改grub文件

  1. sudo vim /etc/default/grub

末尾写入:

  1. rdblacklist=nouveau nouveau.modeset=0

保存并退出:

  1. wq!

检查:

  1. cat /etc/default/grub

(2.2.4.4)安装下载到的 CUDA离线包 (*.run)

1):安装 *.run文件,可以直接使用命令 sudo sh cuda_6.5.14_linux_64.run 一直aceept就行。

或者

由于CUDA安装包中NVIDIA驱动的版本并不保证是最新的,也不一定适合你的计算机的显卡,所以建议使用下面这种方式分开安装,如果NVIDIA驱动版本和CUDA版本不对应的话,会导致CUDA安装失败,或者进入不了桌面服务。可以去NVIDIA官网 下载对应你的显卡的驱动的最新版,至少要高于CUDA安装包中自带的NVIDIA版本。

通过下列命令

  1. cuda_6.5.14_linux_64.run --extract=extract_path

将下载得到的 *.run 文件解压成三个文件, 分别为

CUDA安装包: cuda-linux64-rel-6.5.14-18749181.run

NVIDIA安装包: NVIDIA-Linux-x86_64-340.65.run

CUDA Samples安装包:cuda-samples-linux-6.5.14-18745345.run

分别运行各个文件,运行前,需要将文件权限修改为可执行权限

命令:

  1. chmod +x *.run

2):安装CUDA

命令:

  1. sudo sh cuda-linux64-rel-6.5.14-18749181.run

一直aceept就行,建议使用默认路径。

安装NVIDIA(如果没有NVIDIA显卡,可跳过该步骤,仍可使用Caffe的CPU模式)

命令:(不建议使用)

  1. sudo sh NVIDIA-Linux-x86_64-340.65.run

一直aceept就行,建议使用默认路径。

3):建议方法(仅限于使用CUDA6.5,如果你需要使用更新的CUDA版本,请去NVIDIA官网 下载对应你的显卡的驱动的最新版,至少要高于CUDA安装包中自带的NVIDIA版本,然后单独安装显卡驱动。链接:http://www.nvidia.cn/Download/index.aspx?lang=cn)

1:添加驱动源

  1. sudo add-apt-repository ppa:xorg-edgers/ppa
  2. sudo apt-get update

2:安装340版驱动 (CUDA 6.5.14目前最高仅支持340版驱动, 343, 346版驱动暂不支持)

  1. sudo apt-get install nvidia-340

3:安装完成后, 继续安装下列包 (否则在运行sample时会报错)

  1. sudo apt-get install nvidia-340-uvm

4:安装完成后,最好重启计算机,让NVIDIA显卡工作

(2.2.4.5)安装CUDNN(可选)

1):下载 cudnn-6.5-linux-x64-v2 点击下载,然后执行以下命令安装

  1. tar -zxvf cudnn-6.5-linux-x64-v2.tgz
  2. cd cudnn-6.5-linux-x64-v2
  3. sudo cp lib* /usr/local/cuda-6.5/lib64/
  4. sudo cp cudnn.h /usr/local/cuda-6.5/include/

2):更新软连接

  1. cd /usr/local/cuda-6.5/lib64/
  2. sudo rm -rf libcudnn.so libcudnn.so.6.5
  3. sudo ln -s libcudnn.so.6.5.48 libcudnn.so.6.5
  4. sudo ln -s libcudnn.so.6.5 libcudnn.so

(2.2.4.6)修改环境变量

1):在 /etc/profile 文件中添加以下内容:

  1. export PATH=/usr/local/cuda-6.5/bin:$PATH

命令:

  1. sudo vim /etc/profile

2):使环境变量生效

命令:

  1. source /etc/profile

(2.2.4.7)添加lib库路径

1):在  /etc/ld.so.conf.d/  文件夹下添加 cuda.conf 文件,内容如下:

  1. /usr/local/cuda-6.5/lib64

2):使库路径立即生效

  1. sudo ldconfig  [-v,可选]

(2.2.4.8)安装CUDA Samples

命令:

  1. sudo sh cuda-samples-linux-6.5.14-18745345.run

一直aceept就行,建议使用默认路径。

编译CUDA Samples

命令:

  1. cd /usr/local/cuda-6.5/samples
  2. sudo make

编译完成后,进入路径:/samples/bin/x86_64/linux/release

运行命令:

  1. ./deviceQuery

输出:

  1. ./deviceQuery Starting...
  2. CUDA Device Query (Runtime API) version (CUDART static linking)
  3. Detected 1 CUDA Capable device(s)
  4. Device 0: "Tesla K40c"
  5. CUDA Driver Version / Runtime Version          6.5 / 6.5
  6. CUDA Capability Major/Minor version number:    3.5
  7. Total amount of global memory:                 11520 MBytes (12079136768 bytes)
  8. (15) Multiprocessors, (192) CUDA Cores/MP:     2880 CUDA Cores
  9. GPU Clock rate:                                745 MHz (0.75 GHz)
  10. Memory Clock rate:                             3004 Mhz
  11. Memory Bus Width:                              384-bit
  12. L2 Cache Size:                                 1572864 bytes
  13. Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
  14. Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  15. Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  16. Total amount of constant memory:               65536 bytes
  17. Total amount of shared memory per block:       49152 bytes
  18. Total number of registers available per block: 65536
  19. Warp size:                                     32
  20. Maximum number of threads per multiprocessor:  2048
  21. Maximum number of threads per block:           1024
  22. Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  23. Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  24. Maximum memory pitch:                          2147483647 bytes
  25. Texture alignment:                             512 bytes
  26. Concurrent copy and kernel execution:          Yes with 2 copy engine(s)
  27. Run time limit on kernels:                     No
  28. Integrated GPU sharing Host Memory:            No
  29. Support host page-locked memory mapping:       Yes
  30. Alignment requirement for Surfaces:            Yes
  31. Device has ECC support:                        Enabled
  32. Device supports Unified Addressing (UVA):      Yes
  33. Device PCI Bus ID / PCI location ID:           1 / 0
  34. Compute Mode:
  35. < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
  36. deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = Tesla K40c
  37. Result = PASS

如果输出上述信息,恭喜你,NVIDIA和CUDA安装成功,则可以继续进行下一步安装Caffe环境。

(2.2.4.9)验证NVIDIA 驱动和CUDA是否安装成功

查看安装NVIDIA驱动版本 命令:

cat /proc/driver/nvidia/version

输出

  1. NVRM version: NVIDIA UNIX x86_64 Kernel Module  340.96  Sun Nov  8 22:33:28 PST 2015
  2. GCC version:  gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1)

从输出信息可以看出NVIDIA驱动版本为 340.96

安装完成后,就可以重新启动桌面服务了。

参考http://www.infocool.net/kb/Other/201608/172641.html

命令:

    1. sudo start lightdm
时间: 2024-08-06 19:43:46

Ubuntu 14.04 64bit下Caffe + Cuda6.5/Cuda7.0 安装配置教程的相关文章

Caffe在Ubuntu 14.04 64bit 下的最快安装

最近因为各种原因,装过不少次Caffe,安装过程很多坑,为节省新手的时间,特此总结整个安装流程. 关于Ubuntu 版本的选择,建议用14.04这个比较稳定的版本,但是千万不要用麒麟版!!!比原版体验要差很多!!! Caffe的安装过程,基本采纳 这篇文章 然后稍作改动,跳过大坑. Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明  http://www.linuxidc.com/Linux/2015-04/116444.htm 1. 安装开发依赖包 sudo

在Ubuntu 14.04 LTS下使用apache2+Mono 3.2.8 配置Asp.net 4.0网站

文章假设你已经安装了apache2+mono 3.2.8+mysql,如果没有安装请自行度娘,文章有很多,但是关于apache2和mono在Ubuntu 14.04 LTS下的配置文章却很少,故记录下来. 这篇文章不是一步一步的教程,而是在于理解apache2和mono. 在Ubuntu 14.04 LTS下的apache2的配置目录和以往的版本有些不同,最明显的是没有httpd.conf这个配置文件,如下是配置目录 apache2.conf:apache2的主配置文件 conf-availab

Caffe在Ubuntu 14.04 64bit 下的安装

最近因为各种原因,装过不少次Caffe,安装过程很多坑,为节省新手的时间,特此总结整个安装流程. 关于Ubuntu 版本的选择,建议用14.04这个比较稳定的版本,但是千万不要用麒麟版!!!比原版体验要差很多!!! Caffe的安装过程,基本采纳 这篇文章 然后稍作改动,跳过大坑. 1. 安装开发依赖包 sudo apt-get install build-essential sudo apt-get install vim cmake git sudo apt-get install libp

Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明

笔者花了很长时间才装完,主要是cuda安装和opencv安装比较费劲,cuda找不到32位的安装包只好重装64位的ubuntu系统,opencv 也是尝试了很久才解决,这里建议用2.4.9版本.其实如果没用GPU的话不需要安装cuda,不过为了后续兼容性的考虑,系统强烈建议64位的.下面是 对自己的安装过程记录备忘,有些主要参考网上的文章,所以有些过程就直接用了原来文章中的内容. caffe在git上的源码:https://github.com/BVLC/caffe 环境:    ubuntu

Window7下安装Ubuntu 14.04 64bit

Window7下安装Ubuntu 14.04 64bit 本文章主要讲解如何在Windows7操作系统中硬盘安装Ubuntu 14.04 64bit: 1.准备文件 1.ubuntu-14.04.4-desktop-amd64.iso 2.EasyBCD.exe 3.DiskGenius.exe 2.设置 1.打开EasyBCD软件,可以看到目前只有一个Win7启动项: 2.点击"添加新条目",选择"NeoGrub",点击"安装": 3.然后点击

在Ubuntu 14.04 64bit上安装numpy和matplotlib库

原文:http://blog.csdn.net/tao_627/article/details/44004541 按照这个成功安装! 机器学习是数据挖掘的一种实现形式,在学习<机器学习实战>过程中,需要python环境中安装好numpy和matplotlib库,特此将我在Ubuntu 14.04 64bit上的摸索过程总结如下: 书上的建议是: 在Debian/Ubuntu系统下安装Python, Numpy和Matplotlib的最佳方式是使用apt-get等软件包管理器. 避免源码包形式的

Linux -&gt;&gt; UBuntu 14.04 LTE下主机名称和IP地址解析

UBuntu 14.04 LTE下主机名称和IP地址解析一些相关的配置文件: /etc/hosts: 主机文件.手工配置IP地址和主机名称间的映射.格式为每行一条映射条项: <machine_name> <ip_address>. /etc/network/interfaces: 主机网络接口配置文件,ifup和ifdown命令都依赖于它. /etc/resolv.conf: 名称服务器(DNS)配置文件,而实际上 /etc/resolv.conf是一个链接文件,指向/run/re

Linux(Ubuntu 13.04)环境下 Eclipse perl插件EPIC的安装

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14     这几天要学习perl,打算用eclipse这个IDE,那么装一个perl的插件是很有必要; 网上搜了下,安装EPIC大家提到最多的就是输入http://e-p-i-c.sf.net/updates/testing,但是我遇到的情况是一直在pending,令人抓狂: 后来参照Pydev的插件安装方法,试了下,成功了,下面就是我的步骤 我的系统:Ubuntu13.04 安装步骤: 1:到这里下载插件:http://pan.

Linux -&gt;&gt; UBuntu 14.04 LTE下安装Hadoop 1.2.1(集群分布式模式)

安装步骤: 1) JDK -- Hadoop是用Java写的,不安装Java虚拟机怎么运行Hadoop的程序: 2)创建专门用于运行和执行hadoop任务(比如map和reduce任务)的linux用户,就像windows下的服务账户,并且授权给他可以访问运行JDK目录权限,让他可以执行java虚拟机.这个账户最后用来运行bin\.start_all.sh启动hadoop的所有服务,那运行账户肯定是他了,他肯定要有足够的权限.再者,需要配置这个账户的个人环境变量,把Java虚拟机的主目录地址环境