1
7
编译器
提问帖
K8s下海光K100AI 切分的 vDCU 的 显存未真正隔离
2026-07-16 15:14:58
112
### 问题 海光 vDCU 的 K8s Devices 字段只映射了设备节点,**未实现显存隔离**。 同一块物理卡启动的两个 vDCU Pod 共享同一块物理显存。 算力倒是真正隔离了,压测显示显卡利用率确实限制在了设置的利用率范围以下。但是显存还是用公用的同一块切分显存。 参数示例: ```language resources: limits: hygon.com/dcunum: 1 hygon.com/dcumem: 16 hygon.com/dcucores: 20 ``` ### 组件版本 | 组件 | 版本 | 说明 | | ---------------------- | ---------------------------- | ----------------------------------------------------- | | Kubernetes | 1.28.x | 控制平面 + 工作节点 | | Calico | v3.28.0+ | 容器网络(K8s 1.28 要求 >= v3.28) | | Volcano | v1.14 海光定制版 | 含 deviceshare.VDCUEnable 扩展 | | HAMi | latest (Helm) | webhook + scheduler extender(extender 冗余但无影响) | | 海光 DCU-Device-Plugin | **>= v2.4.0(推荐 v2.4.1)** | HAMi 模式,**必须设置 RESOURCE_MULTIPLE=true** | | 海光 DCU-Exporter | >= v2.4.0(推荐 v2.4.1) | 可选,暴露 DCU Prometheus 监控指标 | | 海光 DCU-Label-Node | >= v2.4.0(推荐 v2.4.1) | 可选,自动打 DCU 型号/显存标签 | | 海光 DCU 驱动 | >= 6.3.8 | vDCU 动态切分最低要求 | 显卡信息:K100 AI ### 详细信息 | 测试场景 | 结论 | | ------------------------------------ | ----------------------------------------------------- | | PyTorch 单 Pod | 看到 15.98G(≈16G vDCU 配额),能分配 14G | | PyTorch 两个 Pod 同卡 | 看起来隔离(此时未真正占用显存) | | vLLM 两个 Pod (gpu-mem-util=0.4) | ✅ 都成功(各用 ~6.4G,共 12.8G < 16G) | | **vLLM 两个 Pod (gpu-mem-util=0.6)** | ❌ **第二个失败**(第一个占 10.89G,第二个只剩 5.09G) | **关键证据**(vLLM-B 错误日志): ``` ValueError: Free memory on device (5.09/15.98 GiB) on startup is less than desired GPU memory utilization (0.6, 9.59 GiB). ``` - vLLM-B 看到总显存:15.98 GiB(vDCU 配额) - vLLM-B 可用显存:**5.09 GiB**(部分被 vLLM-A 占用) - vLLM-A 占用:15.98 - 5.09 = **10.89 GiB** **结论**:两个 vDCU Pod 共享物理显存,没有真正隔离。 驱动详细版本是Driver Version: 6.3.30-V1.4.1a
全部评论(1)
只看楼主
Q
qhou
楼主
1楼
测试用例:使用vdcu模式启动了两个pod,限制了显存和dcu,然后直接进入pod中查看,发现如下:

第一个pod显示:

HCU Temp AvgPwr Perf PwrCap VRAM% HCU% Mode
0 42.0C 106.0W auto 400.0W 65% 0.0% Normal


第二个pod显示:

HCU Temp AvgPwr Perf PwrCap VRAM% HCU% Mode
0 43.0C 107.0W auto 400.0W 65% 0.0% Normal

他们看到的资源是一样的。
7/16
没有更多内容了
--
楼主
Level.3
0 帖子
楼主热帖
暂无数据