앎을 경계하기

Anything

[Ubuntu 18.04LTS, RTX 3090]RuntimeError: CUDA error: no kernel image is available for execution on the device 에러 해결

양갱맨 2021. 1. 19. 11:38

환경

  • Ubuntu 18.04 LTS
  • GPU : RTX 3090
  • CUDA version : 10.2
  • virtual env : anaconda3 사용
  • pytorch 1.7.1사용

문제 발생

문제 원인

그래픽 카드와 쿠다 버전이 맞지 않는 경우 발생한다.

일단 RTX 3090은 CUDA 11.x 버전과 호환된다.

문제 해결

pc에는 미리 11.0과 10.2가 설치되어 있었음.

그래서 일단 .bashrc 파일을 열어서 cuda version을 수정 및 변경하였다.


nano ~/.bashrc
source ~/.bashrc
nvcc -V

 

기존 사용중이던 가상환경은 pytorch외 여러 것들(cuda toolkit, torchvision... etc)이 깔려있어서 삭제하고 새 환경을 만들었다.
그리고 파이토치 사이트에서 내게 맞는 버전의 명령어를 가져와 다시 설치했다.
설치 옵션 선택할 때, conda 말고 pip로 함.

pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

 

잘 설치됐다.

 

아래처럼 나오면 정상이다.

>>> import torch
>>> torch.cuda.is_available()
True

 

다시 파이토치 사용한 코드 동작시키면 정상적으로 작동한다.