PyTorch CUDA 호환성 문제
개요
GPU 가상머신에서 nvidia-smi는 정상 동작하지만 PyTorch에서 GPU를 인식하지 못하는 경우가 있습니다. 원인은 크게 두 가지입니다.
- PyTorch-CUDA 버전 불일치: 설치된 PyTorch가 요구하는 CUDA 버전이 가상머신 드라이버보다 높음
- CUDA 드라이버 초기화 실패 (Error 802):
nvidia-smi는 정상이지만 CUDA runtime이 초기화되지 않음
증상 1: PyTorch-CUDA 버전 불일치
에러 메시지
CUDA initialization: The NVIDIA driver on your system is too old (found version 12080).
RuntimeError: The NVIDIA driver on your system is too old
원인
python3 -m pip install torch 는 기본적으로 최신 PyTorch를 설치합니다. 최신 PyTorch가 요구하는 CUDA 버전이 가상머신에 설치된 드라이버보다 높으면 위 오류가 발생합니다.
예: 가상머신 드라이버가 CUDA 12.8인데, pip로 설치된 PyTorch가 CUDA 13.0용인 경우.
해결 방법
1단계: 가상머신의 CUDA 버전 확인
nvidia-smi
출력 상단 오른쪽에 CUDA Version: 12.8 형식으로 표시됩니다.
2단계: 드라이버에 맞는 PyTorch 설치
CUDA 버전에 따라 아래 명령어를 선택해 실행하세요.
| CUDA 버전 | 설치 명령어 |
|---|---|
| 13.2 | python3 -m pip install torch torchvision --index-url https://download.pytorch.org/whl/cu132 |
| 12.8 | python3 -m pip install torch torchvision --index-url https://download.pytorch.org/whl/cu128 |
| 12.6 | python3 -m pip install torch torchvision --index-url https://download.pytorch.org/whl/cu126 |
| 12.4 | python3 -m pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124 |
호환 버전 전체 목록
PyTorch 공식 설치 페이지에서 CUDA 버전별 설치 명령어를 확인할 수 있습니다.
3단계: GPU 인식 확인
python3 -c "import torch; print(torch.cuda.is_available())"
# True 가 출력되면 정상