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
원인
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 버전 | 설치 명령어 |
|---|---|
| 12.8 | pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu128 |
| 12.6 | pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu126 |
| 12.4 | pip3 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 가 출력되면 정상
증상 2: CUDA Error 802 (system not yet initialized)
에러 메시지
CUDA: False
RuntimeError: Unexpected error from cudaGetDeviceCount(). Error 802: system not yet initialized
원인
nvidia-smi는 NVML 인터페이스를 사용하므로 정상 작동하지만, CUDA runtime은 별도의 드라이버 초기화 경로를 사용합니다. 가상머신 재시작 직후 CUDA 드라이버 초기화가 완료되기 전에 실행하면 이 오류가 발생할 수 있습니다.
이 오류는 권한 문제가 아닙니다. sudo로 실행해도 동일한 오류가 발생합니다.
해결 방법
가상머신을 재시작한 후 1~2분 대기하고 다시 시도합니다.
# GPU 초기화 확인
python3 -c "import torch; torch.cuda.init(); print('GPU OK')"
재시작 후에도 동일 오류가 반복되면 지원팀에 문의해 주세요. 가상머신 ID와 에러 메시지 전문을 함께 전달해 주시면 빠른 처리가 가능합니다.
pip3 명령어를 찾을 수 없는 경우
pip3: command not found 오류가 발생하면 먼저 pip를 설치해야 합니다.
sudo apt-get update && sudo apt-get install -y python3-pip
가상머신 생성 시 자동 설정 (on_init_script)
매번 수동 설치 대신, 가상머신 생성 시 on_init_script에 포함하면 부팅 시 자동으로 적용됩니다.
#!/bin/bash
apt-get update
apt-get install -y python3-pip
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu128
가상머신 생성 위자드 → 기본 정보 단계 → 초기 스크립트 필드에 입력합니다. 가상머신 최초 부팅 시 1회만 실행되며, 재부팅 시에는 실행되지 않습니다.
다음 단계
- 가상머신 접속 방법: SSH·웹 콘솔
- SSH 접속 문제: 접속이 안 될 때 단계별 점검
- GPU/CUDA 드라이버 문제:
nvidia-smi실패·버전 mismatch