티스토리 뷰
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 |
|=============================================================================|
+-----------------------------------------------------------------------------+
테스트가 끝났으면 본격적으로 머신러닝을 시작해주시면 되겠다. :-)
'개발 > docker' 카테고리의 다른 글
Jekyll 블로그 docker로 한방에 올리기 (0) | 2019.06.11 |
---|---|
docker 데이터 디렉터리 변경 (14) | 2019.05.27 |
nvidia-docker로 개발환경 한방에 세팅하기 (14) | 2019.05.07 |
RuntimeError: DataLoader worker (pid 13881) is killed by signal: Bus error. (10) | 2019.04.15 |
이미지, 컨테이너 export, import (0) | 2016.12.12 |
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday