DL 개발환경 설정 (cuda, cudnn, conda, pytorch)

cuda, cudnn, conda, pytorch를 활용한 ML 개발 환경 설정

GPU를 이용하여 Deep learning 모델을 구성하고자 하였으나 다른 기술 블로그에서 기술한대로 수행하여도 동작이 되지 않는다. 해당 공식 문서들을 참고하여 설치하는 법을 기술한다.

목적

  • GPU 및 pytorch 기반 개발을 위한 PC 개발 환경 구성
  • GPU 활용을 위해 nvidia driver, cuda, cudnn 설치와 conda 환경에서 pytorch를 설치하는 방법을 다룬다.

환경

  • OS : ubuntu 20.04 LTS
  • GPU : nvidia 1080ti
  • python 3.8.10 and GCC 9.4.0

설치 절차

우선 모듈의 dependency를 확인해야 한다. 현재 pytorch에서 우분투 20.04를 지원하는 플랫폼은 CUDA 11.7이므로 CUDA 11.7 버전과 이에 적합한 nvidia driver를 설치 해야한다. 필요한 nvidia driver는 사실 cuda를 설치 해보면 dependency 체크를 하면서 필요한 버전을 알려준다.(더 좋은 방법이 있을지도)

Nvidia Driver 설치

  1. nvidia driver 설치 여부 및 현재 설치된 버전을 확인한다.
1
nvidia-smi
  1. 필요 시 기존의 nvidia driver를 삭제한다.
1
2
3
sudo apt-get remove --purge 'nvidia-.*'
sudo apt-get autoremove
sudo apt-get autoclean
  1. 설치가능한 드라이버를 확인한다.
1
ubuntu-drivers devices
  1. 만약 필요한 드라이버 목록에서 없다면 저장소를 추가한다.
1
2
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
  1. 원하는 드라이버를 설치 후 재부팅 한다. 현재 저자의 환경에서는 5.25가 필요하므로 이 버전을 예로 설명한다.
1
2
sudo apt install nvidia-driver-525
sudo reboot

cuda 설치

cuda 홈페이지에서 현재 내 설정에 맞는 runfile을 다운 가능하나 저자는 이상하게 설치가 안되었다. 하기 페이지를 활용하여 네트워크 Repo에서 설치하자 (https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#prepare-ubuntu)

  1. Remove outdated signing key
  2. Install the new cuda-keyring package
  3. Install CUDA SDK
  4. reboot
1
2
3
4
5
6
sudo apt-key del 7fa2af80
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt update
sudo apt-get install cuda-11-7
sudo reboot
  1. 환경변수를 등록한다.
1
2
export PATH=/usr/local/cuda-11.7/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

cudnn 설치

cudnn 역시 package 파일로 설치가 잘 안되서 tar 파일로 설치하였다. (https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html)

  1. 필요한 cudnn 라이브러리 tar를 cudnn 홈페이지에서 다운받는다.
  2. 파일의 압축을 풀고 cuda 라이브러리에 파일을 복사한다.
1
2
3
4
tar -xvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

conda 설치

모듈들의 dependency 및 버전 관리를 위해 가상환경인 conda를 사용하기로 하였다.

  1. 자신의 파이썬 환경에 맡는 miniconda 설치 파일을 받고 이를 실행한다.
1
Miniconda3-latest-Linux-x86_64.sh
  1. 자신이 사용할 가상환경을 만들고 이를 실행한다.
1
2
conda create -n {my_env}
conda activate {my_env}
  1. 터미널 실행 시 자동으로 conda 환경이 실행되는 것을 막을려면 다음을 수행한다.
1
conda config --set auto_activate_base false

pytorch 설치

conda 환경에서 pytorch 홈페이지를 참고하여 pytorch를 설치한다. 자신이 원하는 구성을 고르면 Run command를 알려준다.

1
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

설치 확인

conda 환경에서 python을 터미널을 실행한 후 pytorch cuda 설정 사용 가능 여부가 True로 출력되면 정상

1
2
import torch
print(torch.cuda.is_available())
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy