2022년 7월 1일 금요일

CUDA pytorch GPU 오류, CUDA capability sm_86 is not compatible, docker에서 pytorch 설치 with CUDA

GPU 관련 오류 발생시 조치법


오류 문구

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.

설치된 CUDA 버전이 GPU를 지원하지 않기 때문에 발생하는 현상입니다.


자신의 GPU의 Compute capability(version) 찾기

https://developer.nvidia.com/cuda-gpus


오류 문구에 나오는 sm_86 이 8.6 이며 Compute capability 이 됩니다.


적절한 CUDA 버전 찾기

https://en.wikipedia.org/wiki/CUDA

GPUs supported[edit]

Supported CUDA level of GPU and card.

  • CUDA SDK 1.0 support for compute capability 1.0 – 1.1 (Tesla)[29]
  • CUDA SDK 1.1 support for compute capability 1.0 – 1.1+x (Tesla)
  • CUDA SDK 2.0 support for compute capability 1.0 – 1.1+x (Tesla)
  • CUDA SDK 2.1 – 2.3.1 support for compute capability 1.0 – 1.3 (Tesla)[30][31][32][33]
  • CUDA SDK 3.0 – 3.1 support for compute capability 1.0 – 2.0 (Tesla, Fermi)[34][35]
  • CUDA SDK 3.2 support for compute capability 1.0 – 2.1 (Tesla, Fermi)[36]
  • CUDA SDK 4.0 – 4.2 support for compute capability 1.0 – 2.1+x (Tesla, Fermi, more?).
  • CUDA SDK 5.0 – 5.5 support for compute capability 1.0 – 3.5 (Tesla, Fermi, Kepler).
  • CUDA SDK 6.0 support for compute capability 1.0 – 3.5 (Tesla, Fermi, Kepler).
  • CUDA SDK 6.5 support for compute capability 1.1 – 5.x (Tesla, Fermi, Kepler, Maxwell). Last version with support for compute capability 1.x (Tesla).
  • CUDA SDK 7.0 – 7.5 support for compute capability 2.0 – 5.x (Fermi, Kepler, Maxwell).
  • CUDA SDK 8.0 support for compute capability 2.0 – 6.x (Fermi, Kepler, Maxwell, Pascal). Last version with support for compute capability 2.x (Fermi) (Pascal GTX 1070Ti Not Supported).
  • CUDA SDK 9.0 – 9.2 support for compute capability 3.0 – 7.2 (Kepler, Maxwell, Pascal, Volta) (Pascal GTX 1070Ti Not Supported. CUDA SDK 9.0 and support CUDA SDK 9.2).
  • CUDA SDK 10.0 – 10.2 support for compute capability 3.0 – 7.5 (Kepler, Maxwell, Pascal, Volta, Turing). Last version with support for compute capability 3.x (Kepler). 10.2 is the last official release for macOS, as support will not be available for macOS in newer releases.
  • CUDA SDK 11.0 support for compute capability 3.5 – 8.0 (Kepler (in part), Maxwell, Pascal, Volta, Turing, Ampere (in part)).[37]
  • CUDA SDK 11.1 – 11.7 support for compute capability 3.5 – 8.6 (Kepler (in part), Maxwell, Pascal, Volta, Turing, Ampere).[38]

sm_86 => 8.6 이므로 현재 CUDA SDK 11.1 – 11.7 설치해줘야 합니다.


CUDA SDK 설치

가장 쉬운 방법은 docker 를 이용하는 방법입니다.

docker hub에서 nvidia/cuda 를 검색해서 11.1 – 11.7 사이의 버전을 선택해서 이미지를 다운로드 받습니다.

docker pull nvidia/cuda:11.7.0-runtime-ubuntu20.04


Docker 실행

Docker 사용법은 추가 검색 필요합니다. docker 설치는 아래 링크를 참고 바랍니다.

https://swlock.blogspot.com/2022/06/docker-windows-1110-home-docker-docker.html

docker run --gpus all -i -t -v C:\(자신의작업폴더명)\:/work nvidia/cuda:11.7.0-runtime-ubuntu20.04 /bin/bash

docker를 한번 실행한 후 다음번에는 docker attach 를 이용해서 접속합니다.


Docker 내에서 python 설치

apt-get update

apt install python3.8

apt install python3.8-dev

apt install python3.8-venv

apt install python3.8-distutils

apt install python3-pip


python 가상 환경 만들기

venv 사용법은 따로 검색해 보시기 바랍니다.

위에서 연결한 폴더명에 /work 폴더라서 아래와 같이 진행합니다.

cd /work

python3 -m venv myenv38 

source myenv38/bin/activate


pytorch 설치

커맨드는 여기 참고 https://pytorch.org/get-started/locally/

pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116



댓글 없음:

댓글 쓰기