Monday 30 January 2017

How to install Caffe on Ubuntu




Caffe is an open source Deep Learning framework. Installation steps on Ubuntu are:
  • install Git (if already not installed)
  • fetch Caffe source code
  • install dependencies
  • adjust Makefile.config
  • build it

It is worth mentioning that the following steps were tested on Ubuntu 16.04.

You can check if you have Git installed by querying its version:

$ git --version
git version 2.7.4

If you happen not to have Git, you can install it with:

$ sudo apt-get install git

Now clone Caffe's source:

$ git clone https://github.com/BVLC/caffe

Caffe's root installation directory contains a file called Makefile.config.example which is a template for Makefile.config file, the one which we're going to create by copying Makefile.config.example and then editing it.

To see what we can expect for required and optional dependencies, let's have a look at the Makefile.config.example file:

$ cat Makefile.config.example

## Refer to http://caffe.berkeleyvision.org/installation.html
# Contributions simplifying and improving our build system are welcome!

# cuDNN acceleration switch (uncomment to build with cuDNN).
# USE_CUDNN := 1

# CPU-only switch (uncomment to build without GPU support).
# CPU_ONLY := 1

# uncomment to disable IO dependencies and corresponding data layers
# USE_OPENCV := 0
# USE_LEVELDB := 0
# USE_LMDB := 0

# uncomment to allow MDB_NOLOCK when reading LMDB files (only if necessary)
# You should not set this flag if you will be reading LMDBs with any
# possibility of simultaneous read and write
# ALLOW_LMDB_NOLOCK := 1

# Uncomment if you're using OpenCV 3
# OPENCV_VERSION := 3

# To customize your choice of compiler, uncomment and set the following.
# N.B. the default for Linux is g++ and the default for OSX is clang++
# CUSTOM_CXX := g++

# CUDA directory contains bin/ and lib/ directories that we need.
CUDA_DIR := /usr/local/cuda
# On Ubuntu 14.04, if cuda tools are installed via
# "sudo apt-get install nvidia-cuda-toolkit" then use this instead:
# CUDA_DIR := /usr
t
# CUDA architecture setting: going with all of them.
# For CUDA < 6.0, comment the *_50 lines for compatibility.
CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_50,code=compute_50

# BLAS choice:
# atlas for ATLAS (default)
# mkl for MKL
# open for OpenBlas
BLAS := atlas
# Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
# Leave commented to accept the defaults for your choice of BLAS
# (which should work)!
# BLAS_INCLUDE := /path/to/your/blas
# BLAS_LIB := /path/to/your/blas

# Homebrew puts openblas in a directory that is not on the standard search path
# BLAS_INCLUDE := $(shell brew --prefix openblas)/include
# BLAS_LIB := $(shell brew --prefix openblas)/lib

# This is required only if you will compile the matlab interface.
# MATLAB directory should contain the mex binary in /bin.
# MATLAB_DIR := /usr/local
# MATLAB_DIR := /Applications/MATLAB_R2012b.app

# NOTE: this is required only if you will compile the python interface.
# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
# Anaconda Python distribution is quite popular. Include path:
# Verify anaconda location, sometimes it's in root.
# ANACONDA_HOME := $(HOME)/anaconda
# PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
# $(ANACONDA_HOME)/include/python2.7 \
# $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \

# Uncomment to use Python 3 (default is Python 2)
# PYTHON_LIBRARIES := boost_python3 python3.5m
# PYTHON_INCLUDE := /usr/include/python3.5m \
# /usr/lib/python3.5/dist-packages/numpy/core/include

# We need to be able to find libpythonX.X.so or .dylib.
PYTHON_LIB := /usr/lib
# PYTHON_LIB := $(ANACONDA_HOME)/lib

# Homebrew installs numpy in a non standard path (keg only)
# PYTHON_INCLUDE += $(dir $(shell python -c 'import numpy.core; print(numpy.core.__file__)'))/include
# PYTHON_LIB += $(shell brew --prefix numpy)/lib

# Uncomment to support layers written in Python (will link against Python libs)
# WITH_PYTHON_LAYER := 1

# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

# If Homebrew is installed at a non standard location (for example your home directory) and you use it for general dependencies
# INCLUDE_DIRS += $(shell brew --prefix)/include
# LIBRARY_DIRS += $(shell brew --prefix)/lib

# Uncomment to use `pkg-config` to specify OpenCV library paths.
# (Usually not necessary -- OpenCV libraries are normally installed in one of the above $LIBRARY_DIRS.)
# USE_PKG_CONFIG := 1

# N.B. both build and distribute dirs are cleared on `make clean`
BUILD_DIR := build
DISTRIBUTE_DIR := distribute

# Uncomment for debugging. Does not work on OSX due to https://github.com/BVLC/caffe/issues/171
# DEBUG := 1

# The ID of the GPU that 'make runtest' will use to run unit tests.
TEST_GPUID := 0

# enable pretty build (comment to see full commands)
Q ?= @


Here is a full list of Caffe dependencies:

Obligatory Caffe dependencies:
  • CUDA (version 7+; I will be using v8.0) - required for GPU mode only
  • BLAS (ATLAS, MKL, or OpenBLAS; we will be using ATLAS)
  • Boost
  • Protocol Buffers
  • GLog
  • GFlags
  • HDF5

Optional Caffe dependencies:
  • OpenCV (v2.4+)
  • LMDB
  • LevelDB
  • Snappy
  • cuDNN

CUDA


Caffe can work in CPU and GPU mode. CUDA is a requirement for GPU mode so we can skip this step if we'll be running Caffe only in CPU mode.

I described here how to install CUDA on Ubuntu.

BLAS


BLAS (Basic Linear Algebra Subprograms) is a specification for the set of common linear algebra (vector and matrix) operations. Some of its implementations are:

In CPU mode, Caffe can use ATLAS, MKL or OpenBLAS.
In GPU mode, Caffe can use cuBLAS.

For CPU mode, I will be using ATLAS although MKL and OpenBLAS are faster. ATLAS is mature and is often deployed first and is used as a baseline for performance comparisons. Also, ATLAS is set as a default BLAS implementation if compiling Caffe from the source. Its Makefile.config contains the following line:

BLAS := atlas


Install ATLAS with the following command:

$ sudo apt-get install libatlas-base-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libatlas-dev libatlas3-base
Suggested packages:
libblas-doc liblapack-doc
The following NEW packages will be installed
libatlas-base-dev libatlas-dev libatlas3-base
0 to upgrade, 3 to newly install, 0 to remove and 63 not to upgrade.
Need to get 6,315 kB of archives.
After this operation, 42.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libatlas3-base amd64 3.10.2-9 [2,697 kB]
Get:2 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libatlas-dev amd64 3.10.2-9 [22.1 kB]
Get:3 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libatlas-base-dev amd64 3.10.2-9 [3,596 kB]
Fetched 6,315 kB in 45s (138 kB/s)
Selecting previously unselected package libatlas3-base.
(Reading database ... 231230 files and directories currently installed.)
Preparing to unpack .../libatlas3-base_3.10.2-9_amd64.deb ...
Unpacking libatlas3-base (3.10.2-9) ...
Selecting previously unselected package libatlas-dev.
Preparing to unpack .../libatlas-dev_3.10.2-9_amd64.deb ...
Unpacking libatlas-dev (3.10.2-9) ...
Selecting previously unselected package libatlas-base-dev.
Preparing to unpack .../libatlas-base-dev_3.10.2-9_amd64.deb ...
Unpacking libatlas-base-dev (3.10.2-9) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...
Setting up libatlas3-base (3.10.2-9) ...
Setting up libatlas-dev (3.10.2-9) ...
Setting up libatlas-base-dev (3.10.2-9) ...
update-alternatives: using /usr/lib/atlas-base/atlas/libblas.so to provide /usr/lib/libblas.so (libblas.so) in auto mode
update-alternatives: using /usr/lib/atlas-base/atlas/liblapack.so to provide /usr/lib/liblapack.so (liblapack.so) in auto mode
Processing triggers for libc-bin (2.23-0ubuntu5) ...

BOOST


Boost is a set of C++ libraries which extend C++ language and contain helper routines for various applications.

Installing Boost development package:

