파이썬에서 AI모델을 실행시켜 보니 RuntimeError가 발생하여 GPU를 찾을 수 없다고 출력됩니다.
알아보니 위의 오류가 발생하는 것은 PyTorch가 GPU를 인식하지 못하기 때문에 발생하는 문제입니다.
CUDA Toolkit 설치
엔비디아 그래픽을 사용하면 먼저 CUDA Toolkit을 설치해야 합니다.(링크)
추가적으로 cuDNN에서도 CUDA버전과 호환되는 압축파일을 내려받습니다.(링크)
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.5
첫 번째 파일 설치 후 두 번째로 cuDNN에서 내려받은 압축파일은 해제한 다음 위 경로에 덮어씌워야 합니다.
12.5 버전은 포스팅 시점에서 설치한 버전이기 때문에 본인이 설치한 버전으로 폴더가 생성되어 있을 겁니다.
호환을 위한 Pytorch 설치 여부 체크
다음으로 PyTorch가 설치되어 있는지 확인하고 CUDA 호환성을 확인해야 합니다.
python -c "import torch; print(torch.__version__)"
명령 프롬프트나 터미널을 열고 위 명령어를 입력합니다.
저는 여기서 처음에 '2.3.1+cpu'라는 결과가 나왔으며, 설치된 PyTorch가 CPU버전으로 설치되어 있기 때문에 CUDA와 호환되는 PyTorch버전으로 설치해야 합니다.
CUDA버전 확인
CUDA와 호환되는 PyTorch버전을 설치하기 위해서는 현재 CUDA의 버전을 확인해야 합니다.
명령 프롬프트나 터미널을 열고 nvcc --version 명령을 입력하면 다음과 같이 나옵니다.
release 부분에 표기된 숫자가 현재 설치된 CUDA 버전을 의미합니다.
호환되는 PyTorch 설치
PyTorch 홈페이지에 접속하면 pip명령으로 간편하게 설치할 수 있도록 명령어를 지원하고 있습니다.(링크)
저는 CUDA 12.5 버전이었는데 Compute Platform을 살펴보면 12.5 버전이 없습니다.
이럴 때에는 12.5보다 하위버전을 선택하여 Command를 복사하여 명령프롬포트나 터미널에 붙여 넣어 설치하시면 됩니다.
python -c "import torch; print(torch.__version__)"
다시 한번 위 명령을 복사한 다음 명령 프롬프트나 터미널에 붙여 넣어 설치된 PyTorch버전을 확인합니다.
화면처럼 +뒤에 cpu가 아닌 cu118 형식으로 나온다면 CUDA12.5 버전보다 하위인 11.8 버전으로 설치되었음을 의미합니다.
이제 다시 문제가 발생했던 코드를 실행하면 NO GPU에러 없이 실행됩니다.
추가사항)
set CUDA_VISIBLE_DEVICES=0
사용중인 GPU가 여러개면 명령프롬포트나 터미널에 다음 명령을 입력하면 사용할 GPU디바이스를 지정할 수 있습니다.
이 명령어로 첫 번째 GPU만 사용하도록 설정합니다.