docker는 GPU를 지원하며, docker는 nvidia-docker2를 통해 GPU를 사용할 수 있습니다. daemon.json 파일에서 nvidia를 사용하도록 런타임을 구성합니다. 컨테이너를 시작한 후 nvidia-smi를 실행하여 모든 GPU를 확인합니다.
Docker를 사용하여 GPU를 마운트하는 방법 소개:
Use nvidia-docker2
간단히 nvidia-docker2를 사용하면 GPU를 손쉽게 사용할 수 있습니다. 런타임을 구성하고 nvidia를 사용하기만 하면 됩니다
cat /etc/docker/daemon.json { "default-runtime": "nvidia", "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] } }, "exec-opts": ["native.cgroupdriver=systemd"] }
시작한 후입니다. 컨테이너에서 nvidia-smi를 실행하여 모든 GPU 카드를 확인하세요.
[root@localhost] docker run -it 98b41a1e975d bash root@6db1dd28459d:/notebooks# nvidia-smi +-----------------------------------------------------------------------------+ | NVIDIA-SMI 410.79 Driver Version: 410.79 CUDA Version: 10.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:8A:00.0 Off | 0 | | N/A 40C P0 57W / 300W | 4053MiB / 16130MiB | 4% Default | +-------------------------------+----------------------+----------------------+ | 1 Tesla V100-SXM2... On | 00000000:8B:00.0 Off | 0 | | N/A 38C P0 40W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 2 Tesla V100-SXM2... On | 00000000:8C:00.0 Off | 0 | | N/A 42C P0 46W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 3 Tesla V100-SXM2... On | 00000000:8D:00.0 Off | 0 | | N/A 39C P0 40W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 4 Tesla V100-SXM2... On | 00000000:B3:00.0 Off | 0 | | N/A 39C P0 42W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 5 Tesla V100-SXM2... On | 00000000:B4:00.0 Off | 0 | | N/A 41C P0 57W / 300W | 7279MiB / 16130MiB | 4% Default | +-------------------------------+----------------------+----------------------+ | 6 Tesla V100-SXM2... On | 00000000:B5:00.0 Off | 0 | | N/A 40C P0 45W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 7 Tesla V100-SXM2... On | 00000000:B6:00.0 Off | 0 | | N/A 41C P0 44W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| +-----------------------------------------------------------------------------+
NVIDIA_DRIVER_CAPABILITIES를 통해 일부 라이브러리를 추가할 수 있습니다. NVIDIA_VISIBLE_DEVICES를 통해 특정 GPU 카드만 사용할 수 있습니다
[root@localhost cuda-9.0]# docker run -it --env NVIDIA_DRIVER_CAPABILITIES="compute,utility" --env NVIDIA_VISIBLE_DEVICES=0,1 98b41a1e975d bash root@97bf127ff83a:/notebooks# nvidia-smi Tue Oct 15 09:29:45 2019 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 410.79 Driver Version: 410.79 CUDA Version: 10.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:8A:00.0 Off | 0 | | N/A 39C P0 57W / 300W | 4053MiB / 16130MiB | 3% Default | +-------------------------------+----------------------+----------------------+ | 1 Tesla V100-SXM2... On | 00000000:8B:00.0 Off | 0 | | N/A 37C P0 40W / 300W | 0MiB / 16130MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| +-----------------------------------------------------------------------------+
더 많은 관련 튜토리얼을 보려면 PHP 중국어 웹사이트docker 튜토리얼 칼럼을 참고하세요.
위 내용은 도커는 GPU를 지원하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!