c0d3man52

PC

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

参考:Repository configuration

あとは普通にインストールします。

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をインストールしただけですが、不具合があったりで結構時間を取られました。似たような環境で、お困りの方やポータブルなディープラーニング環境を構築したい方の、何かの参考になれば幸いです。

タグ