限制nvidia docker中GPU的使用?
我正在多GPU服务器上设置一个内部Jupyterhub。Jupyter访问是通过docker实例提供的。我想限制每个用户访问不超过一个GPU。如有任何建议或意见,我将不胜感激。谢谢。你可以试一下限制nvidia docker中GPU的使用?,docker,jupyterhub,nvidia-docker,Docker,Jupyterhub,Nvidia Docker,我正在多GPU服务器上设置一个内部Jupyterhub。Jupyter访问是通过docker实例提供的。我想限制每个用户访问不超过一个GPU。如有任何建议或意见,我将不胜感激。谢谢。你可以试一下 通过这种方式可以解决问题,只需在“nvidia docker”之前添加环境变量“NV_GPU”,如下所示: 或者,阅读有3个选项 具有NVIDIA运行时的Docker(版本2.0.x) 据 nvidia docker(1.0.x版) 基于 (它与tensorflow一起工作) 以编程方式 我认为Doc
通过这种方式可以解决问题,只需在“nvidia docker”之前添加环境变量“NV_GPU”,如下所示:
或者,阅读有3个选项 具有NVIDIA运行时的Docker(版本2.0.x) 据 nvidia docker(1.0.x版) 基于 (它与tensorflow一起工作) 以编程方式
我认为Docker在这个问题上没有什么可说的。如果你可以在不使用Docker的情况下限制你的应用程序使用单个GPU,那么你也可以使用Docker。我无法控制人们将要运行的应用程序。这应该是一台教学机器。我想限制单个用户的可用资源,以防止任何滥用。
version: "2"
services
process1:
image: nvidia/cuda
devices:
- /dev/nvidia0
[root@bogon ~]# NV_GPU='4,5' nvidia-docker run -dit --name tf_07 tensorflow/tensorflow:latest-gpu /bin/bash
e04645c2d7ea658089435d64e72603f69859a3e7b6af64af005fb852473d6b56
[root@bogon ~]# docker attach tf_07
root@e04645c2d7ea:/notebooks#
root@e04645c2d7ea:/notebooks# ll /dev
total 4
drwxr-xr-x 5 root root 460 Dec 29 03:52 ./
drwxr-xr-x 22 root root 4096 Dec 29 03:52 ../
crw--w---- 1 root tty 136, 0 Dec 29 03:53 console
lrwxrwxrwx 1 root root 11 Dec 29 03:52 core -> /proc/kcore
lrwxrwxrwx 1 root root 13 Dec 29 03:52 fd -> /proc/self/fd/
crw-rw-rw- 1 root root 1, 7 Dec 29 03:52 full
drwxrwxrwt 2 root root 40 Dec 29 03:52 mqueue/
crw-rw-rw- 1 root root 1, 3 Dec 29 03:52 null
crw-rw-rw- 1 root root 245, 0 Dec 29 03:52 nvidia-uvm
crw-rw-rw- 1 root root 245, 1 Dec 29 03:52 nvidia-uvm-tools
crw-rw-rw- 1 root root 195, 4 Dec 29 03:52 nvidia4
crw-rw-rw- 1 root root 195, 5 Dec 29 03:52 nvidia5
crw-rw-rw- 1 root root 195, 255 Dec 29 03:52 nvidiactl
lrwxrwxrwx 1 root root 8 Dec 29 03:52 ptmx -> pts/ptmx
drwxr-xr-x 2 root root 0 Dec 29 03:52 pts/
crw-rw-rw- 1 root root 1, 8 Dec 29 03:52 random
drwxrwxrwt 2 root root 40 Dec 29 03:52 shm/
lrwxrwxrwx 1 root root 15 Dec 29 03:52 stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root 15 Dec 29 03:52 stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15 Dec 29 03:52 stdout -> /proc/self/fd/1
crw-rw-rw- 1 root root 5, 0 Dec 29 03:52 tty
crw-rw-rw- 1 root root 1, 9 Dec 29 03:52 urandom
crw-rw-rw- 1 root root 1, 5 Dec 29 03:52 zero
root@e04645c2d7ea:/notebooks#
docker run --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=2,3
nvidia-docker run .... -e CUDA_VISIBLE_DEVICES=0,1,2
import os
os.environ["CUDA_VISIBLE_DEVICES"]="0,1,2"