LoginSignup
7
6

More than 5 years have passed since last update.

Ubuntu16.04LTSにCUDA7.5とcuDNNとCaffeをインストール

Last updated at Posted at 2016-05-06

CUDAのインストール

まずは「ソフトウェアとアップデート」の「追加のドライバー」からNVIDIAのドライバをインストールする.
バージョンが分かっていれば自分で,

sudo apt-get install nvidia-361

とかやってもOK.

NVIDIAのサイトには16.04版はまだ無かったので,今回はパッケージからインストール

sudo apt-get install nvidia-cuda-toolkit

cuDNNのインストール

NVIDIAのサイト(https://developer.nvidia.com)からcuDNNをダウンロード.
ダウンロードするためには開発ユーザ登録が必要です.登録が完了するまでに1,2日かかります.

ダウンロードしてきたcudnn-7.0-linux-x64-v4.0-prod.tarを展開して,include/cudnn.hを/usr/includeの下にシンボリックリンク.同様にlib64/以下のファイルも/usr/libの下にシンボリックリンク.
(コピーするとあとで入れ直すときに面倒なので,シンボリックリンクにしておきました.)

cd ~
tar xf cudnn-7.0-linux-x64-v4.0-prod.tar
cd /usr/include ; sudo ln -s ~/cuda/include/cudnn.h .
cd /usr/lib ; sudo ln -s ~/cuda/lib64/* .

caffeのソースコードのダウンロード

sudo apt-get install git
mkdir tmp; cd tmp
git clone https://github.com/BVLC/caffe.git

必要なパッケージの取得

~/tmp/caffe/docs/install_apt.mdに色々書いてあるので基本的にはそれを守っていれば大丈夫

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

pycaffe用

cd ~/tmp/caffe/python
for req in $(cat requirements.txt) ; do pip install $req ; done

CMakeLists.txtの修正

このままmakeするとmemcpy関係でコンパイルエラーが出るので,~/tmp/caffe/CMakeLists.txtを編集.
ファイル内の
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall")
を,
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FORCE_INLINES -fPIC -Wall")
と変更する.

make

cd ~/tmp/caffe
mkdir build; cd build
cmake -D CMAKE_INSTLL_PREFIX=適当な場所 ..
make -j
make runtest
make install

PATHとか

~/.bashrcあたりに以下を追記しておきます.

~/.bashrc
export CAFFE_HOME=caffeをインストールした場所
export PATH=${CAFFE_HOME}/bin:${PATH}
export LD_LIBRARY_PATH=${CAFFE_HOME}/lib:${LD_LIBRARY_PATH}
export PYTHONPATH=${CAFFE_HOME}/python:${PYTHONPATH}

追記後はsource ~/.bashrc を忘れずに.

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6