본문 바로가기
Pro Developer/etc

[NVIDIA] Failed to initialize NVML: Driver/library version mismatch 오류 해결

by 성 언 2023. 11. 7.

[NVIDIA] Failed to initialize NVML: Driver/library version mismatch 오류 해결 방법에 대해 학습 후 정리한 포스팅 입니다.

 

이번 포스팅에서는 [NVIDIA] Failed to initialize NVML: Driver/library version mismatch 오류 해결 방법에 대해 학습합니다.

 

1. 에러 발생

GPU 상태를 확인하기 위해 `nvidia-smi` 명령어를 실행하자, 다음과 같은 에러가 발생했습니다.

 

Failed to initialize NVML: Driver/library version mismatch

 

이 에러는 NVIDIA 드라이버가 업데이트된 후에 커널 모듈의 버전과 라이브러리 버전이 서로 일치하지 않을 때 발생합니다. 드라이버가 새로운 버전으로 업데이트되었지만, 현재 실행 중인 커널 모듈이 이전 버전을 기반으로 로드되어 있기 때문에 발생하는 문제입니다.
문제 해결을 위해 먼저, 현재 로드된 NVIDIA 커널 모듈을 확인합니다. 이를 위해 다음 명령어를 사용합니다.


 

2. 해결 방법

lsmod | grep nvidia

 

위 명령어를 실행하면, 현재 시스템에 로드된 NVIDIA 관련 커널 모듈의 목록을 볼 수 있습니다. 

이 모듈들을 언로드(unload)한 후에 다시 로드(load)하면 문제를 해결할 수 있습니다.

다음 단계로, 다음과 같이 각 NVIDIA 커널 모듈을 순서대로 언로드합니다.

sudo rmmod nvidia_drm
sudo rmmod nvidia_modeset
sudo rmmod nvidia_uvm
sudo rmmod nvidia

 

`nvidia_drm`, `nvidia_modeset`, `nvidia_uvm`, `nvidia`는 NVIDIA GPU와 관련된 다양한 커널 모듈들입니다. 각각의 모듈은 다음과 같은 역할을 수행합니다:

1. nvidia: NVIDIA GPU 드라이버의 주요 커널 모듈입니다. GPU 하드웨어와 직접적으로 상호작용하며, GPU의 기본적인 관리와 제어를 담당합니다. 이 모듈은 GPU를 사용하는 모든 작업에 필수적입니다.

2. nvidia_drm: DRM(Direct Rendering Manager)은 리눅스 커널의 일부로, 직접 렌더링 인터페이스를 제공합니다. 

3. nvidia_modeset: 이 모듈은 화면의 해상도나 화면 모드 설정(mode-setting)과 같은 작업을 관리합니다. `nvidia_drm`과 함께 작동하여, 디스플레이에 대한 저수준 제어를 가능하게 합니다.

4. nvidia_uvm: UVM(Unified Virtual Memory) 모듈은 CPU와 GPU 간의 메모리 공유를 관리합니다. 이를 통해 개발자들은 GPU 메모리와 CPU 메모리 간에 데이터를 쉽게 이동할 수 있으며, GPU가 CPU 메모리에 직접 접근할 수 있게 해줍니다. 이는 특히 복잡한 계산 작업이나 머신 러닝 작업에서 중요합니다.

이 모듈들을 제거하는 것은 일반적으로 드라이버 업데이트 후에 발생할 수 있는 문제를 해결하거나, 드라이버를 재설치할 때 필요합니다. 모듈이 제거되면, 시스템은 해당 하드웨어 구성 요소에 대한 기능을 일시적으로 잃게 되지만, 재부팅하거나 새로운 모듈을 로드함으로써 다시 기능을 복구할 수 있습니다.

`nvidia_drm` 모듈은 `nvidia_modeset` 모듈을 사용하고 있으므로, `nvidia_drm` 모듈을 먼저 언로드해야 합니다.

모든 모듈을 성공적으로 언로드한 후, 시스템을 재부팅합니다.

sudo reboot

 

 

3. 정상 동작 확인 

재부팅 후, `nvidia-smi` 명령어를 다시 실행하여 GPU 상태가 정상적으로 표시되는지 확인합니다. 이러한 단계를 통해 드라이버와 라이브러리 간의 버전 불일치 문제를 해결할 수 있습니다.

 

 

 

 

<Summary>

- [NVIDIA] Failed to initialize NVML: Driver/library version mismatch 오류 해결

- nvidia-smi 오류

 

 

*유의사항

- AI 산업기능요원이 공부하여 남긴 정리입니다.

'Pro Developer > etc' 카테고리의 다른 글

[Git] 템플릿을 적용하여 Commit 하기  (2) 2023.08.14

댓글