(Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明,本文档使用同一块NVIDIA显卡进行显示与计算, 如分别使用不同的显卡进行显示和计算,则可能不适用。)
1. 安装build-essentials安装开发所需要的一些基本包
sudo apt-get install build-essential
2. 安装NVIDIA驱动 (3.4.0) 2.1 准备工作(2014-12-03更新)在关闭桌面管理 lightdm 的情况下安装驱动似乎可以实现Intel 核芯显卡 来显示 + NVIDIA 显卡来计算。具体步骤如下:
1. 首先在BIOS设置里选择用Intel显卡来显示或作为主要显示设备
2. 进入Ubuntu, 按 ctrl+alt+F1 进入tty, 登录tty后输入如下命令
sudo service lightdm stop
该命令会关闭lightdm。如果你使用 gdm或者其他的desktop manager, 请在安装NVIDIA驱动前关闭他。
2.2 安装驱动输入下列命令添加驱动源
sudo add-apt-repository ppa:xorg-edgers/ppa sudo apt-get update
安装340版驱动 (CUDA 6.5.14目前最高仅支持340版驱动, 343, 346版驱动暂不支持)
sudo apt-get install nvidia-340
安装完成后, 继续安装下列包 (否则在运行sample时会报错)
sudo apt-get install nvidia-340-uvm
安装完成后 reboot.
3. 安装CUDA 6.5【点击此链接】 下载CUDA 6.5.
然后通过下列命令, 将下载得到的.run文件解压成三个文件, 分别为
CUDA安装包: cuda-linux64-rel-6.5.14-18749181.run
NVIDIA驱动: NVIDIA-Linux-x86_64-340.29.run
SAMPLE包: cuda-samples-linux-6.5.14-18745345.run
这里不安装NVIDIA驱动
cuda6.5.run --extract=extract_path
注意, 需要通过下面命令给所有.run文件可执行权限
chmod +x *.run
3.1 安装CUDA通过下列命令安装CUDA, 按照说明一步一步安装至完成.
sudo ./cuda-linux64-rel-6.5.14-18749181.run
3.1.1 添加环境变量
安装完成后需要在/etc/profile中添加环境变量, 在文件最后添加:
PATH=/usr/local/cuda-6.5/bin:$PATH export PATH
保存后, 执行下列命令, 使环境变量立即生效
source /etc/profile
3.1.2 添加lib库路径
在 /etc/ld.so.conf.d/加入文件 cuda.conf, 内容如下
/usr/local/cuda-6.5/lib64
执行下列命令使之立刻生效
sudo ldconfig
3.2 安装CUDA SAMPLE首先安装下列依赖包
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
然后用下述命令安装sample文件
sudo ./cuda-samples-linux-6.5.14-18745345.run
完成后编译Sample文件, 整个过程大概10分钟左右
cd /usr/local/cuda-6.5/samples sudo make
全部编译完成后, 进入 samples/bin/x86_64/linux/release, sudo下运行deviceQuery
sudo ./deviceQuery
如果出现下列显卡信息, 则驱动及显卡安装成功:
./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) Device 0: "GeForce GTX 670" CUDA Driver Version / Runtime Version 6.5 / 6.5 CUDA Capability Major/Minor version number: 3.0 Total amount of global memory: 4095 MBytes (4294246400 bytes) ( 7) Multiprocessors, (192) CUDA Cores/MP: 1344 CUDA Cores GPU Clock rate: 1098 MHz (1.10 GHz) Memory Clock rate: 3105 Mhz Memory Bus Width: 256-bit L2 Cache Size: 524288 bytes Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096) Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 49152 bytes Total number of registers available per block: 65536 Warp size: 32 Maximum number of threads per multiprocessor: 2048 Maximum number of threads per block: 1024 Max dimension size of a thread block (x,y,z): (1024, 1024, 64) Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535) Maximum memory pitch: 2147483647 bytes Texture alignment: 512 bytes Concurrent copy and kernel execution: Yes with 1 copy engine(s) Run time limit on kernels: Yes Integrated GPU sharing Host Memory: No Support host page-locked memory mapping: Yes Alignment requirement for Surfaces: Yes Device has ECC support: Disabled Device supports Unified Addressing (UVA): Yes Device PCI Bus ID / PCI location ID: 1 / 0 Compute Mode: < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) > deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = GeForce GTX 670 Result = PASS
4. 安装Intel MKL(如果没有可以安装OpenBLAS代替)解压安装包,下面有一个install_GUI.sh文件, 执行该文件,会出现图形安装界面,根据说明一步一步执行即可。
注意: 安装完成后需要添加library路径
sudo gedit /etc/ld.so.conf.d/intel_mkl.conf
在文件中添加内容
/opt/intel/lib /opt/intel/mkl/lib/intel64
注意把路径替换成自己的安装路径。 编辑完后执行
sudo ldconfig
5. 安装OpenCV这个尽量不要手动安装, Github上有人已经写好了完整的安装脚本:https://github.com/jayrambhia/Install-OpenCV
下载该脚本,进入Ubuntu/2.4 目录, 给所有shell脚本加上可执行权限
chmod +x *.sh
然后安装最新版本 (当前为2.4.9)
sudo ./opencv2_4_9.sh
脚本会自动安装依赖项,下载安装包,编译并安装OpenCV。整个过程大概半小时左右。
注意,中途可能会报错
opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(51): error: a storage class is not allowed in an explicit specialization