본문 바로가기
ML or DL/개발환경

[딥러닝 환경구축 (2/3)] RTX 3080 (Laptop) + Windows 10 + CUDA + cuDNN

by chaloalto 2022. 4. 14.

2022.04.14 
기존 Ubuntu 18.04 에서 20.04 로 바꾸며 새로이 개발 환경 세팅을 정리하고자 한다. 
2022.05.09
Ubuntu에서 Windows10으로 엎으면서 NVIDA Driver, CUDA, cuDNN 버전을 맞추고자 한다. 

환경 
RTX 3080 (Laptop) / Windows10 
Tensorflow 2.5.0 / cuDNN 8.1 / CUDA 11.2 / NVIDIA Driver  471.96 

0. 버전 맞추기 (중요)

- https://www.tensorflow.org/install/source#gpu

- 가장먼저 필요한 tf 버전을 확인하고, 이에 맞는 CUDA , cuDNN 을 찾는게 확실하다. 최신버전 사용시 warning 발생 가능. 
- Tensorflow 2.5.0 / cuDNN 8.1 / CUDA 11.2 를 목표로 한다. 

1. Nivida Graphic Driver 설치.

https://www.nvidia.com/Download/index.aspx?lang=en-us

https://www.nvidia.com/Download/index.aspx?lang=en-us

위 URL 에서 NVIDIA Driver 검색시 최신 드라이버가 검색됨.

그러나 각 드라이버마다 내장하고 있는 CUDA 버전이 있어, 두번 설치하지 않기 위해 특정 버전을 설치하도록 한다. (510.60.02 버전은 Cuda 11.6 을 내장)

https://www.nvidia.com/Download/Find.aspx?lang=en-us# 

 

Advanced Driver Search official NVIDIA drivers

Advanced Driver Search official NVIDIA drivers

www.nvidia.com

위 URL 에서 Old Release 를 검색 할 수 있다. 

466.11 버전이 CUDA 11.2 를 내장하고 있기에 이것을 다운받으려 했으나, 설치 도중 Windows10 과의 버전 충돌 문제 발생 --> CUDA 11.4를 내장하는 471.96 버전으로 설치했다. 

설치 후 CMD 에서 nvidia-smi 를 입력시 CUDA Version이 11.4 임을 확인할 수 있는데, 471.96 version 에 기본 내장되어있음을 알 수 있음.  

CMD 창에서 nvidia-smi 입력 시 CUDA 11.4 버전 확인

2. CUDA toolkit 설치 

https://developer.nvidia.com/cuda-toolkit-archive

 

CUDA Toolkit Archive

Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production

developer.nvidia.com

위의 URL 에서 Archive 된 CUDA Old Release를 다운 받을 수 있다. cuda_11.2.2_461.33_win10.exe 를 설치. 

설치가 완료되면 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA 경로에 v11.2 폴더가 생성된것을 확인 

CUDA 폴더 생성 확인.

3. cuDNN 8.1 설치

https://developer.nvidia.com/rdp/cudnn-archive

 

cuDNN Archive

NVIDIA cuDNN is a GPU-accelerated library of primitives for deep neural networks.

developer.nvidia.com

위 URL 에서 cuDNN v8.1.1 (Feburary 26th, 2021), for CUDA 11.0,11.1 and 11.2 버전을 설치. 

Runtime VS Developer Library (for Ubuntu)

단순히 tensorflow를 위해선 runtime만으로도 충분하나, cuDNN이 제대로 설치되었는지 확인하기 위한 Code Samples을 위해서는 Developer Library가 필요 (출처 : https://devlog.jwgo.kr/2019/01/31/installing-cuda-and-cudnn/)

윈도우에서는 cuDNN Library for Windows (x86) 밖에 없으므로 이것을 설치.

압축을 풀고 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA \v11.2 에 bin, include, lib 폴더를 복붙해준다. 

환경변수에 아래와 같이 CUDA 가 생겼는지 확인 

시스템 환경변수

4. Tensorflow-gpu 2.5.0 설치

가상 환경 및 로컬 환경에서 Tensorflow-gpu 2.5.0 버전 설치 

pip install tensorflow-gpu==2.5.0

5. 정상 작동확인

https://chaloalto.tistory.com/38

 

[딥러닝 환경구축] Tensorflow-gpu 정상 작동 확인하기 (GPU 점유확인)

이전 글에서 CUDA, cuDNN, Tensorflow-gpu 가 정상적으로 확인하기 위한 테스트. https://keras.io/examples/timeseries/timeseries_anomaly_detection/ Keras documentation: Timeseries anomaly detection using..

chaloalto.tistory.com

Tensorflow-gpu 가 정상적으로 작동하는지 확인. Train 및 Inference 과정에서 GPU 메모리가 점유되는지를 확인 할 수 있는데, 모든것이 정상적으로 작동하는지 확인 여부가 될 수 있을지 확실치는 않다. 

 

-- 이하 Ubuntu 환경에서 설치하기 (작성중..)

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local 

 

 

CUDA Toolkit 11.6 Update 2 Downloads

Resources CUDA Documentation/Release NotesMacOS Tools Training Sample Code Forums Archive of Previous CUDA Releases FAQ Open Source PackagesSubmit a BugTarball and Zip Archive Deliverables

developer.nvidia.com

맞는 버전 검색 및 Installation Instructions 을 통해 설치. 아래 명령어를 통해 환경 변수 설정이 필요하다

# ~/.bash_profile 을 직접 바꾸거나 아래 echo 를 통해 입력 
echo 'export PATH=$PATH:/usr/local/cuda-11.6/bin' >> ~/.bash_profile
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64' >> ~/.bash_profile
echo 'export CUDADIR=/usr/local/cuda-11.6/' >> ~/.bash_profile

3. cudnn 8.4 설치
https://developer.nvidia.com/rdp/cudnn-download
환경을 검색하여 11.x 버전을 다운받는다. 

​파일 명 : cuda-repo-ubuntu2004-11-6-local_11.6.2-510.47.03-1_amd64

방법1 ) 에러

sudo dpkg -i cudnn-local-repo-ubuntu2004-8.4.0.27_1.0-1_amd64.deb

방법2) 

tar -xvf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz
다운받은 압축 파일을 적절한 위치에 압축 해제 한다.
sudo cp ./cuda/include/cudnn*.h /usr/local/cuda/include 
sudo cp -P ./cuda/lib64/libcudnn* /usr/local/cuda/lib64 
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
sudo cp cuda/include/cudnn* /usr/local/cuda-11.6/include 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.6/lib64 
sudo chmod a+r /usr/local/cuda-11.6/include/cudnn.h /usr/local/cuda-11.6/lib64/libcudnn*