nvidia-smi が動かなくなったので対処する


ある日突然 nvidia-smi がエラーを吐くようになったので、解消までの作業ログです。
突然エラーを吐くようになった原因は調査してません。

エラーメッセージ

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

何やらバージョン違いで怒られている模様。

カーネルのログを確認(抜粋)

$ dmesg |grep NVRM
[    8.110350] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  450.142.00  Wed Jun 16 11:29:20 UTC 2021
[   13.010564] NVRM: API mismatch: the client has the version 470.103.01, but
               NVRM: this kernel module has the version 450.142.00.  Please
               NVRM: make sure that this kernel module and all NVIDIA driver
               NVRM: components have the same version.
[  478.234741] NVRM: client does not support versioning!!

カーネルモジュール(450.142.00)とクライアント(470.103.01)のバージョンが違うよと言われている。

バージョンを確認(抜粋)

$ dpkg -l | grep nvidia
rc  libnvidia-compute-460-server:amd64     470.103.01-0ubuntu0.18.04.1         amd64        Transitional package for libnvidia-compute-470-server
ii  libnvidia-compute-470-server:amd64     470.103.01-0ubuntu0.18.04.1         amd64        NVIDIA libcompute package
hi  nvidia-fabricmanager-450               450.142.00-1                        amd64        Fabric Manager for NVSwitch based systems.

確かにカーネルログと一致。
クライアントのバージョンをカーネルモジュールに揃えてみる。

クライアントを削除

バージョンを揃えるために、現在インストールされているクライアントを削除する

$ sudo apt-get purge libnvidia*

クライアントをインストール

バージョンを揃えてクライアントをインストールする
参考

$ sudo apt-get install cuda-drivers-450

再起動後、確認

$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.172.01   Driver Version: 450.172.01   CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| 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  Tesla T4            On   | 00000000:00:1E.0 Off |                    0 |
| N/A   31C    P8     9W /  70W |      0MiB / 15109MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

解消しました。