Pytorch GPU를 설정하는 방법
목차
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를 확인할 수 있다.
현재 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 버전을 찾는다.
해당 파일을 다운로드 해서 설치하면 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을 다운로드 받는다.
zip 파일을 압축 해제하고
bin
, include
, lib
폴더와 LICENSE
파일을 CUDA 폴더에 덮어씌워준다.
CUDA 폴더는 기본 설정으로 설치했다면 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4
경로에 존재한다.
환경 변수 등록
환경 변수를 클릭한 다음 Path를 선택하고 편집을 선택한다.
그리고 아까 붙여 넣었던 bin
, include
, lib
에 대한 환경 변수를 등록한다.
GPU 사용 확인
1
2
3
import torch
print(torch.__version__)
print(torch.cuda.is_available())
위의 코드를 실행했을 때 이렇게 출력이 된다면 정상적으로 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
파일을 확인 해보니
위의 이미지 처럼 libomp140.x86_64.dll
파일이 없어서 발생한 문제 같았다.
그래서 libomp140.x86_64.dll
을 다운로드 받아서 C:\Windows\System32
폴더에 붙여넣었다.
그러자 문제 없이 로드 되는 것을 확인할 수 있었고 다시 GPU 사용 확인을 했더니 이상없이 되었다.<br/
예전에 대학생 때는 CUDA 설정하기가 꽤 어려웠었는데, 요즘은 많이 편해진 것 같다.