$ sudo apt-get install --no-install-recommends libboost-all-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
icu-devtools libboost-atomic-dev libboost-atomic1.58-dev libboost-atomic1.58.0
libboost-chrono-dev libboost-chrono1.58-dev libboost-chrono1.58.0
libboost-context-dev libboost-context1.58-dev libboost-context1.58.0
libboost-coroutine-dev libboost-coroutine1.58-dev libboost-coroutine1.58.0
libboost-date-time-dev libboost-date-time1.58-dev libboost-dev
libboost-exception-dev libboost-exception1.58-dev libboost-filesystem-dev
libboost-filesystem1.58-dev libboost-graph-dev libboost-graph-parallel-dev
libboost-graph-parallel1.58-dev libboost-graph-parallel1.58.0
libboost-graph1.58-dev libboost-graph1.58.0 libboost-iostreams-dev
libboost-iostreams1.58-dev libboost-locale-dev libboost-locale1.58-dev
libboost-locale1.58.0 libboost-log-dev libboost-log1.58-dev libboost-log1.58.0
libboost-math-dev libboost-math1.58-dev libboost-math1.58.0 libboost-mpi-dev
libboost-mpi-python-dev libboost-mpi-python1.58-dev libboost-mpi-python1.58.0
libboost-mpi1.58-dev libboost-mpi1.58.0 libboost-program-options-dev
libboost-program-options1.58-dev libboost-program-options1.58.0
libboost-python-dev libboost-python1.58-dev libboost-python1.58.0
libboost-random-dev libboost-random1.58-dev libboost-random1.58.0
libboost-regex-dev libboost-regex1.58-dev libboost-regex1.58.0
libboost-serialization-dev libboost-serialization1.58-dev
libboost-serialization1.58.0 libboost-signals-dev libboost-signals1.58-dev
libboost-signals1.58.0 libboost-system-dev libboost-system1.58-dev
libboost-test-dev libboost-test1.58-dev libboost-test1.58.0 libboost-thread-dev
libboost-thread1.58-dev libboost-thread1.58.0 libboost-timer-dev
libboost-timer1.58-dev libboost-timer1.58.0 libboost-tools-dev libboost-wave-dev
libboost-wave1.58-dev libboost-wave1.58.0 libboost1.58-dev
libboost1.58-tools-dev libexpat1-dev libhwloc-dev libhwloc5 libibverbs-dev
libibverbs1 libicu-dev libltdl-dev libnuma-dev libopenmpi-dev libopenmpi1.10
libpython-dev libpython2.7-dev mpi-default-bin mpi-default-dev openmpi-bin
openmpi-common python-dev python2.7-dev
Suggested packages:
libboost-doc graphviz libboost1.58-doc gccxml libmpfrc++-dev libntl-dev xsltproc
doxygen docbook-xml docbook-xsl default-jdk fop libhwloc-contrib-plugins icu-doc
libtool-doc opennmpi-doc openmpi-checkpoint
Recommended packages:
libhwloc-plugins libtool
The following NEW packages will be installed
icu-devtools libboost-all-dev libboost-atomic-dev libboost-atomic1.58-dev
libboost-atomic1.58.0 libboost-chrono-dev libboost-chrono1.58-dev
libboost-chrono1.58.0 libboost-context-dev libboost-context1.58-dev
libboost-context1.58.0 libboost-coroutine-dev libboost-coroutine1.58-dev
libboost-coroutine1.58.0 libboost-date-time-dev libboost-date-time1.58-dev
libboost-dev libboost-exception-dev libboost-exception1.58-dev
libboost-filesystem-dev libboost-filesystem1.58-dev libboost-graph-dev
libboost-graph-parallel-dev libboost-graph-parallel1.58-dev
libboost-graph-parallel1.58.0 libboost-graph1.58-dev libboost-graph1.58.0
libboost-iostreams-dev libboost-iostreams1.58-dev libboost-locale-dev
libboost-locale1.58-dev libboost-locale1.58.0 libboost-log-dev
libboost-log1.58-dev libboost-log1.58.0 libboost-math-dev libboost-math1.58-dev
libboost-math1.58.0 libboost-mpi-dev libboost-mpi-python-dev
libboost-mpi-python1.58-dev libboost-mpi-python1.58.0 libboost-mpi1.58-dev
libboost-mpi1.58.0 libboost-program-options-dev libboost-program-options1.58-dev
libboost-program-options1.58.0 libboost-python-dev libboost-python1.58-dev
libboost-python1.58.0 libboost-random-dev libboost-random1.58-dev
libboost-random1.58.0 libboost-regex-dev libboost-regex1.58-dev
libboost-regex1.58.0 libboost-serialization-dev libboost-serialization1.58-dev
libboost-serialization1.58.0 libboost-signals-dev libboost-signals1.58-dev
libboost-signals1.58.0 libboost-system-dev libboost-system1.58-dev
libboost-test-dev libboost-test1.58-dev libboost-test1.58.0 libboost-thread-dev
libboost-thread1.58-dev libboost-thread1.58.0 libboost-timer-dev
libboost-timer1.58-dev libboost-timer1.58.0 libboost-tools-dev libboost-wave-dev
libboost-wave1.58-dev libboost-wave1.58.0 libboost1.58-dev
libboost1.58-tools-dev libexpat1-dev libhwloc-dev libhwloc5 libibverbs-dev
libibverbs1 libicu-dev libltdl-dev libnuma-dev libopenmpi-dev libopenmpi1.10
libpython-dev libpython2.7-dev mpi-default-bin mpi-default-dev openmpi-bin
openmpi-common python-dev python2.7-dev
0 to upgrade, 97 to newly install, 0 to remove and 63 not to upgrade.
Need to get 53.9 MB of archives.
After this operation, 273 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 icu-devtools amd64 55.1-7 [165 kB]
Get:2 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libboost1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [6,222 kB]
Get:3 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 libboost-dev amd64 1.58.0.1ubuntu1 [3,134 B]
Get:4 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libboost1.58-tools-dev amd64 1.58.0+dfsg-5ubuntu3.1 [1,140 kB]
Get:5 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-tools-dev amd64 1.58.0.1ubuntu1 [2,974 B]
Get:6 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-atomic1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [7,120 B]
Get:7 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-atomic1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [5,026 B]
Get:8 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-atomic-dev amd64 1.58.0.1ubuntu1 [3,104 B]
Get:9 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-chrono1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [13.2 kB]
Get:10 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-chrono1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [15.6 kB]
Get:11 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-chrono-dev amd64 1.58.0.1ubuntu1 [3,422 B]
Get:12 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libboost-thread1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [47.0 kB]
Get:13 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-context1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [18.9 kB]
Get:14 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-context1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [19.0 kB]
Get:15 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-context-dev amd64 1.58.0.1ubuntu1 [2,994 B]
Get:16 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-coroutine1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [20.2 kB]
Get:17 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-coroutine1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [21.0 kB]
Get:18 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-coroutine-dev amd64 1.58.0.1ubuntu1 [3,070 B]
Get:19 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-serialization1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [113 kB]
Get:20 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-serialization1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [147 kB]
Get:21 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-date-time1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [27.4 kB]
Get:22 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-date-time-dev amd64 1.58.0.1ubuntu1 [2,800 B]
Get:23 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-exception1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [4,456 B]
Get:24 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-exception-dev amd64 1.58.0.1ubuntu1 [2,792 B]
Get:25 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-system1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [8,526 B]
Get:26 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-filesystem1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [46.4 kB]
Get:27 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-filesystem-dev amd64 1.58.0.1ubuntu1 [2,826 B]
Get:28 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libboost-regex1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [261 kB]
Get:29 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-graph1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [94.2 kB]
Get:30 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-test1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [188 kB]
Get:31 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-test1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [232 kB]
Get:32 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-graph1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [104 kB]
Get:33 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-graph-dev amd64 1.58.0.1ubuntu1 [2,886 B]
Get:34 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libhwloc5 amd64 1.11.2-3 [99.5 kB]
Get:35 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 libibverbs1 amd64 1.1.8-1.1ubuntu2 [25.0 kB]
Get:36 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libopenmpi1.10 amd64 1.10.2-8ubuntu1 [2,025 kB]
Get:37 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-mpi1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [47.8 kB]
Get:38 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-graph-parallel1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [72.6 kB]
Get:39 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-graph-parallel1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [78.9 kB]
Get:40 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-graph-parallel-dev amd64 1.58.0.1ubuntu1 [2,932 B]
Get:41 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 libicu-dev amd64 55.1-7 [8,546 kB]
Get:42 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-regex1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [322 kB]
Get:43 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-iostreams1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [36.2 kB]
Get:44 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-iostreams-dev amd64 1.58.0.1ubuntu1 [2,784 B]
Get:45 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-locale1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [242 kB]
Get:46 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-locale1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [331 kB]
Get:47 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-locale-dev amd64 1.58.0.1ubuntu1 [3,128 B]
Get:48 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-log1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [422 kB]
Get:49 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-thread1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [48.8 kB]
Get:50 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-log1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [533 kB]
Get:51 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-log-dev amd64 1.58.0.1ubuntu1 [2,986 B]
Get:52 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-math1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [291 kB]
Get:53 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-math1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [829 kB]
Get:54 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-math-dev amd64 1.58.0.1ubuntu1 [2,998 B]
Get:55 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 openmpi-common all 1.10.2-8ubuntu1 [129 kB]
Get:56 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 libibverbs-dev amd64 1.1.8-1.1ubuntu2 [77.6 kB]
Get:57 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 libnuma-dev amd64 2.0.11-1ubuntu1 [31.7 kB]
Get:58 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 libltdl-dev amd64 2.4.6-0.1 [162 kB]
Get:59 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libhwloc-dev amd64 1.11.2-3 [155 kB]
Get:60 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libopenmpi-dev amd64 1.10.2-8ubuntu1 [537 kB]
Get:61 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 mpi-default-dev amd64 1.4 [4,154 B]
Get:62 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-mpi1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [147 kB]
Get:63 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-mpi-dev amd64 1.58.0.1ubuntu1 [2,876 B]
Get:64 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-python1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [120 kB]
Get:65 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 openmpi-bin amd64 1.10.2-8ubuntu1 [100 kB]
Get:66 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 mpi-default-bin amd64 1.4 [3,370 B]
Get:67 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-mpi-python1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [220 kB]
Get:68 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-mpi-python1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [27.0 kB]
Get:69 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-mpi-python-dev amd64 1.58.0.1ubuntu1 [2,912 B]
Get:70 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libboost-program-options1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [138 kB]
Get:71 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libboost-program-options1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [171 kB]
Get:72 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 libboost-program-options-dev amd64 1.58.0.1ubuntu1 [2,808 B]
Get:73 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libexpat1-dev amd64 2.1.0-7ubuntu0.16.04.2 [115 kB]
Get:74 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython2.7-dev amd64 2.7.12-1ubuntu0~16.04.1 [27.8 MB]
Get:75 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 libpython-dev amd64 2.7.11-1 [7,728 B]
Get:76 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python2.7-dev amd64 2.7.12-1ubuntu0~16.04.1 [276 kB]
Get:77 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 python-dev amd64 2.7.11-1 [1,160 B]
Get:78 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-python1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [149 kB]
Get:79 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-python-dev amd64 1.58.0.1ubuntu1 [3,170 B]
Get:80 http://gb.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libboost-random1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [11.7 kB]
Get:81 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-random1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [11.1 kB]
Get:82 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-random-dev amd64 1.58.0.1ubuntu1 [2,790 B]
Get:83 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-regex-dev amd64 1.58.0.1ubuntu1 [3,058 B]
Get:84 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-serialization-dev amd64 1.58.0.1ubuntu1 [3,026 B]
Get:85 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-signals1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [31.5 kB]
Get:86 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-signals1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [34.8 kB]
Get:87 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-signals-dev amd64 1.58.0.1ubuntu1 [2,856 B]
Get:88 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-system-dev amd64 1.58.0.1ubuntu1 [2,930 B]
Get:89 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-test-dev amd64 1.58.0.1ubuntu1 [2,830 B]
Get:90 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-thread-dev amd64 1.58.0.1ubuntu1 [2,818 B]
Get:91 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-timer1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [10.2 kB]
Get:92 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-timer1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [9,632 B]
Get:93 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-timer-dev amd64 1.58.0.1ubuntu1 [2,922 B]
Get:94 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-wave1.58.0 amd64 1.58.0+dfsg-5ubuntu3.1 [184 kB]
Get:95 http://gb.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libboost-wave1.58-dev amd64 1.58.0+dfsg-5ubuntu3.1 [245 kB]
Get:96 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-wave-dev amd64 1.58.0.1ubuntu1 [2,838 B]
Get:97 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libboost-all-dev amd64 1.58.0.1ubuntu1 [2,228 B]
Fetched 53.9 MB in 4min 10s (215 kB/s)
Extract templates from packages: 100%
Selecting previously unselected package icu-devtools.
(Reading database ... 231446 files and directories currently installed.)
Preparing to unpack .../icu-devtools_55.1-7_amd64.deb ...
Unpacking icu-devtools (55.1-7) ...
Selecting previously unselected package libboost1.58-dev:amd64.
Preparing to unpack .../libboost1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-dev:amd64.
Preparing to unpack .../libboost-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost1.58-tools-dev.
Preparing to unpack .../libboost1.58-tools-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost1.58-tools-dev (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-tools-dev.
Preparing to unpack .../libboost-tools-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-tools-dev (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-atomic1.58.0:amd64.
Preparing to unpack .../libboost-atomic1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-atomic1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-atomic1.58-dev:amd64.
Preparing to unpack .../libboost-atomic1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-atomic1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-atomic-dev:amd64.
Preparing to unpack .../libboost-atomic-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-atomic-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-chrono1.58.0:amd64.
Preparing to unpack .../libboost-chrono1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-chrono1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-chrono1.58-dev:amd64.
Preparing to unpack .../libboost-chrono1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-chrono1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-chrono-dev:amd64.
Preparing to unpack .../libboost-chrono-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-chrono-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-thread1.58.0:amd64.
Preparing to unpack .../libboost-thread1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-thread1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-context1.58.0:amd64.
Preparing to unpack .../libboost-context1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-context1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-context1.58-dev:amd64.
Preparing to unpack .../libboost-context1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-context1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-context-dev:amd64.
Preparing to unpack .../libboost-context-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-context-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-coroutine1.58.0:amd64.
Preparing to unpack .../libboost-coroutine1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-coroutine1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-coroutine1.58-dev:amd64.
Preparing to unpack .../libboost-coroutine1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-coroutine1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-coroutine-dev:amd64.
Preparing to unpack .../libboost-coroutine-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-coroutine-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-serialization1.58.0:amd64.
Preparing to unpack .../libboost-serialization1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-serialization1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-serialization1.58-dev:amd64.
Preparing to unpack .../libboost-serialization1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-serialization1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-date-time1.58-dev:amd64.
Preparing to unpack .../libboost-date-time1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-date-time1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-date-time-dev:amd64.
Preparing to unpack .../libboost-date-time-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-date-time-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-exception1.58-dev:amd64.
Preparing to unpack .../libboost-exception1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-exception1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-exception-dev:amd64.
Preparing to unpack .../libboost-exception-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-exception-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-system1.58-dev:amd64.
Preparing to unpack .../libboost-system1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-system1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-filesystem1.58-dev:amd64.
Preparing to unpack .../libboost-filesystem1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-filesystem1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-filesystem-dev:amd64.
Preparing to unpack .../libboost-filesystem-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-filesystem-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-regex1.58.0:amd64.
Preparing to unpack .../libboost-regex1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-regex1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-graph1.58.0:amd64.
Preparing to unpack .../libboost-graph1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-graph1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-test1.58.0:amd64.
Preparing to unpack .../libboost-test1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-test1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-test1.58-dev:amd64.
Preparing to unpack .../libboost-test1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-test1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-graph1.58-dev:amd64.
Preparing to unpack .../libboost-graph1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-graph1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-graph-dev:amd64.
Preparing to unpack .../libboost-graph-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-graph-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libhwloc5:amd64.
Preparing to unpack .../libhwloc5_1.11.2-3_amd64.deb ...
Unpacking libhwloc5:amd64 (1.11.2-3) ...
Selecting previously unselected package libibverbs1.
Preparing to unpack .../libibverbs1_1.1.8-1.1ubuntu2_amd64.deb ...
Unpacking libibverbs1 (1.1.8-1.1ubuntu2) ...
Selecting previously unselected package libopenmpi1.10.
Preparing to unpack .../libopenmpi1.10_1.10.2-8ubuntu1_amd64.deb ...
Unpacking libopenmpi1.10 (1.10.2-8ubuntu1) ...
Selecting previously unselected package libboost-mpi1.58.0.
Preparing to unpack .../libboost-mpi1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-mpi1.58.0 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-graph-parallel1.58.0.
Preparing to unpack .../libboost-graph-parallel1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-graph-parallel1.58.0 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-graph-parallel1.58-dev.
Preparing to unpack .../libboost-graph-parallel1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-graph-parallel1.58-dev (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-graph-parallel-dev.
Preparing to unpack .../libboost-graph-parallel-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-graph-parallel-dev (1.58.0.1ubuntu1) ...
Selecting previously unselected package libicu-dev:amd64.
Preparing to unpack .../libicu-dev_55.1-7_amd64.deb ...
Unpacking libicu-dev:amd64 (55.1-7) ...
Selecting previously unselected package libboost-regex1.58-dev:amd64.
Preparing to unpack .../libboost-regex1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-regex1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-iostreams1.58-dev:amd64.
Preparing to unpack .../libboost-iostreams1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-iostreams1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-iostreams-dev:amd64.
Preparing to unpack .../libboost-iostreams-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-iostreams-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-locale1.58.0:amd64.
Preparing to unpack .../libboost-locale1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-locale1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-locale1.58-dev:amd64.
Preparing to unpack .../libboost-locale1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-locale1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-locale-dev:amd64.
Preparing to unpack .../libboost-locale-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-locale-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-log1.58.0.
Preparing to unpack .../libboost-log1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-log1.58.0 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-thread1.58-dev:amd64.
Preparing to unpack .../libboost-thread1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-thread1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-log1.58-dev.
Preparing to unpack .../libboost-log1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-log1.58-dev (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-log-dev.
Preparing to unpack .../libboost-log-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-log-dev (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-math1.58.0:amd64.
Preparing to unpack .../libboost-math1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-math1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-math1.58-dev:amd64.
Preparing to unpack .../libboost-math1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-math1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-math-dev:amd64.
Preparing to unpack .../libboost-math-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-math-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package openmpi-common.
Preparing to unpack .../openmpi-common_1.10.2-8ubuntu1_all.deb ...
Unpacking openmpi-common (1.10.2-8ubuntu1) ...
Selecting previously unselected package libibverbs-dev.
Preparing to unpack .../libibverbs-dev_1.1.8-1.1ubuntu2_amd64.deb ...
Unpacking libibverbs-dev (1.1.8-1.1ubuntu2) ...
Selecting previously unselected package libnuma-dev:amd64.
Preparing to unpack .../libnuma-dev_2.0.11-1ubuntu1_amd64.deb ...
Unpacking libnuma-dev:amd64 (2.0.11-1ubuntu1) ...
Selecting previously unselected package libltdl-dev:amd64.
Preparing to unpack .../libltdl-dev_2.4.6-0.1_amd64.deb ...
Unpacking libltdl-dev:amd64 (2.4.6-0.1) ...
Selecting previously unselected package libhwloc-dev:amd64.
Preparing to unpack .../libhwloc-dev_1.11.2-3_amd64.deb ...
Unpacking libhwloc-dev:amd64 (1.11.2-3) ...
Selecting previously unselected package libopenmpi-dev.
Preparing to unpack .../libopenmpi-dev_1.10.2-8ubuntu1_amd64.deb ...
Unpacking libopenmpi-dev (1.10.2-8ubuntu1) ...
Selecting previously unselected package mpi-default-dev.
Preparing to unpack .../mpi-default-dev_1.4_amd64.deb ...
Unpacking mpi-default-dev (1.4) ...
Selecting previously unselected package libboost-mpi1.58-dev.
Preparing to unpack .../libboost-mpi1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-mpi1.58-dev (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-mpi-dev.
Preparing to unpack .../libboost-mpi-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-mpi-dev (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-python1.58.0.
Preparing to unpack .../libboost-python1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-python1.58.0 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package openmpi-bin.
Preparing to unpack .../openmpi-bin_1.10.2-8ubuntu1_amd64.deb ...
Unpacking openmpi-bin (1.10.2-8ubuntu1) ...
Selecting previously unselected package mpi-default-bin.
Preparing to unpack .../mpi-default-bin_1.4_amd64.deb ...
Unpacking mpi-default-bin (1.4) ...
Selecting previously unselected package libboost-mpi-python1.58.0.
Preparing to unpack .../libboost-mpi-python1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-mpi-python1.58.0 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-mpi-python1.58-dev.
Preparing to unpack .../libboost-mpi-python1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-mpi-python1.58-dev (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-mpi-python-dev.
Preparing to unpack .../libboost-mpi-python-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-mpi-python-dev (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-program-options1.58.0:amd64.
Preparing to unpack .../libboost-program-options1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-program-options1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-program-options1.58-dev:amd64.
Preparing to unpack .../libboost-program-options1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-program-options1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-program-options-dev:amd64.
Preparing to unpack .../libboost-program-options-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-program-options-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libexpat1-dev:amd64.
Preparing to unpack .../libexpat1-dev_2.1.0-7ubuntu0.16.04.2_amd64.deb ...
Unpacking libexpat1-dev:amd64 (2.1.0-7ubuntu0.16.04.2) ...
Selecting previously unselected package libpython2.7-dev:amd64.
Preparing to unpack .../libpython2.7-dev_2.7.12-1ubuntu0~16.04.1_amd64.deb ...
Unpacking libpython2.7-dev:amd64 (2.7.12-1ubuntu0~16.04.1) ...
Selecting previously unselected package libpython-dev:amd64.
Preparing to unpack .../libpython-dev_2.7.11-1_amd64.deb ...
Unpacking libpython-dev:amd64 (2.7.11-1) ...
Selecting previously unselected package python2.7-dev.
Preparing to unpack .../python2.7-dev_2.7.12-1ubuntu0~16.04.1_amd64.deb ...
Unpacking python2.7-dev (2.7.12-1ubuntu0~16.04.1) ...
Selecting previously unselected package python-dev.
Preparing to unpack .../python-dev_2.7.11-1_amd64.deb ...
Unpacking python-dev (2.7.11-1) ...
Selecting previously unselected package libboost-python1.58-dev.
Preparing to unpack .../libboost-python1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-python1.58-dev (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-python-dev.
Preparing to unpack .../libboost-python-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-python-dev (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-random1.58.0:amd64.
Preparing to unpack .../libboost-random1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-random1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-random1.58-dev:amd64.
Preparing to unpack .../libboost-random1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-random1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-random-dev:amd64.
Preparing to unpack .../libboost-random-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-random-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-regex-dev:amd64.
Preparing to unpack .../libboost-regex-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-regex-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-serialization-dev:amd64.
Preparing to unpack .../libboost-serialization-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-serialization-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-signals1.58.0:amd64.
Preparing to unpack .../libboost-signals1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-signals1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-signals1.58-dev:amd64.
Preparing to unpack .../libboost-signals1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-signals1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-signals-dev:amd64.
Preparing to unpack .../libboost-signals-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-signals-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-system-dev:amd64.
Preparing to unpack .../libboost-system-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-system-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-test-dev:amd64.
Preparing to unpack .../libboost-test-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-test-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-thread-dev:amd64.
Preparing to unpack .../libboost-thread-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-thread-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-timer1.58.0:amd64.
Preparing to unpack .../libboost-timer1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-timer1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-timer1.58-dev:amd64.
Preparing to unpack .../libboost-timer1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-timer1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-timer-dev:amd64.
Preparing to unpack .../libboost-timer-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-timer-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-wave1.58.0:amd64.
Preparing to unpack .../libboost-wave1.58.0_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-wave1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-wave1.58-dev:amd64.
Preparing to unpack .../libboost-wave1.58-dev_1.58.0+dfsg-5ubuntu3.1_amd64.deb ...
Unpacking libboost-wave1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Selecting previously unselected package libboost-wave-dev:amd64.
Preparing to unpack .../libboost-wave-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-wave-dev:amd64 (1.58.0.1ubuntu1) ...
Selecting previously unselected package libboost-all-dev.
Preparing to unpack .../libboost-all-dev_1.58.0.1ubuntu1_amd64.deb ...
Unpacking libboost-all-dev (1.58.0.1ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...
Processing triggers for doc-base (0.10.7) ...
Processing 1 added doc-base file...
Setting up icu-devtools (55.1-7) ...
Setting up libboost1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost1.58-tools-dev (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-tools-dev (1.58.0.1ubuntu1) ...
Setting up libboost-atomic1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-atomic1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-atomic-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-chrono1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-chrono1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-chrono-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-thread1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-context1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-context1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-context-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-coroutine1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-coroutine1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-coroutine-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-serialization1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-serialization1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-date-time1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-date-time-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-exception1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-exception-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-system1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-filesystem1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-filesystem-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-regex1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-graph1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-test1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-test1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-graph1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-graph-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libhwloc5:amd64 (1.11.2-3) ...
Setting up libibverbs1 (1.1.8-1.1ubuntu2) ...
Setting up libopenmpi1.10 (1.10.2-8ubuntu1) ...
Setting up libboost-mpi1.58.0 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-graph-parallel1.58.0 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-graph-parallel1.58-dev (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-graph-parallel-dev (1.58.0.1ubuntu1) ...
Setting up libicu-dev:amd64 (55.1-7) ...
Setting up libboost-regex1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-iostreams1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-iostreams-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-locale1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-locale1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-locale-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-log1.58.0 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-thread1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-log1.58-dev (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-log-dev (1.58.0.1ubuntu1) ...
Setting up libboost-math1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-math1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-math-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up openmpi-common (1.10.2-8ubuntu1) ...
Setting up libibverbs-dev (1.1.8-1.1ubuntu2) ...
Setting up libnuma-dev:amd64 (2.0.11-1ubuntu1) ...
Setting up libltdl-dev:amd64 (2.4.6-0.1) ...
Setting up libhwloc-dev:amd64 (1.11.2-3) ...
Setting up libopenmpi-dev (1.10.2-8ubuntu1) ...
update-alternatives: using /usr/lib/openmpi/include to provide /usr/include/mpi (mpi) in auto mode
Setting up mpi-default-dev (1.4) ...
Setting up libboost-mpi1.58-dev (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-mpi-dev (1.58.0.1ubuntu1) ...
Setting up libboost-python1.58.0 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up openmpi-bin (1.10.2-8ubuntu1) ...
update-alternatives: using /usr/bin/mpirun.openmpi to provide /usr/bin/mpirun (mpirun) in auto mode
Setting up mpi-default-bin (1.4) ...
Setting up libboost-mpi-python1.58.0 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-mpi-python1.58-dev (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-mpi-python-dev (1.58.0.1ubuntu1) ...
Setting up libboost-program-options1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-program-options1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-program-options-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libexpat1-dev:amd64 (2.1.0-7ubuntu0.16.04.2) ...
Setting up libpython2.7-dev:amd64 (2.7.12-1ubuntu0~16.04.1) ...
Setting up libpython-dev:amd64 (2.7.11-1) ...
Setting up python2.7-dev (2.7.12-1ubuntu0~16.04.1) ...
Setting up python-dev (2.7.11-1) ...
Setting up libboost-python1.58-dev (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-python-dev (1.58.0.1ubuntu1) ...
Setting up libboost-random1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-random1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-random-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-regex-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-serialization-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-signals1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-signals1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-signals-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-system-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-test-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-thread-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-timer1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-timer1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-timer-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-wave1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-wave1.58-dev:amd64 (1.58.0+dfsg-5ubuntu3.1) ...
Setting up libboost-wave-dev:amd64 (1.58.0.1ubuntu1) ...
Setting up libboost-all-dev (1.58.0.1ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...

Protocol Buffers

Protocol Buffers is Google's technology for data serialization. Only following two packages are required:
  • libprotobuf-dev
  • protobuf-compiler

Installation:

$ sudo apt-get install libprotobuf-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed
libprotobuf-dev
0 to upgrade, 1 to newly install, 0 to remove and 63 not to upgrade.
Need to get 473 kB of archives.
After this operation, 3,811 kB of additional disk space will be used.
Get:1 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 libprotobuf-dev amd64 2.6.1-1.3 [473 kB]
Fetched 473 kB in 2s (230 kB/s)
Selecting previously unselected package libprotobuf-dev:amd64.
(Reading database ... 245687 files and directories currently installed.)
Preparing to unpack .../libprotobuf-dev_2.6.1-1.3_amd64.deb ...
Unpacking libprotobuf-dev:amd64 (2.6.1-1.3) ...
Setting up libprotobuf-dev:amd64 (2.6.1-1.3) ...

$ sudo apt-get install protobuf-compiler
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libprotoc9v5
The following NEW packages will be installed
libprotoc9v5 protobuf-compiler
0 to upgrade, 2 to newly install, 0 to remove and 63 not to upgrade.
Need to get 293 kB of archives.
After this operation, 1,129 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 libprotoc9v5 amd64 2.6.1-1.3 [273 kB]
Get:2 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 protobuf-compiler amd64 2.6.1-1.3 [20.4 kB]
Fetched 293 kB in 1s (226 kB/s)
Selecting previously unselected package libprotoc9v5:amd64.
(Reading database ... 245744 files and directories currently installed.)
Preparing to unpack .../libprotoc9v5_2.6.1-1.3_amd64.deb ...
Unpacking libprotoc9v5:amd64 (2.6.1-1.3) ...
Selecting previously unselected package protobuf-compiler.
Preparing to unpack .../protobuf-compiler_2.6.1-1.3_amd64.deb ...
Unpacking protobuf-compiler (2.6.1-1.3) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up libprotoc9v5:amd64 (2.6.1-1.3) ...
Setting up protobuf-compiler (2.6.1-1.3) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...

GLog


GLog is Google's C++  library that implements application-level logging. Installation:

$ sudo apt-get install libgoogle-glog-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libgflags-dev libgflags2v5 libgoogle-glog0v5
The following NEW packages will be installed
libgflags-dev libgflags2v5 libgoogle-glog-dev libgoogle-glog0v5
0 to upgrade, 4 to newly install, 0 to remove and 63 not to upgrade.
Need to get 240 kB of archives.
After this operation, 1,340 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libgflags2v5 amd64 2.1.2-3 [54.4 kB]
Get:2 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libgflags-dev amd64 2.1.2-3 [64.8 kB]
Get:3 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libgoogle-glog0v5 amd64 0.3.4-0.1 [49.3 kB]
Get:4 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libgoogle-glog-dev amd64 0.3.4-0.1 [71.3 kB]
Fetched 240 kB in 1s (120 kB/s)
Selecting previously unselected package libgflags2v5.
(Reading database ... 245809 files and directories currently installed.)
Preparing to unpack .../libgflags2v5_2.1.2-3_amd64.deb ...
Unpacking libgflags2v5 (2.1.2-3) ...
Selecting previously unselected package libgflags-dev.
Preparing to unpack .../libgflags-dev_2.1.2-3_amd64.deb ...
Unpacking libgflags-dev (2.1.2-3) ...
Selecting previously unselected package libgoogle-glog0v5.
Preparing to unpack .../libgoogle-glog0v5_0.3.4-0.1_amd64.deb ...
Unpacking libgoogle-glog0v5 (0.3.4-0.1) ...
Selecting previously unselected package libgoogle-glog-dev.
Preparing to unpack .../libgoogle-glog-dev_0.3.4-0.1_amd64.deb ...
Unpacking libgoogle-glog-dev (0.3.4-0.1) ...
Setting up libgflags2v5 (2.1.2-3) ...
Setting up libgflags-dev (2.1.2-3) ...
Setting up libgoogle-glog0v5 (0.3.4-0.1) ...
Setting up libgoogle-glog-dev (0.3.4-0.1) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...

GFlags


GFlags is commandline flags processing module for C++. [Source Code]
Installation (I already had this package installed):

$ sudo apt-get install libgflags-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libgflags-dev is already the newest version (2.1.2-3).
libgflags-dev set to manually installed.
0 to upgrade, 0 to newly install, 0 to remove and 63 not to upgrade.

HDF5


HDF5 is a data storage model for storing large amounts of data.

I already had one HDF5 library installed but Caffe requires serial development package:

$ apt list --installed | grep hdf5
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

libhdf5-10/xenial,now 1.8.16+docs-4ubuntu1 amd64 [installed,automatic]

$ sudo apt-get install libhdf5-serial-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
hdf5-helpers libaec-dev libhdf5-cpp-11 libhdf5-dev
Suggested packages:
libhdf5-doc
The following NEW packages will be installed
hdf5-helpers libaec-dev libhdf5-cpp-11 libhdf5-dev libhdf5-serial-dev
0 to upgrade, 5 to newly install, 0 to remove and 63 not to upgrade.
Need to get 5,139 kB of archives.
After this operation, 31.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 hdf5-helpers amd64 1.8.16+docs-4ubuntu1 [12.5 kB]
Get:2 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libhdf5-cpp-11 amd64 1.8.16+docs-4ubuntu1 [101 kB]
Get:3 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libaec-dev amd64 0.3.2-1 [16.6 kB]
Get:4 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libhdf5-dev amd64 1.8.16+docs-4ubuntu1 [5,005 kB]
Get:5 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 libhdf5-serial-dev all 1.8.16+docs-4ubuntu1 [4,224 B]
Fetched 5,139 kB in 39s (131 kB/s)
Selecting previously unselected package hdf5-helpers.
(Reading database ... 245847 files and directories currently installed.)
Preparing to unpack .../hdf5-helpers_1.8.16+docs-4ubuntu1_amd64.deb ...
Unpacking hdf5-helpers (1.8.16+docs-4ubuntu1) ...
Selecting previously unselected package libhdf5-cpp-11:amd64.
Preparing to unpack .../libhdf5-cpp-11_1.8.16+docs-4ubuntu1_amd64.deb ...
Unpacking libhdf5-cpp-11:amd64 (1.8.16+docs-4ubuntu1) ...
Selecting previously unselected package libaec-dev:amd64.
Preparing to unpack .../libaec-dev_0.3.2-1_amd64.deb ...
Unpacking libaec-dev:amd64 (0.3.2-1) ...
Selecting previously unselected package libhdf5-dev.
Preparing to unpack .../libhdf5-dev_1.8.16+docs-4ubuntu1_amd64.deb ...
Unpacking libhdf5-dev (1.8.16+docs-4ubuntu1) ...
Selecting previously unselected package libhdf5-serial-dev.
Preparing to unpack .../libhdf5-serial-dev_1.8.16+docs-4ubuntu1_all.deb ...
Unpacking libhdf5-serial-dev (1.8.16+docs-4ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...
Setting up hdf5-helpers (1.8.16+docs-4ubuntu1) ...
Setting up libhdf5-cpp-11:amd64 (1.8.16+docs-4ubuntu1) ...
Setting up libaec-dev:amd64 (0.3.2-1) ...
Setting up libhdf5-dev (1.8.16+docs-4ubuntu1) ...
update-alternatives: using /usr/lib/x86_64-linux-gnu/pkgconfig/hdf5-serial.pc to provide /usr/lib/x86_64-linux-gnu/pkgconfig/hdf5.pc (hdf5.pc) in auto mode
Setting up libhdf5-serial-dev (1.8.16+docs-4ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...

OpenCV

OpenCV is a library for Computer Vision. Although I had some OpenCV packages installed Caffe requires development packages:

$ sudo apt-get install libopencv-dev

Upon installing libopencv-dev these are OpenCV packages present on the system:

$ apt list --installed | grep opencv
libopencv-calib3d-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-calib3d2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-contrib-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-contrib2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-core-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-core2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed]
libopencv-features2d-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-features2d2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-flann-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-flann2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-gpu-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-gpu2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-highgui-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-highgui2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-imgproc-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-imgproc2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-legacy-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-legacy2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-ml-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-ml2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-objdetect-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-objdetect2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-ocl-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-ocl2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-photo-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-photo2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-stitching-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-stitching2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-superres-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-superres2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-ts-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-ts2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-video-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-video2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-videostab-dev/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv-videostab2.4v5/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv2.4-java/xenial,xenial,now 2.4.9.1+dfsg-1.5ubuntu1 all [installed,automatic]
libopencv2.4-jni/xenial,now 2.4.9.1+dfsg-1.5ubuntu1 amd64 [installed,automatic]
libopencv4tegra-repo/now 2.4.13-17-g5317135 amd64 [installed,local]
opencv-data/xenial,xenial,now 2.4.9.1+dfsg-1.5ubuntu1 all [installed,automatic]

LMDB


LMDB (Lightning Memory-mapped Database) is a key-value based database with high performance.

$ sudo apt-get install liblmdb-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
liblmdb0 lmdb-doc
The following NEW packages will be installed
liblmdb-dev liblmdb0 lmdb-doc
0 to upgrade, 3 to newly install, 0 to remove and 61 not to upgrade.
Need to get 354 kB of archives.
After this operation, 2,607 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 liblmdb0 amd64 0.9.17-3 [43.3 kB]
Get:2 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 liblmdb-dev amd64 0.9.17-3 [57.3 kB]
Get:3 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 lmdb-doc all 0.9.17-3 [254 kB]
Fetched 354 kB in 1s (241 kB/s)
Selecting previously unselected package liblmdb0:amd64.
(Reading database ... 248584 files and directories currently installed.)
Preparing to unpack .../liblmdb0_0.9.17-3_amd64.deb ...
Unpacking liblmdb0:amd64 (0.9.17-3) ...
Selecting previously unselected package liblmdb-dev:amd64.
Preparing to unpack .../liblmdb-dev_0.9.17-3_amd64.deb ...
Unpacking liblmdb-dev:amd64 (0.9.17-3) ...
Selecting previously unselected package lmdb-doc.
Preparing to unpack .../lmdb-doc_0.9.17-3_all.deb ...
Unpacking lmdb-doc (0.9.17-3) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...
/sbin/ldconfig.real: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5 is not a symbolic link

Processing triggers for man-db (2.7.5-1) ...
Setting up liblmdb0:amd64 (0.9.17-3) ...
Setting up liblmdb-dev:amd64 (0.9.17-3) ...
Setting up lmdb-doc (0.9.17-3) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...
/sbin/ldconfig.real: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcudnn.so.5 is not a symbolic link

LevelDB


LevelDB is Google's light DB based on key-value storage.

Installation:

$ sudo apt-get install libleveldb-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libleveldb1v5
Suggested packages:
leveldb-doc
The following NEW packages will be installed
libleveldb-dev libleveldb1v5
0 to upgrade, 2 to newly install, 0 to remove and 63 not to upgrade.
Need to get 307 kB of archives.
After this operation, 1,333 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 libleveldb1v5 amd64 1.18-5 [132 kB]
Get:2 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 libleveldb-dev amd64 1.18-5 [174 kB]
Fetched 307 kB in 1s (174 kB/s)
Selecting previously unselected package libleveldb1v5:amd64.
(Reading database ... 245770 files and directories currently installed.)
Preparing to unpack .../libleveldb1v5_1.18-5_amd64.deb ...
Unpacking libleveldb1v5:amd64 (1.18-5) ...
Selecting previously unselected package libleveldb-dev:amd64.
Preparing to unpack .../libleveldb-dev_1.18-5_amd64.deb ...
Unpacking libleveldb-dev:amd64 (1.18-5) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...
Setting up libleveldb1v5:amd64 (1.18-5) ...
Setting up libleveldb-dev:amd64 (1.18-5) ...
Processing triggers for libc-bin (2.23-0ubuntu5) ...

Snappy


Snappy is Google's library for fast compression/decompression. [Source code]

Installation:

$ sudo apt-get install libsnappy-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed
libsnappy-dev
0 to upgrade, 1 to newly install, 0 to remove and 63 not to upgrade.
Need to get 24.0 kB of archives.
After this operation, 127 kB of additional disk space will be used.
Get:1 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 libsnappy-dev amd64 1.1.3-2 [24.0 kB]
Fetched 24.0 kB in 0s (28.7 kB/s)
Selecting previously unselected package libsnappy-dev:amd64.
(Reading database ... 245798 files and directories currently installed.)
Preparing to unpack .../libsnappy-dev_1.1.3-2_amd64.deb ...
Unpacking libsnappy-dev:amd64 (1.1.3-2) ...
Setting up libsnappy-dev:amd64 (1.1.3-2) ...

cuDNN


cuDNN is NVIDIA's CUDA library for Machine Learning.

In order to be able to download cuDNN, you have to become a member of NVIDIA's Accelerated Computing Developer Program. Membership is free, you just have to fill the questionnaire.

From the cuDNN download page, we're going to download cuDNN v5.1 Library for Linux which comes as cudnn-8.0-linux-x64-v5.1.tgz file (~100.5MB).


To install cuDNN we only have to unpack the archive and copy libraries and headers to specific CUDA directories. CUDA was installed on our machine in /usr/local/cuda-8.0 directory so we have to copy headers to /usr/local/cuda-8.0/include/ and libraries to /usr/local/cuda-8.0/lib64/:

~/Downloads$ tar -zxvf "cudnn-8.0-linux-x64-v5.1.tgz"
cuda/include/cudnn.h
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.5
cuda/lib64/libcudnn.so.5.1.5
cuda/lib64/libcudnn_static.a

$ sudo cp cuda/lib64/* /usr/local/cuda-8.0/lib64/

$ sudo cp cuda/include/* /usr/local/cuda-8.0/include/

Compiling (finally!)


Caffe officially supports Make and we're going to use this build system.

As I mentioned earlier, we have to create Makefile.config by copying Makefile.config.example (in Caffe's source root directory):

$ cp Makefile.config.example Makefile.config

Now comes the fun part - choosing which dependencies we're going to use. Our setup can be as default one with the only one difference: we want to take benefit of using cuDNN so will uncomment the following line in Makefile.config:

USE_CUDNN := 1

We can now try to run make but let's first detect how many cores our system has:

$ nproc

8

We can speed up compilation process by using make's -j option with value 8. It tells make to perform 8 jobs in parallel.

$ make all -j8
PROTOC src/caffe/proto/caffe.proto
CXX src/caffe/data_reader.cpp
CXX src/caffe/syncedmem.cpp
CXX src/caffe/data_transformer.cpp
CXX src/caffe/common.cpp
CXX src/caffe/solver.cpp
CXX src/caffe/parallel.cpp
CXX src/caffe/blob.cpp
CXX src/caffe/layers/euclidean_loss_layer.cpp
In file included from src/caffe/solver.cpp:8:0:
./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory
compilation terminated.
Makefile:575: recipe for target '.build_release/src/caffe/solver.o' failed
make: *** [.build_release/src/caffe/solver.o] Error 1
make: *** Waiting for unfinished jobs....

The cause of the error is missing path to hdf5.h. Let's find it:

$ sudo find / -xdev -name hdf5.h

/usr/include/opencv2/flann/hdf5.h
/usr/include/hdf5/serial/hdf5.h

We have to add path /usr/include/hdf5/serial to Makefile.config:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

...has to be replaced with:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial

On the next try I got the following error:

$ make all -j8
...
/usr/bin/ld: cannot find -lhdf5_hl
/usr/bin/ld: cannot find -lhdf5
collect2: error: ld returned 1 exit status
Makefile:566: recipe for target '.build_release/lib/libcaffe.so.1.0.0-rc3' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1

Fix for this error is explained here.

$ sudo find / -xdev -name libhdf5*
/var/lib/dpkg/info/libhdf5-dev.list
/var/lib/dpkg/info/libhdf5-serial-dev.md5sums
/var/lib/dpkg/info/libhdf5-10:amd64.md5sums
/var/lib/dpkg/info/libhdf5-dev.md5sums
/var/lib/dpkg/info/libhdf5-10:amd64.shlibs
/var/lib/dpkg/info/libhdf5-cpp-11:amd64.md5sums
/var/lib/dpkg/info/libhdf5-10:amd64.list
/var/lib/dpkg/info/libhdf5-dev.prerm
/var/lib/dpkg/info/libhdf5-cpp-11:amd64.symbols
/var/lib/dpkg/info/libhdf5-cpp-11:amd64.shlibs
/var/lib/dpkg/info/libhdf5-10:amd64.symbols
/var/lib/dpkg/info/libhdf5-10:amd64.triggers
/var/lib/dpkg/info/libhdf5-dev.postinst
/var/lib/dpkg/info/libhdf5-cpp-11:amd64.list
/var/lib/dpkg/info/libhdf5-serial-dev.list
/var/lib/dpkg/info/libhdf5-cpp-11:amd64.triggers
/var/cache/apt/archives/libhdf5-dev_1.8.16+docs-4ubuntu1_amd64.deb
/var/cache/apt/archives/libhdf5-10_1.8.16+docs-4ubuntu1_amd64.deb
/var/cache/apt/archives/libhdf5-cpp-11_1.8.16+docs-4ubuntu1_amd64.deb
/var/cache/apt/archives/libhdf5-serial-dev_1.8.16+docs-4ubuntu1_all.deb
/usr/lib/x86_64-linux-gnu/libhdf5_serial_fortran.so.10
/usr/lib/x86_64-linux-gnu/libhdf5_hl_cpp.so.11
/usr/lib/x86_64-linux-gnu/libhdf5_serial.settings
/usr/lib/x86_64-linux-gnu/libhdf5_serial_fortran.a
/usr/lib/x86_64-linux-gnu/libhdf5_hl_cpp.a
/usr/lib/x86_64-linux-gnu/libhdf5_cpp.so
/usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.10.0.2
/usr/lib/x86_64-linux-gnu/libhdf5_cpp.so.11.0.0
/usr/lib/x86_64-linux-gnu/libhdf5_cpp.so.11
/usr/lib/x86_64-linux-gnu/libhdf5_serial.so.10
/usr/lib/x86_64-linux-gnu/libhdf5_serialhl_fortran.so.10.0.2
/usr/lib/x86_64-linux-gnu/libhdf5_serialhl_fortran.so
/usr/lib/x86_64-linux-gnu/libhdf5_serial_fortran.so
/usr/lib/x86_64-linux-gnu/libhdf5_serial.so
/usr/lib/x86_64-linux-gnu/libhdf5_hl_cpp.so.11.0.0
/usr/lib/x86_64-linux-gnu/libhdf5_serial.so.10.1.0
/usr/lib/x86_64-linux-gnu/libhdf5_hl_cpp.so
/usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so
/usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.a
/usr/lib/x86_64-linux-gnu/libhdf5_serial_fortran.so.10.0.2
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5hl_fortran.so
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_fortran.so
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5hl_fortran.a
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_hl_cpp.a
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_cpp.so
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.settings
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_fortran.a
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.a
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_hl.so
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_hl_cpp.so
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_hl.a
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_cpp.a
/usr/lib/x86_64-linux-gnu/libhdf5_serialhl_fortran.a
/usr/lib/x86_64-linux-gnu/libhdf5_cpp.a
/usr/lib/x86_64-linux-gnu/libhdf5_serialhl_fortran.so.10
/usr/lib/x86_64-linux-gnu/libhdf5_serial.a
/usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.10
/usr/share/doc/libhdf5-cpp-11
/usr/share/doc/libhdf5-10
/usr/share/doc/libhdf5-dev
/usr/share/doc/libhdf5-serial-dev
/usr/share/lintian/overrides/libhdf5-cpp-11
/usr/share/lintian/overrides/libhdf5-10
/usr/share/lintian/overrides/libhdf5-dev

$ cd /usr/lib/x86_64-linux-gnu

$ ls -l | grep hdf5
drwxr-xr-x 3 root root 4096 Jan 29 15:34 hdf5
-rw-r--r-- 1 root root 6075302 Apr 6 2016 libhdf5_cpp.a
lrwxrwxrwx 1 root root 21 Apr 6 2016 libhdf5_cpp.so -> libhdf5_cpp.so.11.0.0
lrwxrwxrwx 1 root root 21 Apr 6 2016 libhdf5_cpp.so.11 -> libhdf5_cpp.so.11.0.0
-rw-r--r-- 1 root root 402080 Apr 6 2016 libhdf5_cpp.so.11.0.0
-rw-r--r-- 1 root root 40108 Apr 6 2016 libhdf5_hl_cpp.a
lrwxrwxrwx 1 root root 24 Apr 6 2016 libhdf5_hl_cpp.so -> libhdf5_hl_cpp.so.11.0.0
lrwxrwxrwx 1 root root 24 Apr 6 2016 libhdf5_hl_cpp.so.11 -> libhdf5_hl_cpp.so.11.0.0
-rw-r--r-- 1 root root 14688 Apr 6 2016 libhdf5_hl_cpp.so.11.0.0
-rw-r--r-- 1 root root 19953086 Apr 6 2016 libhdf5_serial.a
-rw-r--r-- 1 root root 1659560 Apr 6 2016 libhdf5_serial_fortran.a
lrwxrwxrwx 1 root root 32 Apr 6 2016 libhdf5_serial_fortran.so -> libhdf5_serial_fortran.so.10.0.2
lrwxrwxrwx 1 root root 32 Apr 6 2016 libhdf5_serial_fortran.so.10 -> libhdf5_serial_fortran.so.10.0.2
-rw-r--r-- 1 root root 238408 Apr 6 2016 libhdf5_serial_fortran.so.10.0.2
-rw-r--r-- 1 root root 878832 Apr 6 2016 libhdf5_serial_hl.a
-rw-r--r-- 1 root root 515320 Apr 6 2016 libhdf5_serialhl_fortran.a
lrwxrwxrwx 1 root root 34 Apr 6 2016 libhdf5_serialhl_fortran.so -> libhdf5_serialhl_fortran.so.10.0.2
lrwxrwxrwx 1 root root 34 Apr 6 2016 libhdf5_serialhl_fortran.so.10 -> libhdf5_serialhl_fortran.so.10.0.2
-rw-r--r-- 1 root root 80520 Apr 6 2016 libhdf5_serialhl_fortran.so.10.0.2
lrwxrwxrwx 1 root root 27 Apr 6 2016 libhdf5_serial_hl.so -> libhdf5_serial_hl.so.10.0.2
lrwxrwxrwx 1 root root 27 Apr 6 2016 libhdf5_serial_hl.so.10 -> libhdf5_serial_hl.so.10.0.2
-rw-r--r-- 1 root root 126232 Apr 6 2016 libhdf5_serial_hl.so.10.0.2
-rw-r--r-- 1 root root 3859 Apr 6 2016 libhdf5_serial.settings
lrwxrwxrwx 1 root root 24 Apr 6 2016 libhdf5_serial.so -> libhdf5_serial.so.10.1.0
lrwxrwxrwx 1 root root 24 Apr 6 2016 libhdf5_serial.so.10 -> libhdf5_serial.so.10.1.0
-rw-r--r-- 1 root root 2734288 Apr 6 2016 libhdf5_serial.so.10.1.0

$ sudo ln -s libhdf5_serial.so.10.1.0 libhdf5.so

$ sudo ln -s libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so

$ ls -l | grep hdf5
drwxr-xr-x 3 root root 4096 Jan 29 15:34 hdf5
-rw-r--r-- 1 root root 6075302 Apr 6 2016 libhdf5_cpp.a
lrwxrwxrwx 1 root root 21 Apr 6 2016 libhdf5_cpp.so -> libhdf5_cpp.so.11.0.0
lrwxrwxrwx 1 root root 21 Apr 6 2016 libhdf5_cpp.so.11 -> libhdf5_cpp.so.11.0.0
-rw-r--r-- 1 root root 402080 Apr 6 2016 libhdf5_cpp.so.11.0.0
-rw-r--r-- 1 root root 40108 Apr 6 2016 libhdf5_hl_cpp.a
lrwxrwxrwx 1 root root 24 Apr 6 2016 libhdf5_hl_cpp.so -> libhdf5_hl_cpp.so.11.0.0
lrwxrwxrwx 1 root root 24 Apr 6 2016 libhdf5_hl_cpp.so.11 -> libhdf5_hl_cpp.so.11.0.0
-rw-r--r-- 1 root root 14688 Apr 6 2016 libhdf5_hl_cpp.so.11.0.0
lrwxrwxrwx 1 root root 27 Jan 29 23:11 libhdf5_hl.so -> libhdf5_serial_hl.so.10.0.2
-rw-r--r-- 1 root root 19953086 Apr 6 2016 libhdf5_serial.a
-rw-r--r-- 1 root root 1659560 Apr 6 2016 libhdf5_serial_fortran.a
lrwxrwxrwx 1 root root 32 Apr 6 2016 libhdf5_serial_fortran.so -> libhdf5_serial_fortran.so.10.0.2
lrwxrwxrwx 1 root root 32 Apr 6 2016 libhdf5_serial_fortran.so.10 -> libhdf5_serial_fortran.so.10.0.2
-rw-r--r-- 1 root root 238408 Apr 6 2016 libhdf5_serial_fortran.so.10.0.2
-rw-r--r-- 1 root root 878832 Apr 6 2016 libhdf5_serial_hl.a
-rw-r--r-- 1 root root 515320 Apr 6 2016 libhdf5_serialhl_fortran.a
lrwxrwxrwx 1 root root 34 Apr 6 2016 libhdf5_serialhl_fortran.so -> libhdf5_serialhl_fortran.so.10.0.2
lrwxrwxrwx 1 root root 34 Apr 6 2016 libhdf5_serialhl_fortran.so.10 -> libhdf5_serialhl_fortran.so.10.0.2
-rw-r--r-- 1 root root 80520 Apr 6 2016 libhdf5_serialhl_fortran.so.10.0.2
lrwxrwxrwx 1 root root 27 Apr 6 2016 libhdf5_serial_hl.so -> libhdf5_serial_hl.so.10.0.2
lrwxrwxrwx 1 root root 27 Apr 6 2016 libhdf5_serial_hl.so.10 -> libhdf5_serial_hl.so.10.0.2
-rw-r--r-- 1 root root 126232 Apr 6 2016 libhdf5_serial_hl.so.10.0.2
-rw-r--r-- 1 root root 3859 Apr 6 2016 libhdf5_serial.settings
lrwxrwxrwx 1 root root 24 Apr 6 2016 libhdf5_serial.so -> libhdf5_serial.so.10.1.0
lrwxrwxrwx 1 root root 24 Apr 6 2016 libhdf5_serial.so.10 -> libhdf5_serial.so.10.1.0
-rw-r--r-- 1 root root 2734288 Apr 6 2016 libhdf5_serial.so.10.1.0
lrwxrwxrwx 1 root root 24 Jan 29 23:11 libhdf5.so -> libhdf5_serial.so.10.1.0

Finally, make completes with no errors:

$ make all -j8
PROTOC src/caffe/proto/caffe.proto
CXX src/caffe/data_reader.cpp
CXX src/caffe/syncedmem.cpp
CXX src/caffe/data_transformer.cpp
CXX src/caffe/common.cpp
CXX src/caffe/solver.cpp
CXX src/caffe/parallel.cpp
CXX src/caffe/blob.cpp
CXX src/caffe/layers/euclidean_loss_layer.cpp
CXX src/caffe/layers/cudnn_conv_layer.cpp
CXX src/caffe/layers/cudnn_tanh_layer.cpp
CXX src/caffe/layers/multinomial_logistic_loss_layer.cpp
CXX src/caffe/layers/tanh_layer.cpp
CXX src/caffe/layers/contrastive_loss_layer.cpp
CXX src/caffe/layers/lrn_layer.cpp
CXX src/caffe/layers/dropout_layer.cpp
CXX src/caffe/layers/slice_layer.cpp
CXX src/caffe/layers/parameter_layer.cpp
CXX src/caffe/layers/input_layer.cpp
CXX src/caffe/layers/power_layer.cpp
CXX src/caffe/layers/flatten_layer.cpp
CXX src/caffe/layers/deconv_layer.cpp
CXX src/caffe/layers/silence_layer.cpp
CXX src/caffe/layers/recurrent_layer.cpp
CXX src/caffe/layers/softmax_loss_layer.cpp
CXX src/caffe/layers/lstm_unit_layer.cpp
CXX src/caffe/layers/mvn_layer.cpp
CXX src/caffe/layers/base_conv_layer.cpp
CXX src/caffe/layers/bias_layer.cpp
CXX src/caffe/layers/tile_layer.cpp
CXX src/caffe/layers/batch_norm_layer.cpp
CXX src/caffe/layers/exp_layer.cpp
CXX src/caffe/layers/concat_layer.cpp
CXX src/caffe/layers/argmax_layer.cpp
CXX src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp
CXX src/caffe/layers/hinge_loss_layer.cpp
CXX src/caffe/layers/reshape_layer.cpp
CXX src/caffe/layers/cudnn_softmax_layer.cpp
CXX src/caffe/layers/window_data_layer.cpp
CXX src/caffe/layers/split_layer.cpp
CXX src/caffe/layers/cudnn_lrn_layer.cpp
CXX src/caffe/layers/eltwise_layer.cpp
CXX src/caffe/layers/scale_layer.cpp
CXX src/caffe/layers/relu_layer.cpp
CXX src/caffe/layers/cudnn_sigmoid_layer.cpp
CXX src/caffe/layers/inner_product_layer.cpp
CXX src/caffe/layers/hdf5_output_layer.cpp
CXX src/caffe/layers/softmax_layer.cpp
CXX src/caffe/layers/neuron_layer.cpp
CXX src/caffe/layers/hdf5_data_layer.cpp
CXX src/caffe/layers/filter_layer.cpp
CXX src/caffe/layers/rnn_layer.cpp
CXX src/caffe/layers/data_layer.cpp
CXX src/caffe/layers/batch_reindex_layer.cpp
CXX src/caffe/layers/bnll_layer.cpp
CXX src/caffe/layers/lstm_layer.cpp
CXX src/caffe/layers/image_data_layer.cpp
CXX src/caffe/layers/absval_layer.cpp
CXX src/caffe/layers/im2col_layer.cpp
CXX src/caffe/layers/accuracy_layer.cpp
CXX src/caffe/layers/sigmoid_layer.cpp
CXX src/caffe/layers/elu_layer.cpp
CXX src/caffe/layers/log_layer.cpp
CXX src/caffe/layers/cudnn_lcn_layer.cpp
CXX src/caffe/layers/memory_data_layer.cpp
CXX src/caffe/layers/pooling_layer.cpp
CXX src/caffe/layers/conv_layer.cpp
CXX src/caffe/layers/dummy_data_layer.cpp
CXX src/caffe/layers/threshold_layer.cpp
CXX src/caffe/layers/crop_layer.cpp
CXX src/caffe/layers/base_data_layer.cpp
CXX src/caffe/layers/prelu_layer.cpp
CXX src/caffe/layers/spp_layer.cpp
CXX src/caffe/layers/loss_layer.cpp
CXX src/caffe/layers/cudnn_relu_layer.cpp
CXX src/caffe/layers/reduction_layer.cpp
CXX src/caffe/layers/cudnn_pooling_layer.cpp
CXX src/caffe/layers/infogain_loss_layer.cpp
CXX src/caffe/layers/embed_layer.cpp
CXX src/caffe/solvers/sgd_solver.cpp
CXX src/caffe/solvers/adadelta_solver.cpp
CXX src/caffe/solvers/nesterov_solver.cpp
CXX src/caffe/solvers/rmsprop_solver.cpp
CXX src/caffe/solvers/adam_solver.cpp
CXX src/caffe/solvers/adagrad_solver.cpp
CXX src/caffe/util/upgrade_proto.cpp
CXX src/caffe/util/im2col.cpp
CXX src/caffe/util/db_lmdb.cpp
CXX src/caffe/util/hdf5.cpp
CXX src/caffe/util/benchmark.cpp
CXX src/caffe/util/blocking_queue.cpp
CXX src/caffe/util/db_leveldb.cpp
CXX src/caffe/util/cudnn.cpp
CXX src/caffe/util/db.cpp
CXX src/caffe/util/insert_splits.cpp
CXX src/caffe/util/io.cpp
CXX src/caffe/util/signal_handler.cpp
CXX src/caffe/util/math_functions.cpp
CXX src/caffe/layer_factory.cpp
CXX src/caffe/layer.cpp
CXX src/caffe/net.cpp
CXX src/caffe/internal_thread.cpp
NVCC src/caffe/layers/exp_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/pooling_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/euclidean_loss_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/concat_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/tile_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/cudnn_softmax_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/hdf5_output_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/absval_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/recurrent_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/cudnn_lrn_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/inner_product_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/deconv_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/filter_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/power_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/mvn_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/lstm_unit_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/dropout_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/cudnn_sigmoid_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/softmax_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/cudnn_tanh_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/reduction_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/silence_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/threshold_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/base_data_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/prelu_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/relu_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/hdf5_data_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/batch_norm_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/elu_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/cudnn_lcn_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/softmax_loss_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/cudnn_conv_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/bias_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/contrastive_loss_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/im2col_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/slice_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/eltwise_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/bnll_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/embed_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/cudnn_pooling_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/tanh_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/batch_reindex_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/sigmoid_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/split_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/cudnn_relu_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/scale_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/lrn_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/crop_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/log_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/layers/conv_layer.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/solvers/rmsprop_solver.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/solvers/nesterov_solver.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/solvers/adadelta_solver.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/solvers/adagrad_solver.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/solvers/sgd_solver.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/solvers/adam_solver.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/util/im2col.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
NVCC src/caffe/util/math_functions.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
CXX tools/train_net.cpp
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
CXX tools/compute_image_mean.cpp
CXX tools/upgrade_net_proto_binary.cpp
CXX tools/test_net.cpp
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
CXX tools/extract_features.cpp
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
CXX tools/upgrade_solver_proto_text.cpp
CXX tools/net_speed_benchmark.cpp
CXX tools/device_query.cpp
CXX tools/convert_imageset.cpp
CXX tools/caffe.cpp
CXX tools/finetune_net.cpp
CXX tools/upgrade_net_proto_text.cpp
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
CXX examples/siamese/convert_mnist_siamese_data.cpp
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
CXX examples/mnist/convert_mnist_data.cpp
CXX examples/cpp_classification/classification.cpp
CXX examples/cifar10/convert_cifar_data.cpp
CXX .build_release/src/caffe/proto/caffe.pb.cc
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0-rc3
CXX/LD -o .build_release/tools/train_net.bin
CXX/LD -o .build_release/tools/compute_image_mean.bin
CXX/LD -o .build_release/tools/upgrade_net_proto_binary.bin
CXX/LD -o .build_release/tools/test_net.bin
CXX/LD -o .build_release/tools/upgrade_solver_proto_text.bin
CXX/LD -o .build_release/tools/net_speed_benchmark.bin
CXX/LD -o .build_release/tools/device_query.bin
CXX/LD -o .build_release/tools/extract_features.bin
CXX/LD -o .build_release/tools/convert_imageset.bin
CXX/LD -o .build_release/tools/caffe.bin
CXX/LD -o .build_release/tools/finetune_net.bin
CXX/LD -o .build_release/tools/upgrade_net_proto_text.bin
CXX/LD -o .build_release/examples/siamese/convert_mnist_siamese_data.bin
CXX/LD -o .build_release/examples/mnist/convert_mnist_data.bin
CXX/LD -o .build_release/examples/cifar10/convert_cifar_data.bin
CXX/LD -o .build_release/examples/cpp_classification/classification.bin

Let's compile tests:

$ make test
CXX src/caffe/test/test_hinge_loss_layer.cpp
CXX src/caffe/test/test_inner_product_layer.cpp
CXX src/caffe/test/test_slice_layer.cpp
CXX src/caffe/test/test_scale_layer.cpp
CXX src/caffe/test/test_threshold_layer.cpp
CXX src/caffe/test/test_gradient_based_solver.cpp
CXX src/caffe/test/test_accuracy_layer.cpp
CXX src/caffe/test/test_data_transformer.cpp
CXX src/caffe/test/test_softmax_with_loss_layer.cpp
CXX src/caffe/test/test_deconvolution_layer.cpp
CXX src/caffe/test/test_convolution_layer.cpp
CXX src/caffe/test/test_internal_thread.cpp
CXX src/caffe/test/test_maxpool_dropout_layers.cpp
CXX src/caffe/test/test_power_layer.cpp
CXX src/caffe/test/test_infogain_loss_layer.cpp
CXX src/caffe/test/test_protobuf.cpp
CXX src/caffe/test/test_concat_layer.cpp
CXX src/caffe/test/test_dummy_data_layer.cpp
CXX src/caffe/test/test_filler.cpp
CXX src/caffe/test/test_mvn_layer.cpp
CXX src/caffe/test/test_image_data_layer.cpp
CXX src/caffe/test/test_math_functions.cpp
CXX src/caffe/test/test_syncedmem.cpp
CXX src/caffe/test/test_benchmark.cpp
CXX src/caffe/test/test_io.cpp
CXX src/caffe/test/test_hdf5_output_layer.cpp
CXX src/caffe/test/test_eltwise_layer.cpp
CXX src/caffe/test/test_memory_data_layer.cpp
CXX src/caffe/test/test_filter_layer.cpp
CXX src/caffe/test/test_solver.cpp
CXX src/caffe/test/test_tile_layer.cpp
CXX src/caffe/test/test_lstm_layer.cpp
CXX src/caffe/test/test_spp_layer.cpp
CXX src/caffe/test/test_util_blas.cpp
CXX src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp
CXX src/caffe/test/test_pooling_layer.cpp
CXX src/caffe/test/test_net.cpp
CXX src/caffe/test/test_hdf5data_layer.cpp
CXX src/caffe/test/test_platform.cpp
CXX src/caffe/test/test_softmax_layer.cpp
CXX src/caffe/test/test_layer_factory.cpp
CXX src/caffe/test/test_rnn_layer.cpp
CXX src/caffe/test/test_upgrade_proto.cpp
CXX src/caffe/test/test_contrastive_loss_layer.cpp
CXX src/caffe/test/test_solver_factory.cpp
CXX src/caffe/test/test_im2col_layer.cpp
CXX src/caffe/test/test_stochastic_pooling.cpp
CXX src/caffe/test/test_db.cpp
CXX src/caffe/test/test_neuron_layer.cpp
CXX src/caffe/test/test_euclidean_loss_layer.cpp
CXX src/caffe/test/test_random_number_generator.cpp
CXX src/caffe/test/test_tanh_layer.cpp
CXX src/caffe/test/test_multinomial_logistic_loss_layer.cpp
CXX src/caffe/test/test_bias_layer.cpp
CXX src/caffe/test/test_flatten_layer.cpp
CXX src/caffe/test/test_data_layer.cpp
CXX src/caffe/test/test_argmax_layer.cpp
CXX src/caffe/test/test_reshape_layer.cpp
CXX src/caffe/test/test_split_layer.cpp
CXX src/caffe/test/test_blob.cpp
CXX src/caffe/test/test_common.cpp
CXX src/caffe/test/test_batch_norm_layer.cpp
CXX src/caffe/test/test_embed_layer.cpp
CXX src/caffe/test/test_lrn_layer.cpp
CXX src/caffe/test/test_batch_reindex_layer.cpp
CXX src/caffe/test/test_reduction_layer.cpp
CXX src/caffe/test/test_crop_layer.cpp
NVCC src/caffe/test/test_im2col_kernel.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
CXX src/gtest/gtest-all.cpp
CXX/LD -o .build_release/test/test_all.testbin src/caffe/test/test_caffe_main.cpp
LD .build_release/src/caffe/test/test_hinge_loss_layer.o
LD .build_release/src/caffe/test/test_inner_product_layer.o
LD .build_release/src/caffe/test/test_slice_layer.o
LD .build_release/src/caffe/test/test_scale_layer.o
LD .build_release/src/caffe/test/test_threshold_layer.o
LD .build_release/src/caffe/test/test_gradient_based_solver.o
LD .build_release/src/caffe/test/test_accuracy_layer.o
LD .build_release/src/caffe/test/test_data_transformer.o
LD .build_release/src/caffe/test/test_softmax_with_loss_layer.o
LD .build_release/src/caffe/test/test_deconvolution_layer.o
LD .build_release/src/caffe/test/test_convolution_layer.o
LD .build_release/src/caffe/test/test_internal_thread.o
LD .build_release/src/caffe/test/test_maxpool_dropout_layers.o
LD .build_release/src/caffe/test/test_power_layer.o
LD .build_release/src/caffe/test/test_infogain_loss_layer.o
LD .build_release/src/caffe/test/test_protobuf.o
LD .build_release/src/caffe/test/test_concat_layer.o
LD .build_release/src/caffe/test/test_dummy_data_layer.o
LD .build_release/src/caffe/test/test_filler.o
LD .build_release/src/caffe/test/test_mvn_layer.o
LD .build_release/src/caffe/test/test_image_data_layer.o
LD .build_release/src/caffe/test/test_math_functions.o
LD .build_release/src/caffe/test/test_syncedmem.o
LD .build_release/src/caffe/test/test_benchmark.o
LD .build_release/src/caffe/test/test_io.o
LD .build_release/src/caffe/test/test_hdf5_output_layer.o
LD .build_release/src/caffe/test/test_eltwise_layer.o
LD .build_release/src/caffe/test/test_memory_data_layer.o
LD .build_release/src/caffe/test/test_filter_layer.o
LD .build_release/src/caffe/test/test_solver.o
LD .build_release/src/caffe/test/test_tile_layer.o
LD .build_release/src/caffe/test/test_lstm_layer.o
LD .build_release/src/caffe/test/test_spp_layer.o
LD .build_release/src/caffe/test/test_util_blas.o
LD .build_release/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.o
LD .build_release/src/caffe/test/test_pooling_layer.o
LD .build_release/src/caffe/test/test_net.o
LD .build_release/src/caffe/test/test_hdf5data_layer.o
LD .build_release/src/caffe/test/test_platform.o
LD .build_release/src/caffe/test/test_softmax_layer.o
LD .build_release/src/caffe/test/test_layer_factory.o
LD .build_release/src/caffe/test/test_rnn_layer.o
LD .build_release/src/caffe/test/test_upgrade_proto.o
LD .build_release/src/caffe/test/test_contrastive_loss_layer.o
LD .build_release/src/caffe/test/test_solver_factory.o
LD .build_release/src/caffe/test/test_im2col_layer.o
LD .build_release/src/caffe/test/test_stochastic_pooling.o
LD .build_release/src/caffe/test/test_db.o
LD .build_release/src/caffe/test/test_neuron_layer.o
LD .build_release/src/caffe/test/test_euclidean_loss_layer.o
LD .build_release/src/caffe/test/test_random_number_generator.o
LD .build_release/src/caffe/test/test_tanh_layer.o
LD .build_release/src/caffe/test/test_multinomial_logistic_loss_layer.o
LD .build_release/src/caffe/test/test_bias_layer.o
LD .build_release/src/caffe/test/test_flatten_layer.o
LD .build_release/src/caffe/test/test_data_layer.o
LD .build_release/src/caffe/test/test_argmax_layer.o
LD .build_release/src/caffe/test/test_reshape_layer.o
LD .build_release/src/caffe/test/test_split_layer.o
LD .build_release/src/caffe/test/test_blob.o
LD .build_release/src/caffe/test/test_common.o
LD .build_release/src/caffe/test/test_batch_norm_layer.o
LD .build_release/src/caffe/test/test_embed_layer.o
LD .build_release/src/caffe/test/test_lrn_layer.o
LD .build_release/src/caffe/test/test_batch_reindex_layer.o
LD .build_release/src/caffe/test/test_reduction_layer.o
LD .build_release/src/caffe/test/test_crop_layer.o
LD .build_release/cuda/src/caffe/test/test_im2col_kernel.o

Let us now run tests:

$ make runtest
.build_release/tools/caffe
caffe: command line brew
usage: caffe

commands:
train train or finetune a model
test score a model
device_query show GPU diagnostic information
time benchmark model execution time

Flags from tools/caffe.cpp:
-gpu (Optional; run in GPU mode on given device IDs separated by ','.Use
'-gpu all' to run on all available GPUs. The effective training batch
size is multiplied by the number of devices.) type: string default: ""
-iterations (The number of iterations to run.) type: int32 default: 50
-level (Optional; network level.) type: int32 default: 0
-model (The model definition protocol buffer text file.) type: string
default: ""
-phase (Optional; network phase (TRAIN or TEST). Only used for 'time'.)
type: string default: ""
-sighup_effect (Optional; action to take when a SIGHUP signal is received:
snapshot, stop or none.) type: string default: "snapshot"
-sigint_effect (Optional; action to take when a SIGINT signal is received:
snapshot, stop or none.) type: string default: "stop"
-snapshot (Optional; the snapshot solver state to resume training.)
type: string default: ""
-solver (The solver definition protocol buffer text file.) type: string
default: ""
-stage (Optional; network stages (not to be confused with phase), separated
by ','.) type: string default: ""
-weights (Optional; the pretrained weights to initialize finetuning,
separated by ','. Cannot be set simultaneously with snapshot.)
type: string default: ""
.build_release/test/test_all.testbin 0 --gtest_shuffle
Cuda number of devices: 1
Setting to use device 0
Current device id: 0
Current device name: GeForce GT 640
Note: Randomizing tests' orders with a seed of 94463 .
[==========] Running 2085 tests from 277 test cases.
[----------] Global test environment set-up.
[----------] 11 tests from AdaDeltaSolverTest/2, where TypeParam = caffe::GPUDevice
[ RUN ] AdaDeltaSolverTest/2.TestAdaDeltaLeastSquaresUpdate
[ OK ] AdaDeltaSolverTest/2.TestAdaDeltaLeastSquaresUpdate (136 ms)
[ RUN ] AdaDeltaSolverTest/2.TestLeastSquaresUpdateWithEverythingAccumShare
[ OK ] AdaDeltaSolverTest/2.TestLeastSquaresUpdateWithEverythingAccumShare (39 ms)
[ RUN ] AdaDeltaSolverTest/2.TestAdaDeltaLeastSquaresUpdateWithWeightDecay
[ OK ] AdaDeltaSolverTest/2.TestAdaDeltaLeastSquaresUpdateWithWeightDecay (18 ms)
[ RUN ] AdaDeltaSolverTest/2.TestAdaDeltaLeastSquaresUpdateWithMomentum
[ OK ] AdaDeltaSolverTest/2.TestAdaDeltaLeastSquaresUpdateWithMomentum (33 ms)
[ RUN ] AdaDeltaSolverTest/2.TestLeastSquaresUpdateWithMomentumMultiIter
[ OK ] AdaDeltaSolverTest/2.TestLeastSquaresUpdateWithMomentumMultiIter (78 ms)
[ RUN ] AdaDeltaSolverTest/2.TestAdaDeltaLeastSquaresUpdateWithEverything
[ OK ] AdaDeltaSolverTest/2.TestAdaDeltaLeastSquaresUpdateWithEverything (73 ms)
[ RUN ] AdaDeltaSolverTest/2.TestAdaDeltaLeastSquaresUpdateWithEverythingShare
[ OK ] AdaDeltaSolverTest/2.TestAdaDeltaLeastSquaresUpdateWithEverythingShare (71 ms)
[ RUN ] AdaDeltaSolverTest/2.TestSnapshotShare
[ OK ] AdaDeltaSolverTest/2.TestSnapshotShare (56 ms)
[ RUN ] AdaDeltaSolverTest/2.TestAdaDeltaLeastSquaresUpdateWithHalfMomentum
[ OK ] AdaDeltaSolverTest/2.TestAdaDeltaLeastSquaresUpdateWithHalfMomentum (27 ms)
[ RUN ] AdaDeltaSolverTest/2.TestLeastSquaresUpdateWithEverythingAccum
[ OK ] AdaDeltaSolverTest/2.TestLeastSquaresUpdateWithEverythingAccum (7 ms)
[ RUN ] AdaDeltaSolverTest/2.TestSnapshot
[ OK ] AdaDeltaSolverTest/2.TestSnapshot (45 ms)
[----------] 11 tests from AdaDeltaSolverTest/2 (583 ms total)

[----------] 7 tests from CPUMathFunctionsTest/0, where TypeParam = float
[ RUN ] CPUMathFunctionsTest/0.TestScale
[ OK ] CPUMathFunctionsTest/0.TestScale (3 ms)
[ RUN ] CPUMathFunctionsTest/0.TestSgnbit
[ OK ] CPUMathFunctionsTest/0.TestSgnbit (2 ms)
[ RUN ] CPUMathFunctionsTest/0.TestAsum
[ OK ] CPUMathFunctionsTest/0.TestAsum (1 ms)
[ RUN ] CPUMathFunctionsTest/0.TestNothing
[ OK ] CPUMathFunctionsTest/0.TestNothing (2 ms)
[ RUN ] CPUMathFunctionsTest/0.TestCopy
[ OK ] CPUMathFunctionsTest/0.TestCopy (2 ms)
[ RUN ] CPUMathFunctionsTest/0.TestSign
[ OK ] CPUMathFunctionsTest/0.TestSign (2 ms)
[ RUN ] CPUMathFunctionsTest/0.TestFabs
[ OK ] CPUMathFunctionsTest/0.TestFabs (2 ms)
[----------] 7 tests from CPUMathFunctionsTest/0 (14 ms total)
...
...
...