본문 바로가기
DevOps/Linux, Git

[Ubuntu 20.04] Nvidia-Driver, CUDA, Nvidia-Docker 설치 및 완전 삭제

by DUSTIN KANG 2024. 6. 12.

Nvidia-Driver  설치

Nvidia GPU를 사용하려면 OS에 맞는 Driver를 설치해야합니다.

다음 코드로 설치 가능한 드라이버 버전을 확인합니다.

ubuntu-drivers devices

 

Repository를 추가하고 업데이트합니다.

이후, 원하는 버전의 설치가 가능한 Nvidia-Driver를 설치합니다.

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

# 설치할 수 있는 드라이버 확인
sudo apt-cache search nvidia | grep nvidia-driver 

# 드라이버 설치
# sudo apt-get install nvidia-driver-[version]
sudo apt-get install nvidia-driver-550

 

드라이버가 설치 완료되었으면 재부팅한 다음, 제대로 설치 되었는지 확인합니다.

# 재부팅
sudo reboot

# 확인
nvidia-smi


CUDA 설치

이번엔 CUDA를 설치해봅시다.

해당 사이트에서 자신의 운영체제에 맞는 ToolKit을 설치해야 합니다.(상위 그림에 나와 있는 CUDA 버전을 참고하여 설치해야합니다.

deb(local)

의존성 관리나 설치 과정이 자동화되어 있기 때문에 편리하다는 장점이 있습니다.

# pin 추가
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

# cuda 패키지 다운로드 & 등록
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-ubuntu2004-12-4-local_12.4.0-550.54.14-1_amd64.deb

# 키를 추가하는 명령어
sudo dpkg -i cuda-repo-ubuntu2004-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2004-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/

# 패키지 저장소 업데이트
sudo apt-get update

# cuda 패키지 설치
sudo apt-get -y install cuda-toolkit-12-4

 

runfile(local)

특정 구성 요소만 설치해야할 경우 혹은 설치 과정을 조정해야할 경우 사용합니다.

# CUDA Toolkit 설치용 파일 다운로드
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run

# 설치 파일 실행
sudo chmod 777 cuda_12.4.0_550.54.14_linux.run
sudo sh cuda_12.4.0_550.54.14_linux.run

 

아마 생각보다... 이래도 되나 싶을 정도로 3분 기다렸는데 뜨더라구요.. 좀 기다리셔야 합니다.

첫번째 그림에서는 `Continue`, 두번째 그림에서는 `accept`를 입력하고 마지막 그림에서는 Driver를 체크 해제 후 `Install`합니다.

 

다시 오랜 시간이 걸립니다...

드디어 CUDA까지 설치 완료했습니다.

이번엔 환경 변수를 추가하고 제대로 설치가 되었는지 Cuda-Toolkit를 확인해봅시다.

# 환경 변수 등록(cuda 버전 맞게 작성해주세요.)
export PATH=$PATH:/usr/local/cuda-12.4/bin
export CUDADIR=/usr/local/cuda-12.4
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.4/lib64

# 확인
nvcc -V # not nvcc -v

CUDA 설치 완료


Docker & Nvidia Docker 설치

반드시, Docker를 설치한 후에 Nvidia-Docker를 설치해야합니다.

Nvidia-Docker는 Docker의 플러그인으로 동작하기 때문입니다. 그래야 Docker 컨테이너가 GPU를 사용할 수 있어요.

Docker 설치

먼저 업데이트 후 패키지를 설치 합니다.

sudo apt-get update
sudo apt-get install -y curl \
ca-certificates \
software-properties-common \
gnupg \
lsb-release

 

그다음, GPG키와 저장소를 추가합니다.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

 

마지막으로 Docker 엔진을 설치합니다.

curl -fsSL https://get.docker.com/ | sudo sh


# 제대로 설치되었는지 확인
sudo docker ps
service docker status

Nvidia-Docker 설치

#Add GPG key and Repo. 
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

#Install Nvidia-Docker 
$ sudo apt-get update
$ sudo apt-get install -y nvidia-docker2

 

모든 설치가 완료되었다면 아래 명령어를 통해 nvidia-smi 명령어가 자동으로 출력되는지 확인해봅니다. 참고자료↗

# When you installed 
sudo nvidia-docker run --rm --gpus all ubuntu:20.04 nvidia-smi

# When you installed CUDA, Container Test
sudo nvidia-docker run --rm --gpus all nvidia/cuda:12.2.2-base-ubuntu20.04 nvidia-smi

# Confirm
sudo nvidia-docker ps

 


Nvidia-Driver & CUDA & Docker 완전 삭제

# Nvidia-Driver
sudo apt-get purge nvidia*
sudo apt-get autoremove
sudo apt-get autoclean

# CUDA
sudo rm -rf /usr/local/cuda*
sudo apt-get --purge remove 'cuda*'
sudo apt-get autoremove --purge 'cuda*'

# Docker
sudo apt remove nvidia-docker2
sudo apt remove libnvidia-container1

sudo apt-get purge -y docker-engine docker docker.io docker-ce docker-ce-cli
sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce

sudo rm -rf /var/lib/docker /etc/docker
sudo rm /etc/apparmor.d/docker
sudo groupdel docker
sudo rm -rf /var/run/docker.sock

sudo rm -rf /usr/local/bin/docker-compose
sudo rm -rf /etc/docker
sudo rm -rf ~/.docker

 

만약 삭제되지 않은 파일들이 있을 수도 있으니 아래 코드로 다시한번 확인해봅니다.

# docker, nvidia, cuda
sudo dpkg -l | grep -i docker

sudo apt-get remove --purge 지울이름

 


☕️ 포스팅이 도움이 되었던 자료

오늘도 저의 포스트를 읽어주셔서 감사합니다.

설명이 부족하거나 이해하기 어렵거나 잘못된 부분이 있으면 부담없이 댓글로 남겨주시면 감사하겠습니다.