ある日突然 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 |
+-----------------------------------------------------------------------------+
解消しました。