5
2

More than 1 year has passed since last update.

nvidia-smiでエラーが出る

Posted at

サーバー用PCにGPUを挿して計算機として運用する状況を想定した備忘録です。n番煎じ。
ディスプレイ周りはよくわかんない。

NVIDIA Driverのインストール方法

NVIDIA Dockerって今どうなってるの?(20.09版)という記事が非常に参考になります。あとは公式のcudaのマニュアルとか。

基本的にはCUDA Toolkitのwebページのコマンドからインストールすることが推奨されています。
aptからインストールするのは事故の元なので自分はやらないようにしています。
これはUbuntu18.04用のコマンド。

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda-drivers

サイトのスクリプトそのままだとcuda toolkitをインストールしますが、最後の行をcudaではなくcuda-driversに変更するとドライバーのみインストールすることができます。
minicondaやnvidia-docker2を使って深層学習をやるような人はcuda toolkitが必要ないので、こちらのほうが良いと思います。

再インストールする場合

1.既存のドライバーをパージします。

sudo apt purge nvidia-*
sudo apt purge cuda-*

2.CUDA Toolkitのwebページを使ってドライバをインストールします。
3.nvidia-docker2を使っている場合は巻き込まれてパージされているので再インストールします。

sudo apt install nvidia-docker2
sudo pkill -SIGHUP dokcered

本題

nvidia-smiが通らない

経験則的な対処方法です

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.

稀に起こるやつです。
とりあえず再起動して、再起動してもダメならドライバを再インストールしましょう。

Failed to initialize NVML: Driver/library version mismatch.

よく起こるやつです。
とりあえず再起動しましょう。九割直ります。
Dockerを仮想環境代わりに複数人でPCを強要している場合は若干注意が必要で、dokcerコンテナ側でGPUを占有しているとホスト側でこのエラーが出る場合があります。
再起動する前に誰かが使ってないか確認したほうが安全です。

nvidia-docker2を使ったコンテナが起動しない

OCI Container runtime 以下略

エラー文を読めばだいたい書いてありますが、GPUドライバ云々と出ている場合はnvidia-smiでエラーを吐く状態であることが多いです。
nvidia-smiが正常に動く状態なら立ち上がります。多分。
nvidia-docker2をそもそもインストールしていない場合も出てくるので、インストール忘れに注意。

nvidia-smiが正常かつnvidia-docker2がインストール済みでOCI Container runtime以下略

変なアップデートの仕方をして依存パッケージのバージョンが足りていない場合に出たことがあります。
関連パッケージ(libnvidia-container1, libnvidia-comtainer-toolkitなど)を適当にアップデートしたら直りました。

おわり。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2