Ubuntu16.04でDigits5を動かす方法と、CUDA8とDigits5,nVidia Driver 378の組み合わせでDigitsは動いているように見えるのに、GPUが見えない!の対処法

nvidia-smiでは正しくGPUを認識しているはずなのに。。。。

nVidiaドライバのインストールも、CUDAのインストールも、Digitsのインストールもとても簡単になったもんだ。。。と鼻歌歌いながらインストールしてたら、なぜかDigitsからGPUが見えないという現象に陥る。

インストール自体はなんの問題もなく完了しているはずなのになぜだ。。。。

結論からいうと、「libcuda1-378」が入っていなかったから。

別の端末でセットアップして、その時には同じ現象が起こっていなかったので、大層不思議だったのだけど、インストールされているパッケージをチェックして発覚。

libcudaが入っていなかったら、そりゃ動かないわ。。。。

Digits5インストール手順振り返り

nVidiaドライバのインストール

nVidiaのサイトから、ドライバを検索して必要なバージョンをチェック。

nVidiaドライバダウンロード

下記コマンドでPPAを追加して、必要なドライバをインストール

sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt-get update

sudo apt-get install nvidia-378

一度再起動しておきます。

起動完了後に下記コマンドでドライバが動いているか確認。

nvidia-smi

CUDA8のインストール

nVidiaのサイトからOSなどの環境を選択してインストーラーを入手。

Ubuntuだったので、debファイルをダウンロードします。

CUDA Toolkit ダウンロード

ダウンロードサイトで指示された通りの手順でインストール

ネットワーク経由でのインストールをするdebファイルを選んだので、

下記のような感じ。

sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb

sudo apt-get update

sudo apt-get install cuda

一度再起動

起動完了後に下記コマンドでドライバが動いているか確認。

nvidia-smi

CUDAインストール後にnVidiaドライバのバージョンが変わっていたらドライバの再インストール

再インストールしなくても動くこともあると思うのだけど、公式にサポートしているとアナウンスされているものではないドライバが利用されると不具合が起こった時に悲しくなるので。。。

sudo apt-get install nvidia-378

Digits5のインストール

こちらは、経験上nVidiaのサイト上の情報でうまくいかなかったことがあったので、GitHubのドキュメントを参考にインストール。

書かれているコマンドをそのままコピペしていく感じです。

今回はUbuntu16.04なので、こんな感じに。

私の環境では。ML_REPOのインストール辺りでエラー吐いていたのだけど、一旦無視で。

ドライババージョンを気にする割に、大雑把。。。

# For Ubuntu 16.04

CUDA_REPO_PKG=http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb

ML_REPO_PKG=http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb

# Install repo packages

wget "$CUDA_REPO_PKG" -O /tmp/cuda-repo.deb && sudo dpkg -i /tmp/cuda-repo.deb && rm -f /tmp/cuda-repo.deb

wget "$ML_REPO_PKG" -O /tmp/ml-repo.deb && sudo dpkg -i /tmp/ml-repo.deb && rm -f /tmp/ml-repo.deb

# Download new list of packages

sudo apt-get update

# インストール

sudo apt-get install digits

一度再起動

再起動後にマシンのIPをブラウザで叩くか、マシンのLocalhostにアクセスすると、Digits5の画面が確認できるはず。

CUDA8とDigits5,nVidia Driver 378の組み合わせでDigitsは動いているように見えるのに、GPUが見えない!の対処法

もしこのような自体になったら、dpkg -l | grep cudaでCUDA関連でインストールされているパッケージをチェック。

libcuda1-378とか、ドライバーバージョンにあったパッケージが入ってなかったら、インストール。

sudo apt-get install libcuda1-378

以上