728x90
반응형
먼저 설치환경은 다음과 같으며, 모든 과정은 터미널 환경에서 진행한다.
- Intel i7-7820X CPU 3.60GHz
- NVIDIA GeForce GTX 1080Ti x2
- RAM 32 GB
- SDD 512 GB / HDD 3.4 TB
# NVIDIA GPU 드라이버 설치
설치 당시 안정화(권장) 버전은 515이며 이를 기준으로 작성한다.
# 권장 버전 확인
$ ubuntu-drivers devices
# 권장 버전 자동 설치
$ sudo ubuntu-drivers autoinstall
# 수동 설치 (권장 버전에서 확인된 특정 버전 지정)
$ sudo apt update
$ sudo apt-get install nvidia-driver-515
$ sudo apt-get install dkms nvidia-modprobe
$ sudo reboot
# after reboot
$ watch nvidia-smi
# 참고
# CUDA & cuDNN 라이브러리 설치
역시 설치 당시의 nvidia-driver-515와 매칭되는 라이브러리 버전을 선택했다.
우선 다음 구문으로 CUDA 11.7 버전을 다운로드 및 설치를 진행한다.
$ wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda_11.7.1_515.65.01_linux.run
$ sudo ./cuda_11.7.1_515.65.01_linux.run
nvidia-driver는 이미 설치했기 때문에 체크를 해제하고 설치하면 된다.
(중요: CMOS의 secure boot 설정은 모두 해제하고 진행해야 한다)
설치 후에는 다음과 같이 환경변수 설정을 추가한다.
# 환경변수 설정 (~/.bashrc 또는 ~/.zshrc)
$ echo -e '\n# CUDA library settings' >> ~/.bashrc
$ echo 'export PATH=$PATH:/usr/local/cuda-11.7/bin' >> ~/.bashrc
$ echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.7/lib64' >> ~/.bashrc
# 설치확인
$ source ~/.bashrc
$ nvcc -V
이어서, 다음 경로에서 cuDNN 라이브러리를 다운로드 후 설치를 진행한다.
developer.nvidia.com/rdp/cudnn-download
여기서는 CUDA11.7을 설치했으니, cuDNN 11.x 버전을 다운로드한다. (Local Installer for Linux x86_64 (Tar))
다운로드 받은 폴더로 이동해 다음의 과정을 진행한다.
# 압축해제
$ tar xvf cudnn-linux-x86_64-8.5.0.96_cuda11-archive.tar.xz
$ cd cudnn-linux-x86_64-8.5.0.96_cuda11-archive
# 라이브러리 복사
$ sudo cp include/cudnn* /usr/local/cuda-11.7/include
$ sudo cp lib/libcudnn* /usr/local/cuda-11.7/lib64/
$ sudo chmod a+r /usr/local/cuda-11.7/lib64/libcudnn*
# 설치확인
$ cat /usr/local/cuda-11.7/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
이렇게 설치를 완료했다.
# 참고
- 설치과정: https://hiseon.me/linux/ubuntu/cuda-install/
- 설치 후 심볼릭 링크 문제 발생 시: https://webnautes.tistory.com/1479
$ sudo ln -sf /usr/local/cuda-11.5/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.3.0 /usr/local/cuda-11.5/targets/x86_64-linux/lib/libcudnn_adv_train.so.8
$ sudo ln -sf /usr/local/cuda-11.5/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.3.0 /usr/local/cuda-11.5/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8
$ sudo ln -sf /usr/local/cuda-11.5/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.3.0 /usr/local/cuda-11.5/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8
$ sudo ln -sf /usr/local/cuda-11.5/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.3.0 /usr/local/cuda-11.5/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8
$ sudo ln -sf /usr/local/cuda-11.5/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.3.0 /usr/local/cuda-11.5/targets/x86_64-linux/lib/libcudnn_ops_train.so.8
$ sudo ln -sf /usr/local/cuda-11.5/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.3.0 /usr/local/cuda-11.5/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8
$ sudo ln -sf /usr/local/cuda-11.5/targets/x86_64-linux/lib/libcudnn.so.8.3.0 /usr/local/cuda-11.5/targets/x86_64-linux/lib/libcudnn.so.8
- Tensorflow와 CUDA, cuDNN 조합의 테스트된 빌드 구성: https://www.tensorflow.org/install/source#tested_build_configurations
# 기타: CUDA & cuDNN 라이브러리 삭제
# nvidia 드라이버 제거
# Search what packages from nvidia you have installed.
$ dpkg -l | grep -i nvidia
# If you are currently in GUI mode or are using GUI mode in one or more other sessions, the removal may not be complete. So press Control + Alt + F1 to switch to CUI console mode. F1 ~ F8 No matter what, F4 is GUI mode (window mode).
# If you want to be sure that you will purge everything related to nvidia you can give this command
# 만약 지금 GUI 모드에서 접근중이거나 다른 1개이상의 세션에서 GUI 모드를 사용하고 있는 경우 제거가 완벽하게 진행되지 않을 수 있습니다. 그렇기 때문에 Control + Alt + F1 을 눌러 CUI 콘솔 모드로 전환합니다. F1~F8 아무거나 상관없으며, F4 는 GUI 모드(윈도우 모드)입니다.
# nvidia와 관련된 모든 패키지들을 제거하고 싶다면, 아래 명령어를 사용하시면 됩니다.
$ sudo apt-get remove --purge 'nvidia-*'
# CUDA 제거
$ sudo apt-get --purge remove 'cuda*'
$ sudo apt-get autoremove --purge 'cuda*'
# CUDA 폴더 제거
$ sudo rm -fr '/usr/local/cuda*'
# cuDNN 제거
$ sudo apt-get --purge remove 'libcudnn7*'
$ sudo apt-get autoremove --purge 'libcudnn7*'
# 참고
다음 포스트에서는 가상환경 구축과정을 진행한다.
2021.04.01 - [Development/Machine Learning] - 딥러닝(Deep Learning) 개발환경 구축하기 for Ubuntu 16.04 (2)
728x90
반응형
'Development > Machine Learning' 카테고리의 다른 글
딥러닝(Deep Learning) 개발환경 구축하기 for Mac OS X (2) (0) | 2021.04.14 |
---|---|
딥러닝(Deep Learning) 개발환경 구축하기 for Mac OS X (1) (0) | 2021.04.14 |
딥러닝(Deep Learning) 개발환경 구축하기 for Ubuntu 16.04 (3) (0) | 2021.04.01 |
딥러닝(Deep Learning) 개발환경 구축하기 for Ubuntu 16.04 (2) (2) | 2021.04.01 |
Tensorflow Object Detection API (0) | 2021.03.18 |