apt를 업데이트 하며 apt와 cuda 및 cuda driver 버전이 서로 호환되지 않아 발생하는 문제
Ubuntu OS에서 apt 및 apt-get 업데이트 후 발생하는 에러 해결법
( apt, apt-get update 함부로 막 하지 말기.. docker container 안에서도 하지 말기.. )
※ 사용환경 : Ubuntu20, RTX3090
1. 사용하고 있는 nvidia 관련 환경 초기화
$ sudo apt autoremove
위 명령어로 먼저 잘못되어 있는 패키지를 자동으로 지우고 바로 2번으로 넘어가서 apt 버전에 맞는 nvidia-driver를 다시 깔아볼 것
위의 내용 (autoremove 하고, 2번으로 내려가서 드라이버 재설치)을 그대로 따라했는데도 GPU가 잡히지 않는다면, 밑의 lsmod 명령어 및 rmmod 명령어를 실행하자.
(굳이 다 nvidia 관련 모듈을 지울 필요는 없음)
$ lsmod | grep nvidia
nvidia_uvm 1011712 0
nvidia_drm 57344 8
nvidia_modeset 1228800 11 nvidia_drm
nvidia 34136064 535 nvidia_uvm,nvidia_modeset
drm_kms_helper 217088 1 nvidia_drm
drm 552960 11 drm_kms_helper,nvidia_drm
$ sudo rmmod nvidia_drm nvidia_uvm nvidia_modeset
rmmod: ERROR: Module nvidia_drm is in use 에러가 나타난다면
$ sudo apt-get --purge remove *nvidia*
다시
$ lsmod | grep nvidia
를 입력했을 때 아무런 목록이 보이지 않으면 성공
2. apt 버전에 맞는 nvidia-driver 확인 및 설치
$ sudo apt search nvidia-driver
해당 apt 버전에 맞는 nvidia 드라이버 버전을 보여준다. 나오는 드라이버 중 원하는 것을 설치하면 되는데, 최신 버전은 아직 불안정할 수 있으므로 최신버전의 아래 단계를 추천한다.
아니면
$ ubuntu-drivers devices
위의 명령어로 우분투에서 추천하는 드라이버를 확인하는 방법도 있다.
$ sudo apt-get install nvidia-driver-460 (460 대신 원하는 버전의 숫자를 입력하면 된다. 서버버전 아님! )
$ dpkg -l | grep CUDA
CUDA 관련 모듈 목록이 나오면 성공
$ reboot 또는 컴퓨터 다시 시작
컴퓨터를 재시작해야 해당 위의 작업들이 컴퓨터에 반영되니 꼭 다시 시작하기!
reboot 할 때 permission denied 뜨면
$ sudo reboot
$ nvcc -V
다시 설치가 올바르게 이루어졌는지 확인하기
위의 1번에서 lsmod와 rmmod 명령어를 실행했을 때에만 nvidia-cuda-toolkit를 install 명령어를 실행할 것
( 위에서 rmmod로 관련 모듈을 지웠으니까 다시 설치하는 것. 위의 rmmod 명령어를 실행하지 않았다면 할 필요 X )
$ sudo apt install nvidia-cuda-toolkit
$ nvidia-smi ( GPU 정보가 나타나면 성공 )
'Setting, Error > GPU' 카테고리의 다른 글
실시간 nvidia-smi 확인하기 (0) | 2022.06.20 |
---|---|
[Error] Could not load dynamic library 'cudart64_110.dll' dlerror cudart64_110.dll not found (0) | 2022.04.01 |
[nvtop] GPU 사용량 확인 (0) | 2021.08.09 |
[Install] GPU 환경세팅 (CUDA) (0) | 2021.08.09 |
[Error] Error response from daemon: could not select device driver with capabilities: [gpu_name] Error: failed to start containers: [container_name] (0) | 2021.08.06 |