포스트

Pytorch GPU를 설정하는 방법

목차

  1. NVIDIA 그래픽 카드 확인
  2. Pytorch 버전 확인 및 설치
  3. CUDA 설치
  4. cuDNN 설치
  5. 환경 변수 등록
  6. GPU 사용 확인
  7. 오류 수정

NVIDIA 그래픽 카드 확인

터미널에 nvidia-smi를 입력한다.

1
2
3
4
5
6
7
8
9
10
11
12
Sun Aug 25 23:10:10 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.76                 Driver Version: 560.76         CUDA Version: 12.6     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 4050 ...  WDDM  |   00000000:01:00.0 Off |                  N/A |
| N/A   50C    P3             15W /   69W |    1185MiB /   6141MiB |      5%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

그럼 위와 같은 결과가 출력이 되는데 내 노트북의 GPU는 NVIDIA GeForce RTX 4050인것을 확인할 수 있다.
그리고 가능한 CUDA 버전은 12.6까지인것을 확인할 수 있다.

Pytorch 버전 확인 및 설치

Pytorch를 들어가보면 Stable한 버전의 Pytorch를 확인할 수 있다.
image 현재 Stable한 버전은 2.4.0인데 Python은 3.8버전 이상을 요구한다.
Windows환경에서 pip을 이용해 설치를 할 것이므로 선택해주고
가장 최신 버전의 CUDA인 12.4를 선택해준다.
그럼 아래의 Run this Command: 부분에 있는 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124를 실행해주면 Pytorch는 설치가 끝난다.

CUDA 설치

CUDA에 들어간다.
그럼 아까 Pytorch에서 선택한 버전인 CUDA 12.4 버전을 찾는다.
image 해당 파일을 다운로드 해서 설치하면 CUDA는 설치가 완료된다.
터미널에서 nvcc --version 명령어를 실행해보면

1
2
3
4
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Mar_28_02:30:10_Pacific_Daylight_Time_2024
Cuda compilation tools, release 12.4, V12.4.131
Build cuda_12.4.r12.4/compiler.34097967_0

방금 설치한 CUDA 버전이 정상적으로 출력되는 것을 확인할 수 있다.

cuDNN 설치

CuDNN에 들어간다.
설치한 CUDA 버전이 12.4버전이므로 12.X 버전의 cuDNN을 다운로드 받는다.
image zip 파일을 압축 해제하고 bin, include, lib 폴더와 LICENSE 파일을 CUDA 폴더에 덮어씌워준다.
CUDA 폴더는 기본 설정으로 설치했다면 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4 경로에 존재한다.

환경 변수 등록

image
환경 변수를 클릭한 다음 Path를 선택하고 편집을 선택한다.
image
그리고 아까 붙여 넣었던 bin, include, lib에 대한 환경 변수를 등록한다.

GPU 사용 확인

1
2
3
import torch
print(torch.__version__)
print(torch.cuda.is_available())

위의 코드를 실행했을 때 image 이렇게 출력이 된다면 정상적으로 Pytorch에서 GPU를 사용할 수 있게 된 것 이다.

근데 예전 노트북에 설정할때는 문제가 없었는데 이번 노트북에는 설치를 정상적으로 했는데
OSError: [WinError 126] 지정된 모듈을 찾을 수 없습니다. Error loading ~~ venv\Lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies. 오류가 발생하면서 실행이 되지 않았다.

오류 수정

fbgemm.dll과 같은 파일은 Microsoft의 Visual C++ Redistributable에 의존할 수 있기 때문에
Visual C++ Redistributable에 접속해서 최신 버전의 Visual C++ Redistributable을 다운로드 받아 보았다.
그리고 다시 GPU 사용 확인을 시도했는데 여전히 같은 문제가 발생했다.
아쉽게 이 방법으로는 해결이 되지 않아서 다른 방법을 찾아야 했다.

그래서 fbgemm.dll이 로드하지 못하는 다른 DLL이 있는지 확인하려고 Dependencies에서 DependenciesGui를 설치했다.
그리고 venv\Lib\site-packages\torch\lib\fbgemm.dll 파일을 확인 해보니
351870942-065a323f-ce56-48b5-8454-d95b1f345009
위의 이미지 처럼 libomp140.x86_64.dll 파일이 없어서 발생한 문제 같았다.
그래서 libomp140.x86_64.dll을 다운로드 받아서 C:\Windows\System32 폴더에 붙여넣었다.

image
그러자 문제 없이 로드 되는 것을 확인할 수 있었고 다시 GPU 사용 확인을 했더니 이상없이 되었다.<br/



예전에 대학생 때는 CUDA 설정하기가 꽤 어려웠었는데, 요즘은 많이 편해진 것 같다.