メインコンテンツまでスキップ

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.8pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu128
12.6pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu126
12.4pip3 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
on_init_script 설정 위치

가상머신 생성 위자드 → 기본 정보 단계 → 초기 스크립트 필드에 입력합니다. 가상머신 최초 부팅 시 1회만 실행되며, 재부팅 시에는 실행되지 않습니다.


다음 단계