무효 클릭 IP 추적 중...
리눅스

[docker 기초] 도커 nvidia gpu 초기 세팅 방법

꼬예 2022. 12. 9.

이번 포스팅에서는 도커 컨테이너에서 gpu를 사용하기 위한 초기 세팅법에 대해 알아보려고 합니다.

 

이때 로컬 pc에는 nvidia driver만 설치되어 있으면 됩니다. 

 

 

이 글과 읽으면 좋은 글

 

1. 기존 설치되어 있는 도커 삭제

기존 버전과 충돌이 나면 문제가 생길 수 있기 때문에 깔끔하게 삭제해줍니다.

$ sudo apt-get remove docker docker-engine docker.io containerd runc
$ sudo rm -rf /var/lib/docker
$ sudo apt-get autoclean
$ sudo apt-get update

 

2. Docker ce 설치

  docker ce 는 Community Edition의 약자로 개인이 사용할 수 있는 무료 버전입니다.

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
$ sudo apt update
$ apt-cache policy docker-ce
$ sudo systemctl status docker

 

3.  sudo 없이 도커를 사용하고 싶을 때(선택사항)

기본적으로 도커 명령어를 기입할 때마다   sudo 명령어를 함께 작성해야 합니다.

이 부분이 귀찮으신 분은 아래 명령어 기입하시면  sudo 작성없이 작성이 가능합니다.

$ sudo usermod -aG docker ${USER}
$ su - ${USER}
$ id -nG

output:

 

4. nvidia 도커 설치

$ 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

 

5. 사용방법

설치를 마치고 난 뒤 컨테이너를 run 할 때 3가지 방법 중 아무거나 사용하시면 됩니다.

 

1)  docker run -it --gpus all 이미지명 

2)  docker run -it --runtime nvidia 이미지명 

3)  nvidia-docker run -it 이미지명 

 

+ 추가

모델을 학습시킬때 간혹 memory가 부족하다는 에러를 만날 수 있습니다.

이때는 host pc 메모리를 가져와 사용해야 하는데요.

 

이를 위해 명령어에  --ipc host 를 추가해주면 됩니다.

이는 default로 리소스를 제한하는 도커의 제한을 풀어주는 역할을 합니다.

 

6. 예제 실습

https://hub.docker.com/r/pytorch/pytorch

 

Docker Hub

 

hub.docker.com

예제에서는 pytorch/pytorch 이미지로 container를 만들어보겠습니다.

 

1) image pull

  docker pull pytorch/pytorch 

 

2) gpu 사용 가능하도록 container 실행

  docker run -it --ipc host --gpus all pytorch/pytorch 

 

gpu 세팅후 도커 run

 

3) gpu 사용 가능 여부 확인

(1) python 환경 진입

 

python 환경 진입

 

(2) torch cuda 사용 가능 여부 확인

import torch

print(torch.cuda.is_available()) # gpu 사용가능 확인 True or False
print(torch.cuda.device_count()) # 사용 가능 gpu 갯수 출력

 

gpu사용 가능 확인

True, 4 를 반환하는걸 보면 정상적으로 gpu가 동작하는걸 알 수 있습니다.

  • 트위터 공유하기
  • 페이스북 공유하기
  • 카카오톡 공유하기
이 컨텐츠가 마음에 드셨다면 커피 한잔(후원) ☕

댓글