검색결과 리스트
글
기본적으로 Docker 를 통해서 Container 를 실행하면, GPU 자원은 사용할 수가 없습니다.
NVIDIA 의 GPU 를 Docker 에서 사용하기 위한 설정을 해 보도록 하겠습니다.
Docker 에서 GPU 사용하기
당연한 이야기지만, host 에 nvidia GPU 가 설치된 경우에 해당하는 글입니다.
있지도 않는 GPU 가 Container 에서 동작하지는 않겠죠 :)
nvidia-docker 설치하기
공식적인 nvidia-docker 설치 매뉴얼 주소:
https://github.com/NVIDIA/nvidia-docker
Docker 에서 nvidia GPU 를 사용하려면, nvidia-docker 라는 플러그인을 설치하여야 합니다.
먼저 Nvidia Driver 가 설치되어 있어야 합니다.
$ nvidia-smi
Mon Sep 3 17:48:58 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.125 Driver Version: 384.125 |
|-------------------------------+----------------------+----------------------+
| 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 GTX 108... Off | 00000000:01:00.0 Off | N/A |
| 33% 47C P0 54W / 250W | 0MiB / 11172MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 GeForce GTX 108... Off | 00000000:0A:00.0 Off | N/A |
| 0% 39C P5 23W / 250W | 0MiB / 11172MiB | 2% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | \
sudo tee /etc/yum.repos.d/nvidia-docker.repo
이제 nvidia-docker2 를 설치합니다.
$ sudo yum install -y nvidia-docker2
$ sudo pkill -SIGHUP dockerd
nvidia-docker 설치 확인
설치가 완료되었다면, nvidia 가 포함된 container 를 만들고 nvidia-smi 를 통해서 GPU 를 사용할 수 있는 상태인지 확인해 봅니다.
$ docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
참고로 --runtime=nvidia 는 nvidia 런타임을 쓰겠다는 것인데, 아래처럼 명시적으로 runtime 을 실행할 수도 있습니다.
$ nvidia-docker run --rm nvidia/cuda nvidia-smi
결과로 아래처럼 nvidia-smi 가 실행되면, 제대로 설치된 것입니다.
$ nvidia-docker run --rm nvidia/cuda nvidia-smi
Mon Sep 3 08:55:13 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.125 Driver Version: 384.125 |
|-------------------------------+----------------------+----------------------+
| 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 GTX 108... Off | 00000000:01:00.0 Off | N/A |
| 33% 47C P0 54W / 250W | 0MiB / 11172MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 GeForce GTX 108... Off | 00000000:0A:00.0 Off | N/A |
| 0% 39C P5 23W / 250W | 0MiB / 11172MiB | 2% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
'네트워크' 카테고리의 다른 글
Docker with Kubernetes #6 - Dashboard 사용 (0) | 2018.09.04 |
---|---|
Docker with Kubernetes #5 - Dashboard 설치 (9) | 2018.09.03 |
Docker with Kubernetes #4 - Kubernetes 설치 (2) | 2018.09.03 |
Docker with Kubernetes #3 - Docker Compose (0) | 2018.09.03 |
Docker with Kubernetes #1 - Docker 설치 (0) | 2018.09.03 |
RECENT COMMENT