GPGPU用のマシンを手に入れました - まんぼう日記 のマシンのOSを入れかえて,CUDA等も更新しました.その結果,こういう環境になりました.
- OS: Ubuntu 16.04 LTS
- CUDA 7.5 & cuDNN 5.0RC
- Theano 0.8.2
というわけで,作業メモ.
- GPGPUマシンの更新(1) 〜 Ubuntu 16.04 をインストールして NVIDIA ドライバを入れる 〜 - まんぼう日記
- GPGPUマシンの更新(2) 〜 CUDA 7.5 と cuDNN 5.1RC - まんぼう日記
- GPGPUマシンの更新(3) 〜 Theano と Caffe のインストール - まんぼう日記
この(1)は,OSのインストールの話.それから,デフォルトのグラフィクスドライバではとんでもない状況になったので,NVIDIAのドライバをインストールする話も.
ちなみに,以前このマシンに Ubuntu 14.04 LTS を入れた時のメモが GPGPU用マシンに Ubuntu をインストールして Theano を使えるようにする - まんぼう日記 にあります.
目次
Ubuntu 16.04 LTS のインストールと設定
Homepage | Ubuntu Japanese Team から Ubuntu 16.04 LTS 日本語 Remix のISOイメージをダウンロードして DVD-R に焼きます.いまどき DVD-R かよってとこですが,こういう時に使わへんといっこうにストック減らへんからね.
で,ブート.その際,GRUB の画面で「↓」キーを押してほげほげ(具体的な手順をメモり忘れました…),nomodetest を有効にしてからインストールを開始します.対象マシンが NVIDIA のグラフィックスカードを使ってるためか,こうしないとうまく起動しません.ちなみに,後で /etc/default/grub を確認したら次のようになってました.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX="nomodeset"
インストールが完了し無事ディスクから起動したのでログインしてみたら,画面の描画がものすごく遅くて(端末内の文字さえも)なんじゃこりゃ状態.使いものになりません.たぶんグラフィックスドライバの問題やろなあとは思うものの,この状態のままドライバのインストール作業なんかやってられへんので,
$ sudo apt install openssh-server
して,あとは ssh 経由で.とりあえず
$ sudo apt update $ apt list --upgradable $ sudo apt upgrade
しときました.
NVIDIA のドライバのインストール
というわけで,NVIDIA のドライバを入れましょう.UbuntuにCUDAを入れようとしたらハマった - Qiita という記事によると,まずは nouveau ドライバを無効化すべし,ということのようです./etc/modprobe.d/blacklist-nouveau.conf
というファイルを作って以下の内容とします.
blacklist nouveau options nouveau modeset=0
この状態で再起動してみると,ウィンドウ移動時等のグラフィカルな効果がなくなってしょぼい感じになりましたが,描画が遅いのはそのまま.
さて,NVIDIA のドライバのインストールです. NVIDIAドライバダウンロード にお伺いをたててみると,対応してる最新バージョンは,Tesla K20 が 352.99, Quadro K620 が 367.35 やそうで….がんばって自分で 367.35 入れたらええんでしょうが,ここはひよって
$ apt search nvidia
して出てきた nvidia-XYZ って候補の中で一番近そうなんを選択.
$ sudo apt install nvidia-361
で,再起動したら,描画もまともになりました.
nvidia-smi コマンドの出力も,とりあえず問題なさそうです.
$ nvidia-smi Mon Aug 8 16:10:36 2016 +------------------------------------------------------+ | NVIDIA-SMI 361.42 Driver Version: 361.42 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Quadro K620 Off | 0000:05:00.0 On | N/A | | 34% 42C P8 1W / 30W | 227MiB / 2047MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 Tesla K20c Off | 0000:09:00.0 Off | 0 | | 30% 38C P8 17W / 225W | 13MiB / 4799MiB | 0% Default | +-------------------------------+----------------------+----------------------+
やれやれ.
おまけ
CTRLとCaps Lockの入れかえ
UbuntuTips/Desktop/HowToSetCapsLockAsCtrl - Ubuntu Japanese Wiki は
対象とするUbuntuのバージョンが 14.04 LTS となってますが,16.04 LTS でもこれでよいみたいです.問題なく入れかえできました.
「デスクトップ」等のディレクトリ名を英字に
デフォルトでは,ホームディレクトリに「デスクトップ」とか「ダウンロード」とかそういう日本語名のディレクトリが作られてとってもいやんな感じです.Ubuntuでホームディレクトリの中身を英語にする - Qiita の記事の通りに
$ LANG=C xdg-user-dirs-gtk-update
とやったら "Desktop" とか "Downloads" とかに変更することができました.ただし,再度ログインするとカレントのロケールで上記コマンドが再度実行されちゃうみたいで,日本語にするか尋ねるダイアログが出てきます.そこで「もう尋ねるな」と言ってやる必要があります.
Dropboxを使う
真面目に実験したりするんやから何かちゃんとしたファイル共有の仕組みを用意した方がええとは思いつつ,Dropbox で済ませることにします.Dropbox を Linux (CUI環境)で利用する [Tipsというかメモ] という記事を参考にしました.以下,Dropbox のアカウントは既に持ってると仮定してます.
まずは,https://www.dropbox.com/install?os=lnx から Ubuntu (.deb) 64-bit のパッケージをダウンロードしてインストールします(ファイルブラウザでダブルクリックでもok).
$ dpkg -i dropbox_2015.10.28_amd64.deb
これで,/usr/bin/dropbox
というコマンドが使えるようになります(実体は上記リンク先にある dropbox.py と同じみたい).
$ dropbox Dropbox command-line interface commands: Note: use dropbox help <command> to view usage for a specific command. status get current status of the dropboxd throttle set bandwidth limits for Dropbox help provide help puburl get public url of a file in your dropbox's public folder stop stop dropboxd running return whether dropbox is running start start dropboxd filestatus get current sync status of one or more files ls list directory contents with current sync status autostart automatically start dropbox at login exclude ignores/excludes a directory from syncing lansync enables or disables LAN sync sharelink get a shared link for a file in your dropbox proxy set proxy settings for Dropbox
で,
$ dropbox start -i
とすると,~/.dropbox-dist
を作って Dropbox のデーモン dropboxd をダウンロード&インストールしてくれます.その後,Dropbox の青いウィンドウが出てきて,サインインを促されます(もう一度 dropbox start
実行した時やったかも).その後は,勝手に ~/Dropbox
作って同期しはじめます.