一. 前提

多GPU交互在神经网络是常见的,所以在安装caffe之前需要安装NCCL,来保证多GPU之间的相互交流。 
多GPU,这里指的是2个及2个以上英伟达显卡,而不是笔记本中的集显和独显。

二.安装NCCL

1.下载编译 
shell终端

cd nccl
make CUDA_HOME=/user/local/cuda-7.5   test #注意自己的cuda路径
  • 1
  • 2
  • 1
  • 2

2.测试和配置环境变量 
shell终端

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./build/lib
./build/test/single/all_reduce_test
./build/test/single/all_reduce_test 10000000
make install
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

注:make install 是自己添加,而官方原文没有。之所以这么加是因为在caffe 执行 cmake时候,cmake无法找到 
非deb安装软件的路径,所以添加make install 是为了能让cmake识别到路径。

三.安装caffe

1.安装所需依赖 
shell终端

sudo apt-get install --no-install-recommends build-essential cmake git gfortran libatlas-base-dev 
 libboost-all-dev libgflags-dev libgoogle-glog-dev libhdf5-serial-dev libleveldb-dev liblmdb-dev libopencv-dev 
libprotobuf-dev libsnappy-dev protobuf-compiler python-all-dev python-dev python-h5py python-matplotlib python-numpy 
python-opencv python-pil python-pip python-protobuf python-scipy python-skimage python-sklearn
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

2.下载caffe 
shell终端,cd到用户根目录

git clone https://github.com/NVIDIA/caffe.git caffe
  • 1
  • 1

3.编译caffe 
shell终端

cp Makefile.config.example Makefile.config
gedit Makefile.config
  • 1
  • 2
  • 1
  • 2

打开文本后,作出如下修改 
取消下面这些话的前面注释符号#

USE_CUDNN := 1 
USE_NCCL := 1
ANACONDA_HOME := $(HOME)/anaconda   #这里我们使用Anaconda环境下的python
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
         $(ANACONDA_HOME)/include/python2.7 \
         $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \
PYTHON_LIB := $(ANACONDA_HOME)/lib
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在下面这些语句中加上#注释符号

#PYTHON_INCLUDE := /usr/include/python2.7 \
        # /usr/lib/python2.7/dist-packages/numpy/core/include
#PYTHON_LIB := /usr/lib
  • 1
  • 2
  • 3
【神经网络与深度学习】【CUDA开发】服务器(多GPU)caffe安装和编译
  • 1
  • 2
  • 3

保存后,退出,编译caffe

sudo pip install -r caffe/python/requirements.txt
cd caffe
mkdir build
cd build
make all -j
make install -j
make runtest -j