티스토리 뷰

개발/docker

nvidia-docker Installation in Ubuntu

Jaeyeon Baek 2019.05.27 10:45

nvidia-docker를 사용하기 위해서는 우선 docker가 설치되어 있어야 한다. 우리는 대부분 커뮤니티 버전을 사용하게 될 것이므로 docker Community Edition(docker-ce) 버전으로 설치해주도록 하자. 아래 명령어를 실행하게 되면 get.docker.com에 등록되어 있는 스크립트가 바로 로컬에서 실행되게 되는데 이 스크립트는 기본적으로 docker-ce 레포지토리를 가르키고 있기 때문에 바로 실행시켜주면 되겠다.

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

잠시후 docker 설치가 마무리 되면 nvidia-docker를 설치해주면 된다. 버전이 변경됨에 따라 내용이 달라질 수 있기 때문에 공식 홈페이지의 설치 방법도 함께 확인하면 좋다.

# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker

# Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
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

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

만약 깨끗한 환경에 처음 설치하는 것이라면 첫줄은 실행시키지 않아도 된다. 저부분은 docker 버전업이 필요한 경우에 해당하는 스크립트이기 때문이다. 간단하게 패키지 레포지토리를 등록해주고 nvidia-docker2를 설치하는 것으로 마무리된다. 그리고 끝으로 정상적으로 동작하는지 확인까지 해주면 전체적인 설치가 끝나게 된다.

$ docker run --runtime=nvidia --rm nvidia/cuda:10.0-devel nvidia-smi
Unable to find image 'nvidia/cuda:10.0-devel' locally
10.0-devel: Pulling from nvidia/cuda
6abc03819f3e: Pull complete
05731e63f211: Pull complete
0bd67c50d6be: Pull complete
df320d527cb4: Pull complete
0b2d6734d35c: Pull complete
7659dedf21d9: Pull complete
6ceb90f9e7a3: Pull complete
d7e1b099fec8: Pull complete
Digest: sha256:a84ecb09615e37f4baa17120fed0aee3b92ff74cf94fb0b020bcd1caa8034f03
Status: Downloaded newer image for nvidia/cuda:10.0-devel
Mon May 27 01:31:03 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.48                 Driver Version: 410.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 208...  Off  | 00000000:01:00.0  On |                  N/A |
| 25%   38C    P8    29W / 250W |     93MiB / 10986MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+

테스트가 끝났으면 본격적으로 머신러닝을 시작해주시면 되겠다. :-)

댓글
댓글쓰기 폼