LoginSignup
4
3

nvidia-smiでFailed to initialize NVML: Driver/library version mismatchエラーの解決ログ

Posted at

はじめに

nvidia-smiコマンドで、

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

というエラーが出たときの解決ログです。

まず、再起動などの一般的な対処法を試してみてください。参考記事として、

が挙げられます。もし再起動だけでは解決しない場合、以下に筆者が遭遇し解決した具体的な状況と対処法を紹介します。

なお、筆者の環境はUbuntu 22.04です。

考えられる原因

このnvidia-smiのエラーの原因の一つとして、NVML(NVIDIA Management Library)と NVRM(NVIDIA Resource Manager)のバージョンの不一致が挙げられます。これらのバージョンは、それぞれ以下のコマンドで確認できます。

NVMLのバージョンの確認コマンド
$ cat /sys/module/nvidia/version
NVRMのバージョンの確認コマンド
$ cat /proc/driver/nvidia/version

これらのバージョンが異なる場合に、mismatchエラーが発生する可能性があります。

ここで、NVMLとNVRMのそれぞれの役割について簡単に説明します。

  • NVML(NVIDIA Management Library):
    NVIDIA GPUの管理に使用されるライブラリで、GPUの情報の取得や操作を行います。/sys/module/nvidia/versionで確認できます。

  • NVRM(NVIDIA Resource Manager):
    NVIDIA GPUのリソースを管理するカーネルモジュールで、GPUのドライバーとして機能します。/proc/driver/nvidia/versionで確認できます。

バージョンが異なる場合に解決方法

以下は、NVML と NVRM のバージョンが異なる場合の解決手順です。筆者の環境での実際のログを交えて説明します。

まず、NVMLとNVRMのバージョンの確認をします。

エラー時のNVMLとNVRMのバージョンログ
$ nvidia-smi
Failed to initialize NVML: Driver/library version mismatch
NVML library version: 535.129
$ cat /sys/module/nvidia/version
535.129.03
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  520.61.05  Thu Sep 29 05:30:25 UTC 2022
GCC version:  gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)

上記の結果から、NVMLのバージョンが535.129.03で、NVRMのバージョンが520.61.05と異なっていることが分かります。

次に、以下のコマンドでnvidiaとcudaをアンインストールし、再びインストールします。

エラー解決に使ったコマンド
$ sudo apt purge nvidia-* 
$ sudo apt purge cuda-*
$ sudo apt install nvidia-driver-535 nvidia-dkms-535
$ sudo sh cuda_11.8.0_520.61.05_linux.run

そして、これらのコマンドを実行後に再起動すると、NVRMとNVMLのバージョンが一致し、nvidia-smiが正常に動作するようになりました。
(※上記は参考までに、nvidia driverやcudaは環境に合わせたものに適宜書き換えてください。Ubuntu: NVIDIAのドライバはどれをインスールすればよいのだ?によると、ubuntu-driversを実行し、recommendedが付いたものが良いとされています。)

エラー解決後のNVMLとNVRMのバージョンログ
$ cat /sys/module/nvidia/version
535.129.03
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  535.129.03  Thu Oct 19 18:56:32 UTC 2023
GCC version:  gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)

まとめ

この記事では、nvidia-smiで発生するエラーの解決として、NVMLとNVRMのバージョンが異なる場合の解決法について紹介しました。あくまで筆者の環境での話ですが、対処法としてアンインストールと再インストールを行うことで直ることを確認しました。

参考資料

4
3
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
4
3