대부분의 경우 업데이트된 CUDA 버전과 드라이버 버전이 맞지 않아서 생기는 문제다.
https://docs.nvidia.com/deploy/cuda-compatibility/index.html
CUDA Toolkit | Linux x86_64 Driver Version |
CUDA 10.0 (10.0.130) | >= 410.48 |
CUDA 9.2 (9.2.88) | >= 396.26 |
CUDA 9.1 (9.1.85) | >= 390.46 |
CUDA 9.0 (9.0.76) | >= 384.81 |
CUDA 8.0 (8.0.61 GA2) | >= 375.26 |
CUDA 8.0 (8.0.44) | >= 367.48 |
CUDA 7.5 (7.5.16) | >= 352.31 |
CUDA 7.0 (7.0.28) | >= 346.46 |
위 링크의 표처럼 사용하는 CUDA 버전에 맞게 드라이버를 설치해주면 해결된다.
Pytorch 에서 CUDA 버전 확인
$ python
>>> import torch
>>> torch.version.cuda
'10.0.130'
Nvidia driver 버전 확인
$ nvidia-smi
출력 상단의 드라이버 버전 확인
기존에 설치된 Nvidia driver 제거
$ sudo apt remove nvidia-driver-397
새로운 Nvidia driver 설치
$ sudo apt install nvidia-driver-410
$ nvidia-smi
만약 새로운 버전의 드라이버를 찾지 못한다면 PPA 를 추가해 줘야 한다.
$ sudo add-apt-repository ppa:graphics-drivers
$ sudo apt-get update
만약 Driver/Library mismatch 오류가 나올 경우 재부팅을 해준다.
Pytorch 에서 CUDA 사용 가능한지 확인
$ python
>>> import torch
>>> torch.cuda.is_available()
True