【发布时间】:2018-11-23 06:44:42
【问题描述】:
我正在使用 Kubernetes(K8) v1.7 并且想知道我是否可以在多个 pod 之间共享一个 GPU。我在 TensorFlow 中有一个 MNIST 机器学习程序,其中 GPU 分配设置为 30%,GPU 增长allow_growth 为假。两个清单文件用于在 K8 下部署两个单独的作业。当我一起运行它们时,一个被安排,另一个等待,因为 GPU 资源不可用。在我的清单文件中,我将 alpha.kubernetes.io/nvidia-gpu 设置为 0.5。当我检查 GPU 进程时,它总是显示一个进程正在运行。如果我从 Kubernetes 停止一项作业,那么其他作业会被安排并显示在 GPU 进程中。仅供参考,我使用的机器只有一个 GPU。所以我的问题是 Kubernetes 是否支持 GPU 共享?我可以共享一个 GPU 并在清单文件中定义它吗?
Manifest 的一部分(两个作业具有相同的 GPU 请求)
resources:
limits:
alpha.kubernetes.io/nvidia-gpu: 0.5
nvidia-smi 命令的输出一次显示 1 个进程
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.26 Driver Version: 396.26 |
|-------------------------------+----------------------+----------------------+
| 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:0B:00.0 Off | N/A |
| 0% 33C P2 59W / 275W | 177MiB / 11178MiB | 8% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 15513 C python3 167MiB |
+-----------------------------------------------------------------------------+
【问题讨论】:
标签: tensorflow kubernetes gpu nvidia mnist