Snippets

Nathan Jacobs Caffe on Osprey

Created by Nathan Jacobs last modified

LIB_BASE := /u/amo-d0/projects/caffe_lib

## 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

# 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-7.0
# On Ubuntu 14.04, if cuda tools are installed via
# "sudo apt-get install nvidia-cuda-toolkit" then use this instead:
# CUDA_DIR := /usr

# 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

# 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
MATLAB_DIR := /u/osp-d1/matlab2014a

# 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 \

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

# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /u/amo-d0/projects/caffe_lib/lib

INCLUDE_DIRS += $(LIB_BASE)/include
LIBRARY_DIRS += $(LIB_BASE)/lib

LIBRARY_DIRS += $(ANACONDA_HOME)/lib

INCLUDE_DIRS += $(ANACONDA_HOME)/include/python2.7
INCLUDE_DIRS += $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include

# 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

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 := 1

# enable pretty build (comment to see full commands)
Q ?= @
CAFFE_DIST=/u/amo-d0/csfac/jacobs/software/caffe
ANACONDA_HOME=/u/amo-d0/csfac/jacobs/anaconda
LIB_BASE=/u/amo-d0/projects/caffe_lib

LD_LIBRARY_PATH+=:/usr/local/cuda-7.0
LD_LIBRARY_PATH+=:/usr/local/cuda-7.0/lib64
LD_LIBRARY_PATH+=:/lib/x86_64-linux-gnu
LD_LIBRARY_PATH+=:$LIB_BASE/lib
LD_LIBRARY_PATH+=:$CAFFE_DIST/lib
LD_LIBRARY_PATH+=:$ANACONDA_HOME/lib

export LD_LIBRARY_PATH
export PYTHONPATH=${PYTHON_PATH}:$CAFFE_DIST/python
NOTE: Until we get CUDA 7 access on our standard lab machines, this will only run from Osprey.

- create a new repo on bitbucket
- clone down the empty repo
- git remote add bvlc https://github.com/BVLC/caffe.git
- git pull bvlc master
- git push -u origin master
- copy attached Makefile.config and setup_paths.sh into root of repository
- update ANACONDA_HOME in Makefile.config
- update CAFFE_DIST and ANACONDA_HOME in setup_paths.sh

From Osprey:
- source setup_paths.sh (if not in your .bashrc)
- make dist -j 20 
- make matcaffe

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.