Trouble/Python, Pytorch

RTX 3090 GPU pytorch error : cuda 사용 안되는 문제

침닦는수건 2021. 11. 29. 12:22
반응형

RTX 3090 GPU를 장착한 컴퓨터에서 conda나 pip로 pytorch를 그냥 설치할 경우, 아래와 같이 cuda 사용이 안된다는 오류가 뜰 때가 있다. 

 

RTX A6000 with CUDA capability sm_86 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70.
If you want to use the RTX A6000 GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/

이유는 적혀있는대로, CUDA capability sm_86이 현 GPU랑 맞는 architecture인데 conda나 pip로 그냥 설치한 pytorch는 이것을 지원 안해서 오류가 난 것이다. (사실 뭔소린지 잘 모름...)

 

해결법은, nightly 버전을 설치하면 된다. 정식 버전에는 포함 안되어 있는데 nightly 버전에는 이런 이슈가 해결이 되어있는 것 같다. 곧 정식 버전에서도 해결이 될 듯...? (역시나 잘 모름)

 

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch-nightly

설치한 이후에 아래 명령어를 쳤을 때, sm_86이 포함되어 있는지 확인해보면 끝 :)

python -c "import torch; print(torch.__version__); print(torch.cuda.get_arch_list())"

이런 식으로 출력된다.

1.11.0.dev20211128
['sm_37', 'sm_50', 'sm_60', 'sm_61', 'sm_70', 'sm_75', 'sm_80', 'sm_86', 'compute_37']

 

 

Update

이제 문제를 겪었던 시기 대비 많은 시간이 흘러, 대략 pytroch 1.10.0 이상 버전 (cuda 11 이상)은 nightly tag와 상관없이 다 sm_86을 지원하는 듯 하다. -nightly 떼고 그냥 -c pytorch 사용해도 되겠다.

반응형