Ubuntu 20.04에서 nvidia driver, cuda, cudnn, pytorch 설치의 모든 것
ubuntu 20.04, nvidia driver 495, cuda 11.3, cudnn 8.2.1, pytorch 버전을 설치하는 방법입니다.
우분투에서 파이썬 가상환경도 만들어봅니다.
기존 nvidia, cuda 완전 삭제
-
혹시 우분투에 nvidia, cuda를 설치한 적이 있다면 해당 명령어를 터미널에 실행해보길 바란다. 1
$ sudo apt-get purge nvidia*
$ sudo apt-get autoremove
$ sudo apt-get autoclean
$ sudo rm -rf /usr/local/cuda*
설치가능한 드라이버 확인
-
그래픽 카드 및 설치 가능한 드라이버를 다음 명령어로 확인해본다.
$ ubuntu-drivers devices
- 이제 설치하고픈 버전을 골라 설치하거나, 자동으로 드라이버를 설치한다. 2
-
본인은
nvidia-driver-495
로 설치해보겠다.# 자동으로 드라이버 설치 $ sudo ubuntu-drivers autoinstall
# 원하는 버전 설치 $ sudo apt install nvidia-driver-495
-
nvidia 드라이버 설치가 끝나면 NVIDIA kernel module의 load를 도와주는
modprobe
패키지를 설치한다. 3$ sudo apt-get install dkms nvidia-modprobe
-
그리고 다음 명령어로 마무리해준다.
$ sudo apt update $ sudo apt upgrade # 재부팅 $ sudo reboot
- 재부팅 후 설치가 잘 되었는지 확인하기 위해 다음 명령어를 실행해본다.
-
아래처럼 잘 나오면 설치가 잘 된것이다.
$ nvidia-smi
cuda 11.3 설치
- cuda 11.3을 설치하기 위해 해당 사이트에 들어간다.
- NVIDIA DEVELOPER - CUDA Toolkit Archive
- 그 다음, linux -> x86_64 -> Ubuntu -> 20.04 -> runfile(local)로 가 해당 명령어를 실행한다.
# runfile(local)
$ wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run
$ sudo sh cuda_11.3.1_465.19.01_linux.run
# 만약 위 과정이 안되면 아래 명령어를 실행한다. - deb(local)
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda-repo-ubuntu2004-11-3-local_11.3.1-465.19.01-1_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu2004-11-3-local_11.3.1-465.19.01-1_amd64.deb
$ sudo apt-key add /var/cuda-repo-ubuntu2004-11-3-local/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get -y install cuda
- Continue 후, accept, 그 다음 Driver 선택을 해제후 Install 한다.
- 설치가 잘 진행되었다면 아래 그림처럼 나올 것이다.
만약 gcc가 없어서 문제가 발생한다면, 다음 명령어를 수행한다.
$ sudo apt update
$ sudo apt install build-essential
$ sudo apt-get install manpages-dev
-
cuda 버전을 확인하고 싶으면, 다음 명령어를 실행한다.
$ nvcc -V
-
CUDA Toolkit 관련 설정을 환경 변수에 추가하기 위해 다음 명령어를 실행한다. 4
$ sudo sh -c "echo 'export PATH=$PATH:/usr/local/cuda-11.3/bin'>> /etc/profile" $ sudo sh -c "echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.3/lib64'>> /etc/profile" $ sudo sh -c "echo 'export CUDARDIR=/usr/local/cuda-11.3'>> /etc/profile" $ source /etc/profile
cuDNN 설치
- cuDNN을 설치하기 위해 해당 사이트에 접속한다.
- NVIDIA 계정이 있어야 한다. 없다면 회원가입해야 한다는 점 유의한다.
- 그림에 표시한대로 따라 다운로드 받는다.
- 다운로드 받은 파일을 압축풀어 파일을 복사한다.
- 복사 명령어 :
cp [복사할 디렉토리/파일] [복사될 디렉토리/파일]
- 압축 풀기 명령어 :
tar xvzf [압축 파일명]
-
*
은 모든 것을 포함한다는 의미$ 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.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn.so.8
- 복사 명령어 :
-
새로 추가된 라이브러리를 시스템에서 찾을 수 있도록 한다.
$ sudo ldconfig
-
다음은 설정이 제대로 되었는지 확인하기 위한 명령어이다.
ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
python 가상환경 설치
-
먼저 python 버전을 확인하고, venv를 설치해준다. 5
$ python3 --version $ sudo apt-get install python3-venv
-
그다음, 원하는 이름으로 가상환경을 생성한다.
$ python3 -m venv [가상환경 이름] # 예시로 $ python3 -m venv tf2.8
- 다음은 가상환경를 활성화하는 과정이다.
-
활성화하면 터미널 앞에 가상환경 이름이 나타날 것이다.
$ source [가상환경 이름]/bin/activate # 예시로 $ source tf2.8/bin/activate
deactivate
를 실행하면, 가상환경은 종료된다.
pytorch 및 필수 패키지 설치
- 가상환경을 활성화했다면 다음 패키지를 설치해준다.
- pytorch는 cuda 11.3에 맞는 버전이다.
- pytorch 버전을 알고 싶으면 다음 사이트를 참고하길 바란다.
- pytorch.org - get_started
-
그외 필요한 패키지는 아래와 같은 방식으로 설치해주면 된다.
$ pip install --upgrade pip --user $ pip install pandas matplotlib seaborn scipy sklearn $ pip install jupyter notebook $ pip install ipykernel $ python -m ipykernel install --user --name 가상환경이름 --display-name 표시할 가상환경 이름 $ pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113
댓글남기기