Bag of ML Words

ML = Machine Learning, Music Love, and Miscellaneous things in daily Livings

Installing CUDA8+CUDNN5.1+Torch on CentOS7 (Japanese/English mixed post)

ほぼ真っ白なCentOSだとあまり情報がないので、自分用のメモもかねて忘れないうちに。

I found there are few posts about CUDA8 + GPU-enabled Torch on 'vanilla' CentOS. Hope this post helps somebody... 

基本ライブラリ群のインストール (Installing very basics)

sudo yum install emacs nano wget git gcc make cmake openssl-devel bzip2-devel readline sqlite-devel hdf5-devel

他にも何かいるかも。

Maybe I forget some libraries...

python

 pipはget-pip.pyを持ってくる

Get PIP by get-pip.py :-)

wget https://bootstrap.pypa.io/get-pip.py

python get-pip.py

pyenvをgit clone

Cloning the pyenv. I do not use virtualenv so far (I do not fully understand the benefit of virtualenv)

git clone https://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
source ~/.bash_profile 

 

pythonは今後も考えて3系で進めます。

Use python 3.X based on my personal preference. 

pyenv install 3.5.0

pyenv shell 3.5.0

pip install numpy

pip install scipy

pip install matplotlib

pip install pandas

  

CUDA, CUDNNインストール (Installing CUDA toolkit and CuDNN)

CUDAインストール

事前に、DKMSというライブラリを手動で確保する. Nouveauドライバをblacklistしないといけないかもしれません。ランタイムレベルは変えなくてもいけました。

Install a library called DKMS manually. Maybe you need to disable 'nouveau' drivers by blacklisting. 

wget ftp://rpmfind.net/linux/epel/7/x86_64/d/dkms-2.3-1.20161202gitde1dca9.el7.noarch.rpm

sudo rpm -ivh dkms-2.3-1.20161202gitde1dca9.el7.noarch.rpm

 

NVIDIAからインストールパッケージ(network)をダウンロードします。

Download the CUDA toolkit from the NVIDIA homepage. 

sudo rpm -ivh cuda-repo-rhel7-8.0.44-1.x86_64.rpm

sudo yum clean all

sudo yum install cuda

 

path設定 

Setting the PATHs. 

echo 'export PATH="/usr/local/cuda-8.0/bin:$PATH"' >> ~/.bashrc

echo 'export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"' >> ~/.bashrc

source ~/.bashrc 

 

CUDNNインストール

NVIDIAからユーザ登録してCUDNNのパッケージを確保。展開してコピーする。

You first need to register (for free) to utilize CuDNN. After that, get the tgz of the CuDNN. Extract and copy it to CUDA library directory. Easy. 

tar -xvzf cudnn-8.0-linux-x64-v5.1.tgz  

sudo cp -a cuda/lib64/* /usr/local/cuda/lib64/ 

sudo cp -a cuda/include/cudnn.h /usr/local/cuda/include/

 

Torch/Luaのインストール

あえてLUA (not LUAJIT)をインストール。

We install LUA, not LUAJIT. LUAJIT is memory-limited. 

git clone https://github.com/torch/distro.git ~/torch --recursive

cd torch/

bash install-deps   

TORCH_LUA_VERSION=LUA52 ./install.sh   

 

 

必要なモジュール群をインストール. 

Install modules by luarocks. Order matters. 

luarocks install image

luarocks install tds

luarock install cwrap

luarock install torch

luarock install optim

luarocks install nn

luarocks install nngraph

luarocks install cutorch

luarocks install cunn

luarocks install cudnn

luarocks install hdf5

luarocks install luautf8

luarocks install threads

luarocks install penlight

luarocks install bit32

 これでTorchでDeepぶん回せますね!

Now you are ready to rock with Deep NN on Torch!!