主机操作系统版本:CentOS 7.3
Docker版本:1.12.6
CUDA版本8.0.61
主机上有4个GPU。以下是详细信息:
"Devices": [
{
"PathOnHost": "/dev/nvidiactl",
"PathInContainer": "/dev/nvidiactl",
"CgroupPermissions": "mrw"
},
{
"PathOnHost": "/dev/nvidia-uvm",
"PathInContainer": "/dev/nvidia-uvm",
"CgroupPermissions": "mrw"
},
{
"PathOnHost": "/dev/nvidia2",
"PathInContainer": "/dev/nvidia0",
"CgroupPermissions": "mrw"
},
{
"PathOnHost": "/dev/fuse",
"PathInContainer": "/dev/fuse",
"CgroupPermissions": "mrw"
}
],
请参阅下面的Nvidia设备列表:
root@de-18--dev-105631-3244950001-48pjz:/sys/fs/cgroup/devices# ls /dev | grep nv
nvidia-uvm
nvidia-uvm-tools
nvidia0
nvidia1
nvidia2
nvidia3
nvidiactl
root@de-18--dev-105631-3244950001-48pjz:/sys/fs/cgroup/devices# cat devices.list
a *:* rwm
容器未在特权模式下运行。当容器中的GPU数量正确时,但是稍后某个时间,我们可以在容器中看到4个GPU。
最佳答案
容器是应用程序层的抽象,将代码和依赖项打包在一起。多个容器可以在同一台计算机上运行,并与其他容器共享OS内核,每个容器在用户空间中作为隔离的进程运行。虚拟机(VM)是物理硬件的抽象,它将一台服务器变成许多台服务器。这就是您能够看到主机上列出的所有GPU的原因。
使用“docker stats”查找容器的资源使用情况(https://docs.docker.com/engine/reference/commandline/stats/)
关于docker - 为什么Docker容器可以看到主机上的所有GPU设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47031366/