Computer/Ubuntu, Linux
NVIDIA NVML Driver/library version mismatch 해결방법
매직블럭
2018. 5. 31. 11:17
Failed to initialize NVML: Driver/library version mismatch
GPU 사용하던 도중 위와같은 문제가 발생 할 경우 해결 방법
nvidia driver를 unload 하고 관련 모듈을 삭제하면 된다.
아래 명령어로 nvidia 관련 사용중인 드라이버 리스트를 불러온다
$ lsmod | grep nvidia
nvidia_uvm 634880 8
nvidia_drm 53248 0
nvidia_modeset 790528 1 nvidia_drm
nvidia 12312576 86 nvidia_modeset,nvidia_uvm
nvidia 드라이버 unload를 위하여 nvidia 항목 오른쪽에 있는 종속성 항목을 unload 해준다.
이 경우는 nvidia_modeset, nvidia_uvm 이 되고 nvidia_modeset에서 nvidia_drm까지 물고있으니 셋다 unload
$ sudo rmmod nvidia_drm
$ sudo rmmod nvidia_modeset
$ sudo rmmod nvidia_uvm
종속성 항목 모두 unload 했으면 nvidia도 unload
$ sudo rmmod nvidia
( $ sudo rmmod -r nvidia 로 의존관계 모듈 일괄 삭제 가능)
이 과정에서 "rmmod: ERROR: Module nvidia is in use" 와 같은 에러를 만나면 아래 명령어로 관련 프로세스 kill.
$ sudo lsof /dev/nvidia*
여기 까지 했으면 과정은 끝.
아래 명령어로 확인했을때 아무것도 안뜨면 작업이 완료 된 것이다.
$ lsmod | grep nvidia
이후 nvidia-smi 도 정상 동작 가능.