zoukankan      html  css  js  c++  java
  • 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. 更新软件源 
    5. sudo apt-get update 
    6.  
    7. 安装CUDA 
    8. sudo apt-get install cuda 
    9.  
    10. 重启计算机(通过boot设置独立显卡支持) 
    11. 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.  
    3.  CUDA Device Query (Runtime API) version (CUDART static linking) 
    4.  
    5. Detected 1 CUDA Capable device(s) 
    6.  
    7. Device 0: "Tesla K40c" 
    8.   CUDA Driver Version / Runtime Version          6.5 / 6.5 
    9.   CUDA Capability Major/Minor version number:    3.5 
    10.   Total amount of global memory:                 11520 MBytes (12079136768 bytes) 
    11.   (15) Multiprocessors, (192) CUDA Cores/MP:     2880 CUDA Cores 
    12.   GPU Clock rate:                                745 MHz (0.75 GHz) 
    13.   Memory Clock rate:                             3004 Mhz 
    14.   Memory Bus Width:                              384-bit 
    15.   L2 Cache Size:                                 1572864 bytes 
    16.   Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096) 
    17.   Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers 
    18.   Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers 
    19.   Total amount of constant memory:               65536 bytes 
    20.   Total amount of shared memory per block:       49152 bytes 
    21.   Total number of registers available per block: 65536 
    22.   Warp size:                                     32 
    23.   Maximum number of threads per multiprocessor:  2048 
    24.   Maximum number of threads per block:           1024 
    25.   Max dimension size of a thread block (x,y,z): (1024, 1024, 64) 
    26.   Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535) 
    27.   Maximum memory pitch:                          2147483647 bytes 
    28.   Texture alignment:                             512 bytes 
    29.   Concurrent copy and kernel execution:          Yes with 2 copy engine(s) 
    30.   Run time limit on kernels:                     No 
    31.   Integrated GPU sharing Host Memory:            No 
    32.   Support host page-locked memory mapping:       Yes 
    33.   Alignment requirement for Surfaces:            Yes 
    34.   Device has ECC support:                        Enabled 
    35.   Device supports Unified Addressing (UVA):      Yes 
    36.   Device PCI Bus ID / PCI location ID:           1 / 0 
    37.   Compute Mode: 
    38.      < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) > 
    39.  
    40. deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = Tesla K40c 
    41. 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.  
    3.  CUDA Device Query (Runtime API) version (CUDART static linking) 
    4.  
    5. Detected 1 CUDA Capable device(s) 
    6.  
    7. Device 0: "Tesla K40c" 
    8.   CUDA Driver Version / Runtime Version          6.5 / 6.5 
    9.   CUDA Capability Major/Minor version number:    3.5 
    10.   Total amount of global memory:                 11520 MBytes (12079136768 bytes) 
    11.   (15) Multiprocessors, (192) CUDA Cores/MP:     2880 CUDA Cores 
    12.   GPU Clock rate:                                745 MHz (0.75 GHz) 
    13.   Memory Clock rate:                             3004 Mhz 
    14.   Memory Bus Width:                              384-bit 
    15.   L2 Cache Size:                                 1572864 bytes 
    16.   Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096) 
    17.   Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers 
    18.   Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers 
    19.   Total amount of constant memory:               65536 bytes 
    20.   Total amount of shared memory per block:       49152 bytes 
    21.   Total number of registers available per block: 65536 
    22.   Warp size:                                     32 
    23.   Maximum number of threads per multiprocessor:  2048 
    24.   Maximum number of threads per block:           1024 
    25.   Max dimension size of a thread block (x,y,z): (1024, 1024, 64) 
    26.   Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535) 
    27.   Maximum memory pitch:                          2147483647 bytes 
    28.   Texture alignment:                             512 bytes 
    29.   Concurrent copy and kernel execution:          Yes with 2 copy engine(s) 
    30.   Run time limit on kernels:                     No 
    31.   Integrated GPU sharing Host Memory:            No 
    32.   Support host page-locked memory mapping:       Yes 
    33.   Alignment requirement for Surfaces:            Yes 
    34.   Device has ECC support:                        Enabled 
    35.   Device supports Unified Addressing (UVA):      Yes 
    36.   Device PCI Bus ID / PCI location ID:           1 / 0 
    37.   Compute Mode: 
    38.      < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) > 
    39.  
    40. deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = Tesla K40c 
    41. 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
  • 相关阅读:
    这就是搜索引擎--读书笔记六--索引的查询
    这就是搜索引擎--读书笔记五--索引的建立与更新
    JavaWeb学习总结第四篇--Servlet开发
    算法帝国--读书笔记
    这就是搜索引擎--读书笔记四--索引基础
    这就是搜索引擎--读书笔记三
    Python学习总结之五 -- 入门函数式编程
    ASP.NET-FineUI开发实践-4(二)
    ASP.NET-FineUI开发实践-4
    ASP.NET-FineUI开发实践-3
  • 原文地址:https://www.cnblogs.com/JZ-Ser/p/6928137.html
Copyright © 2011-2022 走看看