AI 탐구노트

Nvidia driver 버전 미스 매치 오류 해결 본문

기술 팁

Nvidia driver 버전 미스 매치 오류 해결

42morrow 2024. 9. 4. 15:30

 

우분투 24.04 LTS로 업그레이드 하고나서 패키지 업데이트를 한다고 해서 허락했더니 재부팅 후 역시나 다음과 같은 오류가 발생했습니다.

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

 

 

위의 오류는 NVIDIA GPU의 driver 버전이 커널의 것과 다를 경우에 나오는 것이라고 알려져 있습니다. 최근 업데이트를 통해 설치된 현재의 커널이 사용 중인 버전은 535.183.01 이네요... (아래 그림 참조)

$ modinfo nvidia
filename:       /lib/modules/6.8.0-41-generic/updates/dkms/nvidia.ko.zst
firmware:       nvidia/535.183.01/gsp_tu10x.bin
firmware:       nvidia/535.183.01/gsp_ga10x.bin
alias:          char-major-195-*
version:        535.183.01

 

 

그렇다면 설치되어 있는 Driver 라이브러리 버전은 어떻게 되나 볼까요? 

$ cd /usr/lib/x86_64-linux-gnu
$ ls -al | grep libnvidia
...
lrwxrwxrwx   1 root root         17 May 30 19:53 libnvidia-ml.so -> libnvidia-ml.so.1
lrwxrwxrwx   1 root root         26 Sep  4 15:23 libnvidia-ml.so.1 -> libnvidia-ml.so.545.23.08
-rw-r--r--   1 root root    1942744 May 30 19:53 libnvidia-ml.so.535.183.01
-rw-r--r--   1 root root    1992128 Nov  7  2023 libnvidia-ml.so.545.23.08
...

 

결과는 아래와 같이 Core는 535.183 버전을 사용 중이고 NVML이 사용 중인 libnvidia-ml.so는 545.23 버전으로 매핑되어 있습니다. 흠... 

 

둘을 맞춰 주는 방법은 Symbolic Link만 바꿔주거나, 설치된 커널이 사용하는 버전으로 Driver를 다시 설치해 줘야 할 것 같습니다. 귀차니즘이 발동해서 저는 전자의 방식으로 진행합니다. ^^;

 

$ cd /usr/lib/x86_64-linux-gnu
$ sudo ln -s  libnvidia-ml.so.535.183.01  libnvidia-ml.so.1
$ ls -al | grep libnvidia
...
lrwxrwxrwx   1 root root         17 May 30 19:53 libnvidia-ml.so -> libnvidia-ml.so.1
lrwxrwxrwx   1 root root         26 Sep  4 15:23 libnvidia-ml.so.1 -> libnvidia-ml.so.535.183.01
-rw-r--r--   1 root root    1942744 May 30 19:53 libnvidia-ml.so.535.183.01
-rw-r--r--   1 root root    1992128 Nov  7  2023 libnvidia-ml.so.545.23.08
...

 

 

이렇게 하고 실행해 보면 역시나... nvidia-smi, nvitop 등은 정상 작동하네요...

$ nvidia-smi
Wed Sep  4 15:23:40 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01             Driver Version: 535.183.01   CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| 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 3090        Off | 00000000:01:00.0  On |                  N/A |
|  0%   36C    P8              13W / 350W |     51MiB / 24576MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+