TensorFlow与Kubernetes/Docker结合使用实践(5)

nvidia-docker-plugin工作原理是是其提供了一个API

[root@A01-R06-I184-22 ~]# curl -s :3476/v1.0/docker/cli --volume-driver=nvidia-docker --volume=nvidia_driver_352.39:/usr/local/nvidia:ro --device=/dev/nvidiactl --device=/dev/nvidia-uvm --device=/dev/nvidia0 --device=/dev/nvidia1 --device=/dev/nvidia2 --device=/dev/nvidia3

可以看到curl -s :3476/v1.0/docker/cli命令实际是提供了docker run时候的一些必要参数。其中包括把gpu设备映射进入容器中的部分(--device=/dev/nvidiactl --device=/dev/nvidia-uvm --device=/dev/nvidia0 --device=/dev/nvidia1 --device=/dev/nvidia2 --device=/dev/nvidia3),还包括了将nvidia_driver_352.39存储映射进入容器的部分。

接下来我们对于nvidia_driver_352.39进行分析

[root@A01-R06-I184-22 ~]# docker volume ls DRIVER VOLUME NAME nvidia-docker nvidia_driver_352.39 [root@A01-R06-I184-22 ~]# docker volume inspect nvidia_driver_352.39 [ { "Name": "nvidia_driver_352.39", "Driver": "nvidia-docker", "Mountpoint": "/var/lib/nvidia-docker/volumes/nvidia_driver/352.39" } ]

可以看到该存储其实只是一个文件夹。对文件夹/var/lib/nvidia-docker/volumes/nvidia_driver/352.39/进行分析

[root@A01-R06-I184-22 ~]# tree -L 3 /var/lib/nvidia-docker/volumes/nvidia_driver/352.39/ /var/lib/nvidia-docker/volumes/nvidia_driver/352.39/ ├── bin │  ├── nvidia-cuda-mps-control │  ├── nvidia-cuda-mps-server │  ├── nvidia-debugdump │  ├── nvidia-persistenced │  └── nvidia-smi ├── lib │  ├── libcuda.so -> libcuda.so.352.39 │  ├── libcuda.so.1 -> libcuda.so.352.39 │  ├── libcuda.so.352.39 │  ├── libGL.so.1 -> libGL.so.352.39 │  ├── libGL.so.352.39 │  ├── libnvcuvid.so.1 -> libnvcuvid.so.352.39 │  ├── libnvcuvid.so.352.39 │  ├── libnvidia-compiler.so.352.39 │  ├── libnvidia-eglcore.so.352.39 │  ├── libnvidia-encode.so.1 -> libnvidia-encode.so.352.39 │  ├── libnvidia-encode.so.352.39 │  ├── libnvidia-fbc.so.1 -> libnvidia-fbc.so.352.39 │  ├── libnvidia-fbc.so.352.39 │  ├── libnvidia-glcore.so.352.39 │  ├── libnvidia-glsi.so.352.39 │  ├── libnvidia-ifr.so.1 -> libnvidia-ifr.so.352.39 │  ├── libnvidia-ifr.so.352.39 │  ├── libnvidia-ml.so.1 -> libnvidia-ml.so.352.39 │  ├── libnvidia-ml.so.352.39 │  ├── libnvidia-opencl.so.1 -> libnvidia-opencl.so.352.39 │  ├── libnvidia-opencl.so.352.39 │  ├── libvdpau_nvidia.so.1 -> libvdpau_nvidia.so.352.39 │  └── libvdpau_nvidia.so.352.39 └── lib64 ├── libcuda.so -> libcuda.so.352.39 ├── libcuda.so.1 -> libcuda.so.352.39 ├── libcuda.so.352.39 ├── libGL.so.1 -> libGL.so.352.39 ├── libGL.so.352.39 ├── libnvcuvid.so.1 -> libnvcuvid.so.352.39 ├── libnvcuvid.so.352.39 ├── libnvidia-compiler.so.352.39 ├── libnvidia-eglcore.so.352.39 ├── libnvidia-encode.so.1 -> libnvidia-encode.so.352.39 ├── libnvidia-encode.so.352.39 ├── libnvidia-fbc.so.1 -> libnvidia-fbc.so.352.39 ├── libnvidia-fbc.so.352.39 ├── libnvidia-glcore.so.352.39 ├── libnvidia-glsi.so.352.39 ├── libnvidia-ifr.so.1 -> libnvidia-ifr.so.352.39 ├── libnvidia-ifr.so.352.39 ├── libnvidia-ml.so.1 -> libnvidia-ml.so.352.39 ├── libnvidia-ml.so.352.39 ├── libnvidia-opencl.so.1 -> libnvidia-opencl.so.352.39 ├── libnvidia-opencl.so.352.39 ├── libnvidia-tls.so.352.39 ├── libvdpau_nvidia.so.1 -> libvdpau_nvidia.so.352.39 └── libvdpau_nvidia.so.352.39 3 directories, 52 files

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/18dee5ff819725032a80428cb8783486.html