TAITAN XのChainerセットアップ

はじめに

UbuntuにTAITAN Xを載せた学習環境の構築メモ
何故かシステムが起動しなくなったりしたのでその辺の対処も含めて

環境

特筆すべきところだけ

  • OS
    Ubuntu 14.04.05 Server
  • GPU
    GPU TAITAN X(pascal)

インストール

OS インストール

特に問題なく終わる

NVIDIAドライバインストール

http://www.nvidia.co.jp/Download/index.aspx?lang=jp
公式サイトから適宜環境にあったドライバを選択する

  • 製品のタイプ
    GeForce
  • 製品シリーズ
    GeForce 10 series
  • 製品ファミリー
    NVIDIA TAITAN X (pascal)
  • オペレーティングシステム
    Linux 64bit
  • 言語
    日本語

検索 -> ダウンロードと進み同意ボタンが出て来る画面で同意ボタンのURLをコピーしておく
インストール先で

1# wget コピーURL

でインストーラーをダウンロードする

1# chmod +x NVIDIA-Linux-x86_64-xxx.xx.run
2# ./NVIDIA-Linux-x86_64-xxx.xx.run

あとは通常通りのインストールと同様
インストール終了後にnvidia-smiして確認する

 1# nvidia-smi
 2+-----------------------------------------------------------------------------+
 3| NVIDIA-SMI 375.26                 Driver Version: 375.26                    |
 4|-------------------------------+----------------------+----------------------+
 5| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
 6| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
 7|===============================+======================+======================|
 8|   0  TITAN X (Pascal)    Off  | 0000:01:00.0     Off |                  N/A |
 9| 23%   40C    P0    56W / 250W |      0MiB / 12189MiB |      0%      Default |
10+-------------------------------+----------------------+----------------------+
11
12+-----------------------------------------------------------------------------+
13| Processes:                                                       GPU Memory |
14|  GPU       PID  Type  Process name                               Usage      |
15|=============================================================================|
16|  No running processes found                                                 |
17+-----------------------------------------------------------------------------+

正しく認識されていることを確認した後 一度再起動して問題なく立ち上がることを確認する

CUDAインストール

前回の記事でも書いた様にver8以降でしか利用できないので8系をインストールする
Linux -> x86_64 -> Ubuntu -> 14.04 -> runfile(local)
を選択する
先程と同様にURLをコピーしてwgetしておく

1# wget URL
2# chmod +x cuda_x.x.xx_linux.run
3# ./ cuda_x.x.xx_linux.run

いくつかの質問の後インストールが行われる
回答は環境に合わせて適宜変更すれば良いがGraphic DriverのインストールはNoにする
インストール後サマリが表示されたらパスを通して完了
bashrc等に書いても良いがユーザーが増えた場合を考えると面倒なのでシステム側で通す

1# vi /etc/enviroment
2PATH="/usr/local/cuda/bin:元々のパス群"
3# nvcc -V
4バージョンが出れば終了

cudnnインストール

公式から落としてきてcp -a してインストール先に上書きコピーして終了

Chainerインストール

ここまで問題なく出来てればpip installするだけ

1# apt-get install python-dev python-pip
2# python -m pip install chainer --user
3# python
4>>> import chainer
5>>> chainer.cuda.get_device(0)
6<CUDA Device 0>
7>>> chainer.cuda.get_device(0).use()

して問題なければ終了
一応examplesとかも動かしてみて動作確認はした

エラー

Failed to apply ACL on /dev/dri/card1: No such file or directory

CUDAインストール時にGraphic Driverのインストールをしたところそこでフリーズしてリモートはおろかローカルからも触れなくなったのでシステムを落として再起動したところシステムの起動時のログに以下が大量に出て起動しなくなった

1Failed to apply ACL on /dev/dri/card1: No such file or directory
2...

GRUBでAdvance Modeからレスキューモードで起動
エラーログは出るが無視して5分程経つといつものリカバリメニューが出るので
fsckを実行した後にrootを選択してコンソール画面に移動し

1# dpkg -l | grep nvidia

して当該ドライバを探し

1# apt-get purge nvidia-xxx

削除した上でリブートする