새소식

Ubuntu

딥러닝을 위한 Ubuntu에서 CUDA, CUDNN 환경 구축

  • -
728x90
반응형

0. 기본 환경

이 글은 아래의 환경 및 버전을 기준으로 작성 및 설명함

Ubuntu : 20.04.6 LTS

Conda : Anaconda3-2020.11

CUDA : 11.7

cuDNN : 8.4.1

 

1. 패키지 업데이트, 업그레이드

터미널에 아래의 명령어를 입력

sudo apt-get update
sudo apt-get upgrade
reboot  # 재부팅

 

2. 한글 입력 설치

터미널에 아래의 명령어를 입력

sudo apt upgrade ibus-hangul
reboot  # 재부팅

위의 명령어를 통해 설치가 완료되면, 설정(Settings) -> 지역 및 언어 (Location and Languages) -> 입력 소스(Input source) -> '+' (추가 버튼) 에 들어가서 '한국어'에서 '한국어(Hangul)'을 찾아서 추가 -> 영어(English) 입력 소스의 '휴지통 아이콘'(제거 버튼)을 눌러 영어 입력기 제거 -> '한국어(Hangul)'의 '톱니바퀴 아이콘'(설정 버튼) 에서 한글 입력 전환방법 등 설정 가능

 

3. GCC 설치

터미널에 아래의 명령어를 입력하여 설치

sudo apt install build-essential -y

설치가 완료되면, 아래의 명령어를 입력하여 설치된 GCC 버전 확인

gcc --version

 

4. Anaconda 설치

아래의 링크에서 본인의 아키텍처에 맞는 파일(.sh) 다운로드

 

Download Now | Anaconda

Anaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities.

www.anaconda.com

파일(.sh)이 저장된 폴더에서 터미널에 아래의 명령어를 입력하여 설치

bash Anaconda3-2020.11-Linux-x86_64.sh

설치 시, enter를 누르면 라이센스를 확인하는 화면이 나오는데, Ctrl+C를 눌러 바로 라이센스 확인 완료 화면이 나오고, yes를 입력한 뒤, 설치 위치 지정 문구 화면에서는 enter를 누르고, conda init 실행 문구 화면에서는 yes를 입력하여 설치 완료

처음에는 터미널에 conda 명령어가 되지 않으므로, 터미널에 아래의 명령어를 입력

sudo gedit ~/.bashrc

텍스트 편집기가 열리면 마지막 줄에 아래의 내용 그대로 추가 후, 저장

export PATH=~/anaconda3/bin:~/anaconda3/condabin:$PATH

이후 터미널에서 아래의 명령어를 입력하여 터미널 환경에 적용 후, conda 설치 버전 확인

source ~/.bashrc
conda -V
reboot  # 재부팅

터미널을 실행할 때, conda 환경이 자동으로 실행되지 않게 하려면 아래의 명령어를 터미널에 입력

conda config --set auto_activate_base false

본인이 백업해둔 conda 환경 파일(.yaml)이 있다면, 아래의 명령어를 터미널에 입력하여 복구 가능

conda env create -f py39.yaml

참고로, 아래의 명령어를 입력하면 본인의 conda 환경을 파일(.yaml)로 백업할 수 있음

conda activate py39
conda env export > py39.yaml

 

5. NVIDIA Driver & CUDA 설치

아래의 링크에서 본인의 아키텍처에 맞는 파일(.run) 다운로드 (이전 릴리즈 버전도 설치 가능)

 

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

터미널에 아래의 명령어를 입력

sudo gedit /etc/modprobe.d/blacklist.conf

텍스트 편집기가 열리면 마지막 줄에 아래의 내용 그대로 추가 후, 저장

blacklist nouveau
options nouveau modeset=0

이후 터미널에 아래의 명령어를 입력하여 Nouveau 비활성화 후, 시스템 재부팅

sudo update-initramfs -u
reboot  # 재부팅
sudo systemctl isolate multi-user.target  # Ubuntu의 DisplayManager를 비활성화 (CLI 모드 진입)

