DELL NEW XPS 15(9550) でディープラーニング環境を構築する(GUIもdGPU編)
最近手に入れてUbuntu16.04をインストールしたことで、一挙にメイン開発マシンに昇格したDELL NEW XPS 15(9550)で、ディープラーニング開発環境を構築してみました。本来は、ディスプレイ描画はIntelの内蔵GPUで、ディープラーニングだけGTX 960M(dGPU)で行いないのですが、Ubuntuではハードルが高そうなので、素直にオールdGPU環境を構築しました。
公開日: 2018.4.9
マシン詳細
- メーカー:DELL
- 機種:NEW XPS 15(9550)
- CPU:Intel Core i5 6300 HQ
- メモリ:16GB
- ストレージ:SSD 128GB
- GPU:NVIDIA GTX 960M
NVIDIAドライバのインストール
なにはともあれ、NVIDIAのドライバがないと動かないのでインストールします。NVIDIAのサイトからダウンロードする方法もありますが、aptで管理されていると便利なので、ppaレポジトリを追加してインストールしました。
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-390
SecureBootをオンにしてあると、途中でSecureBootをオフにするようにアラートがでるので、指示に従います。
nvidia-docker 2をインストール
直でGPUに計算させることも可能ですが、dockerコンテナで管理しておくと、CUDAバージョンの管理などが簡単なので、nvidia-dockerをインストールします。
ネット上ではver.1を使うべしという記事が多いですが、後々nvidia-docker ver.2に移行することになると思うので、今回はver.2をインストールしました。
nvidia-docker公式Githubに書いてあるとおり、レポジトリを追加すれば、他のアプリ同様apt installでインストールが可能です。
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
あとは普通にインストールします。
sudo apt-get install nvidia-docker2
NVIDIA runtimeの設定を反映させるための呪文を唱えます。
sudo pkill -SIGHUP dockerd
テストコンテナを起動します。単純にnvidia-smiを実行するだけのコンテナです。
sudo docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
対象のdocker imageをpullするのに時間がかかりますが、nvidia-smiの結果が返ってくればOKです。
Sun Apr 8 11:59:53 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48 Driver Version: 390.48 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 960M Off | 00000000:01:00.0 Off | N/A |
| N/A 44C P0 N/A / N/A | 284MiB / 2004MiB | 10% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
不具合
dGPUで画面描画をしていると、Firefoxのせいでシステム全体が激重になる
FirefoxだけGPUアクセラレーションがうまく効いてないようで、ChromeやVivladiなどの他のブラウザは問題ないのに、Firefoxを使っているとシステム全体が激重になります。
対処方法としては、Firefoxの設定で、「アクセラレーション機能」をオフにします。
一般>パフォーマンス>推奨のパフォーマンス設定を使用する
のチェックを外して、「ハードウェアアクセラレーション機能を使用する」の項目のチェックを外します。
こうすることで、Firefoxの描画が高速化されるだけでなく、システム全体も安定しました。
NVIDIAドライバとnvidia-dockerをインストールしただけですが、不具合があったりで結構時間を取られました。似たような環境で、お困りの方やポータブルなディープラーニング環境を構築したい方の、何かの参考になれば幸いです。