0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

"Failed to initialize NVML: Driver/library version mismatch" というエラーが出る際の対処メモ

Last updated at Posted at 2023-10-07

概要

nvidia-smi を実行するとこれまで発生しなかった下記のようなエラーが発生した。

$ nvidia-smi
Failed to initialize NVML: Driver/library version mismatch

環境

  • OS: Ubuntu22.04
  • グラフィックボード: GeForce RTX 2060 SUPER(12G)

原因

再起動したところ下記のようにエラー内容が変わった

$ nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

エラー内容から"nvidia-driver"がいつの間にかアップグレードされ、グラフィックボードがサポートしていないバージョンになったと考えられる。
ログを確認する。

$cat /var/log/apt/history.log |grep Upgrade|grep nvidia
Upgrade: libnvidia-common-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), libnvidia-fbc1-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), libnvidia-fbc1-530:i386 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), libnvidia-gl-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), libnvidia-gl-530:i386 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), libnvidia-extra-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), nvidia-compute-utils-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), nvidia-dkms-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), nvidia-driver-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), libnvidia-encode-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), libnvidia-encode-530:i386 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), nvidia-utils-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), xserver-xorg-video-nvidia-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), libnvidia-decode-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), libnvidia-decode-530:i386 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), nvidia-kernel-common-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), libnvidia-cfg1-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), nvidia-kernel-source-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), libnvidia-compute-530:amd64 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1), libnvidia-compute-530:i386 (530.30.02-0ubuntu1, 535.113.01-0ubuntu0.22.04.1)

ログから、今回の場合は"nvidia-driver530"から"nvidia-driver535"にアップグレードされていることがわかりこれが原因だと考えられる。

解決方法

アンインストール

$sudo apt --fix-broken install
$sudo apt remove *nvidia* --purge

nvidia-driver の再インストール

$sudo apt install nvidia-driver-535
$sudo reboot

再起動後、正常に動作するようになる。
(Driver versionが 535.129.03 以降であればOK)

$nvidia-smi 
Sat Oct  7 18:24:06 2023      
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.129.03             Driver Version: 535.129.03   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 2060        On  | 00000000:01:00.0  On |                  N/A |
| 41%   35C    P2              39W / 184W |    690MiB / 12288MiB |      3%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+                                                                           

おまけ: nvidia-toolkit の再インストール

NVIDIA Container Toolkit も同時にアンインストールしてしまっているので、公式を参考にで再インストールする。

$curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list \
  && \
    sudo apt-get update
$sudo apt-get install -y nvidia-container-toolkit

下記のように出力された場合は "y" を入力する。

ファイル'/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg'は既に存在します。 上書きしますか? (y/N) y

再起動する

$sudo reboot

おまけ 自動更新の無効化

【Ubuntu】パッケージの自動更新を無効にするの記事を参考に自動更新を無効にしました。
sudo 権限で"/etc/apt/apt.conf.d/20auto-upgrades"を開き、下記のように変更することで、自動アップグレードを防ぐことができます。(他のツールも手動アップグレードが必要になるので注意してください)

/etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "0";

2行目のUnattended-Upgradeが'1'の場合に、自動でパッケージがアップグレードがされるので'0'に変更しております。

参考

本記事は下記のサイトを参考にしました。

まとめ

本記事では "Failed to initialize NVML: Driver/library version mismatch" というエラーが発生した際の対処方法のメモを記載しました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?