터미널에 아래의 명령어를 입력하여 다운로드 된 파일(본인이 다운로드 한 버전에 따라 파일명이 다르므로 주의) 권한 변경 후, 파일을 통해 Driver와 CUDA 설치

chmod +x cuda_11.7.1_515.65.01_linux.run
sudo sh cuda_11.7.1_515.65.01_linux.run

라이센스에 대해 동의한다는 의미의 accept를 입력한 뒤, Driver와 CUDA 등 본인이 설치하고 싶은 것에 체크를 한 뒤 Install 선택하여 설치(본인이 다운로드 한 버전에 맞게 /usr/local/cuda-<버전> 의 위치에 설치 됨) 후, 아래의 명령어를 입력하여 GUI 환경 접속

sudo systemctl start graphical.target  # Ubuntu의 DisplayManager를 활성화 (GUI 모드 진입)

터미널에 아래의 명령어를 입력하여 본인이 사용할 CUDA에 대한 경로 지정

gedit ~/.bashrc

텍스트 편집기가 열리면 마지막 줄에 아래의 내용 그대로 추가 후, 저장

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}}

이후 터미널에서 아래의 명령어를 입력하여 터미널 환경에 적용 후, CUDA 설치 버전 확인

source ~/.bashrc
nvcc -V
reboot  # 재부팅

 

6. cuDNN 설치

아래의 링크에서 본인의 아키텍처에 맞는 파일(.tar) 다운로드 (이전 릴리즈 버전도 설치 가능)

 

cuDNN Archive

Download releases from the GPU-accelerated primitive library for deep neural networks.

developer.nvidia.com

터미널에 아래의 명령어를 입력하여 압축 해제

tar -xvf cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive.tar.xz

압축 해제가 완료되면, 터미널에 아래의 명령어를 입력하여 파일을 복사하고 권한을 부여하는 과정을 통해 cuDNN 설치

sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda-11.7/include
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda-11.7/lib64
sudo chmod a+r /usr/local/cuda-11.7/include/cudnn*.h /usr/local/cuda-11.7/lib64/libcudnn*

터미널에 아래의 명령어를 입력하여 설치 확인 가능

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

 

7. TensorFlow와 PyTorch에서 GPU 가속을 이용할 수 있는지 확인하기

터미널에 아래의 명령어를 입력하여 확인 가능하며, 위의 과정들을 통해 Nvidia Graphic Driver, CUDA, CUDNN이 올바르게 설치 되어서 GPU가속을 사용할 수 있다면 available, 그렇지 않으면 not available을 출력

import tensorflow as tf; print("GPU is", "available" if tf.config.list_physical_devices('GPU') else "not available")  # TensorFlow
import torch; print("GPU is", "available" if torch.cuda.is_available() else "not available")  # PyTorch

 

8. VSCode 설치

아래의 링크에서 본인의 아키텍처에 맞는 파일(.deb) 다운로드

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

다운로드 된 파일(.deb)을 더블 클릭하여 설치

본인이 백업해둔 확장프로그램 목록이 있다면, 터미널에 아래의 명령어를 입력하여 복구 가능

cat extensions.list | while read extension; do code --install-extension "$extension"; done

참고로, 아래의 명령어를 입력하면 확장프로그램 목록을 파일(.list)로 백업할 수 있음

code --list-extensions > extensions.list

추가적으로, 본인의 VSCode 작업 환경에 대한 전역 설정 파일을 백업 및 복구하려면 ~/.config/Code/User/settings.json 파일을 이용하면 됨

 

9. OpenSSH 설치

터미널에 아래의 명령어를 입력하여 설치

sudo apt install openssh-server

위의 명령어를 통해 설치가 완료되면, 아래의 명령어를 입력하여 설치 확인 가능

sudo systemctl status ssh
728x90
반응형

'Ubuntu' 카테고리의 다른 글

우분투 영상 코덱 설치  (0) 2024.05.29
swap 메모리 크기 변경  (0) 2024.05.04
root 계정 생성  (0) 2024.04.23
SCP를 이용한 원격지의 파일 전송 및 수신  (2) 2024.04.19
Terminal에서 커서가 안보이게 될 경우  (0) 2023.11.16
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.