他のブログでも幾つか紹介されているが、そのままやってもうまくいかなかったため、自分なりのインストール方法を記載する。
(参考サイト)
qiita.com
特にGCCのversion設定あたり、非常に参考になりました。
- ubuntuのインストール
- ドライバのインストール
- GPUドライバの設定
- GCC4.8系へ
- cudaのインストール
- GCC5系へ
- ドライバの再インストール
- cudnnのインストール
- chainerのインストール
- 動作確認
- cudaドライバのパッチ当て直し
- 動作確認(再び)
ubuntuのインストール
ubuntu16.04を以下よりダウンロード
Homepage | Ubuntu Japanese Team
windowsの別PCより、UNetbootinをダウンロードし、SDカードにubuntuを焼く。
UNetbootin, Universal Netboot Installer 日本語情報トップページ - OSDN
この際、スペースを2GB程度確保しておくと、USBブート時等に便利。
gtx1070の補助電源を抜き、HDMIケーブルをマザボに刺し、ubuntuをインストール。
(ubuntuのグラフィックドライバのバグで、gtx1070を挿した状態ではインストールできなかった)
ドライバのインストール
$ sudo add-apt-repository ppa:graphics-drivers/ppa $ sudo apt-get update;sudo apt-get upgrade $ sudo apt-get install nvidia-367 $ sudo apt-get install mesa-common-dev $ sudo apt-get install freeglut3-dev $ sudo apt-get install gcc-4.8 $ sudo apt-get install g++-4.8
GPUドライバの設定
https://developer.nvidia.com/cuda-toolkitからcuda_8.0.27_linux.runをダウンロードし、home直下にファイルを移動しておく。
以下のコマンドを打ち
$ gedit ~/.bashrc
一番下に以下の行を追加する
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} export CUDA_HOME=/usr/local/cuda
GCC4.8系へ
$ cd /usr/bin/ $ sudo unlink gcc $ sudo ln -s gcc-4.8 gcc $ sudo unlink g++ $ sudo ln -s g++-4.8 g++
シャットダウンして、GPUの補助電源を入れてGPU側にディスプレイケーブルをつなぎ替える。
cudaのインストール
PCを起動。
(ログインできない状態となるが、それで正常)
CTRL+ALT+F1を押してコンソール画面に行き、ユーザー名とパスワードを入れる。
$ sudo init 3 $ chmod 755 cuda_8.0.27_linux-run $ sudo sh ./cuda_8.0.27_linux-run
最初の文章部分はfを押して読み飛ばす。
基本accept or y を入力すれば良い。ディレクトリパスを入れるところはデフォルトをそのまま転記。
$ sudo reboot
再起動後、再びCTRL+ALT+F1を押してコンソール画面に行き、ユーザー名とパスワードを入れる。
GCC5系へ
$ cd /usr/bin/ $ sudo unlink gcc $ sudo ln -s gcc-5 gcc $ sudo unlink g++ $ sudo ln -s g++-5 g++
ドライバの再インストール
$ sudo apt-get install nvidia-367 --reinstall $ sudo reboot
これで無事ログインできるようになるはず。
cudnnのインストール
以下からcudnnをダウンロードし、ホームディレクトリに置く
NVIDIA cuDNN | NVIDIA Developer
$ tar xzf ~/cudnn-8.0-linux-x64-v5.1.tgz $ cd ./cuda $ sudo cp lib64/libcudnn* /usr/local/cuda/lib64/ $ sudo cp include/cudnn.h /usr/local/cuda/include
chainerのインストール
$ # pipのインストール $ sudo apt-get install python-pip $ # virtualenvのインストール $ sudo pip install virtualenv $ sudo pip install virtualenvwrapper $ # virtualenv環境の作成 $ mkdir ~/workspace $ mkdir ~/workspace/chainer $ virtualenv ~/workspace/chainer $ source ~/workspace/chainer/bin/activate $ # chainerのインストール (chainer)$ pip install chainer $ # 終了時は以下のコマンドで仮想環境から出る (chainer)$ deactivate
(おまけ)
以下のようにエイリアスを作成すると、virtualenvが使いやすくなるのでおすすめ。
www.robotech-note.com
動作確認
(chainer)$ wget https://github.com/pfnet/chainer/archive/v1.16.0.tar.gz (chainer)$ tar xzf v1.16.0.tar.gz (chainer)$ python chainer-1.16.0/examples/mnist/train_mnist.py --gpu 0
cudaドライバのパッチ当て直し
このままではgcc5系では動作しない模様。
cudaドライバとパッチを入れなおす。
#gccの切り替えをしなくとも、最初からこれでインストールすれば良い可能性もあり(未検証)
以下からパッチ1(cuda_8.0.27.1_linux.run)をダウンロード
CUDA Toolkit | NVIDIA Developer
cudaのインストールのとおりに、ctrl + alt + f1してログインし、
$ sudo init 3 $ sudo sh ./cuda_8.0.27_linux-run $ chmod 755 cuda_8.0.27.1_linux-run $ sudo sh ./cuda_8.0.27.1_linux-run $ sudo reboot
再起動後、ctrl + alt + f1としてドライバの再インストール
$ sudo apt-get install nvidia-367 --reinstall $ sudo reboot
動作確認(再び)
(chainer)$ wget https://github.com/pfnet/chainer/archive/v1.16.0.tar.gz (chainer)$ tar xzf v1.16.0.tar.gz (chainer)$ python chainer-1.16.0/examples/mnist/train_mnist.py --gpu 0
以下のような出力が出てこれば成功!!
長かった・・・。
16 0.00903648 0.115398 0.996749 0.9784 17 0.0130406 0.0909867 0.996165 0.9841 18 0.0102971 0.10062 0.997099 0.9835 19 0.00903177 0.0994182 0.997266 0.9818 20 0.00503516 0.114571 0.998382 0.9815