Author: Kangchan Roh
Date: 2022/08/01
- Ubuntu 20.04
- Nvidia 드라이버 470
- CUDA 11.3
- cuDNN 8.2.1
▣ 머리말
안녕하세요 첫 포스팅으로 인사드려요. 진남준(진정한남자준희)씨랑 블로그 공동 운영하게 된 노갈이예요.
준희씌는 이미 대학원생이고 저는 곧 대학원생이라 앞으로 이 블로그에서 자주 뵐 것 같아요.
자자 인사 다 했으니
GPU로 인공지능 학습을 위해 필수로 설치해야 할 라이브러리 CUDA와 cuDNN을 Ubuntu환경에서 설치를 해봅시다.
저는 Pytorch를 사용하기 위해 설치를 했어요.
Ubuntu 20.04에 CUDA 11.2, cuDNN 8.1.0, OpenCV 4.5.1 설치
Ubuntu 20.04에 CUDA 11.2, cuDNN 8.1.0, OpenCV 4.5.1을 설치하는 방법을 다룹니다. NVIDIA 그래픽 카드 드라이버 설치 CUDA 11.2 설치 cuDNN 8.1.0 설치 OpenCV 4.5.1 설치 2021. 04. 24 최초작성 2021. 05...
webnautes.tistory.com
▣ Nvidia 그래픽 드라이버 설치
- 심심하니까 맞는 버전 살펴보기
$ ubuntu-drivers devices
- 저는 465 버전 깔았는데 자동으로 470버전 깔아줌 ㅋㅋ ㅉㅁㄴ 근데 465 이상이 권장이라 ㄱㅊ을 듯여
$ sudo apt install nvidia-driver-465
$ reboot
- 리부팅 꼭 해주시고 설치 확인
$ nvidia-smi
- Nvidia 드라이버가 아닌 nouveau 드라이버가 잡혀서 막히면 아래 참고해서 해결해주세용
How to disable/blacklist Nouveau nvidia driver on Ubuntu 20.04 Focal Fossa Linux
How to disable Nouveau nvidia driver on Ubuntu 20.04 Focal Fossa Linux
linuxconfig.org
▣ CUDA 11.3 설치
자 엔비디아 그래픽 드라이버 잘 깔았다 치고 CUDA를 깔아봅시다. (못 까셨다면 유감 어찌저찌 깔아오세연)
Pytorch를 사용하기위해 CUDA 11.3 설치하겠습니다.
- CUDA 다운 페이지 가셔서 runfile 다운
참고: https://developer.nvidia.com/cuda-11.3.0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=runfile_local
CUDA Toolkit 11.3 Downloads
Resources CUDA Documentation/Release NotesMacOS Tools Training Sample Code Forums Archive of Previous CUDA Releases FAQ Open Source PackagesSubmit a Bug
developer.nvidia.com
$ wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
$ sudo sh cuda_11.3.0_465.19.01_linux.run
- 잠시 기다리면 설치화면 뜹니다. Continue.
- 다음과 같이 에러가 난다면 gcc가 설치가 안 된 상태입니다. build를 위한 필수 패키지들 설치하고 다시 해보세요.
- Failed to verify gcc version. See log at /var/log/cuda-installer.log for details.
$ sudo apt-get install build-essential
- accept 해야죠 뭐
- 드라이버 설치는 방금 했기 때문에 드라이버 체크 해제하고 Install
드라이버도 run 파일에서 같이 설치해보려하니까 안되더라구요 그래서 따로 해보니 됐음 개꿀따라쉬 ㅋ
- 문제 없이 설치가 되면 다음과 같은 화면이 뜹니다.
- ~/.bashrc 에 환경변수를 기재 후 저장 후 source
export PATH=$PATH:/usr/local/cuda-11.3/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.3/lib64
export CUDADIR=/usr/local/cuda-11.3
- 설치 확인
$ nvcc -V
▣ cuDNN 8.2.1 설치
- 들어가셔서 Download cuDNN 클릭하시고 로그인
참고: https://developer.nvidia.com/cudnn
CUDA Deep Neural Network
cuDNN provides researchers and developers with high-performance GPU acceleration.
developer.nvidia.com
- 하단에 Archived cuDNN Releases 클릭
- 8.2.1 for CUDA 11.x 선택하시고
- 다음 항목 선택하시면 압축파일이 다운로드 될 거예요.
- cuDNN Library for Linux (x86_64)
- 다운로드 받은 파일을 압축 풀어서 파일 복사합니다.
$ cd Downloads
$ tar xvzf cudnn-11.3-linux-x64-v8.2.1.32.tgz
$ sudo cp cuda/include/cudnn* /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
- 링크를 다시 걸어줘야 합니다.
$ sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_train.so.8
$ sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8
$ sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8
$ sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8
$ sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_train.so.8
$ sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8
$ sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn.so.8 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn.so.8
- 새로 추가된 라이브러리를 시스템에서 찾을 수 있도록 하고 홈 디렉토리로 이동합니다.
$ sudo ldconfig
$ cd 홈으로
- 설정이 제대로 되었는지 확인합니다. 다음처럼 8.2.1이 보여야 합니다.
$ ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
rohgal@rohgal-Samsung-Desktop-System:~$ ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
libcudnn_adv_train.so.8 -> libcudnn_adv_train.so.8.2.1
libcudnn_adv_infer.so.8 -> libcudnn_adv_infer.so.8.2.1
libcudnn_ops_infer.so.8 -> libcudnn_ops_infer.so.8.2.1
libcudnn.so.8 -> libcudnn.so.8.2.1
libcudnn_ops_train.so.8 -> libcudnn_ops_train.so.8.2.1
libcudnn_cnn_train.so.8 -> libcudnn_cnn_train.so.8.2.1
libcudnn_cnn_infer.so.8 -> libcudnn_cnn_infer.so.8.2.1
'인공지능 환경세팅' 카테고리의 다른 글
2D 시뮬레이터에서 학습 진행 및 모델 추출 (CrowdNav DS-RNN) (2) | 2022.11.30 |
---|---|
YOLO + Object Tracking (0) | 2022.11.30 |