You need to enable JavaScript to run this app.
文档中心
容器服务

容器服务

复制全文
下载 pdf
容器共享 mGPU
通过 mGPU 实现多卡共享
复制全文
下载 pdf
通过 mGPU 实现多卡共享
容器服务提供 mGPU 多卡共享功能,在双层调度的基础上,单个容器可使用同一节点上的多张 GPU 卡共同提供算力和显存资源,打破同一个容器使用算力/显存局限于一张 GPU 卡的束缚,提高 GPU 碎片化资源利用率。本文为您详细介绍如何使用 mGPU 多卡共享功能。​
前提条件​
  • 已创建集群并完成 mGPU 资源配置,包括:安装 mGPU 组件、创建 GPU 节点。详情请参见 配置 mGPU 调度。​
  • 已根据实际场景配置 mGPU 算力分配策略,包括:native-burst-share、fixed-share、guaranteed-burst-share。详情请参见 通过 mGPU 实现算力分配策略。​
使用限制​
本场景依赖的多个组件存在版本限制,推荐新建集群和节点直接使用最新版组件;若期望使用已有集群和节点搭建该场景,请提交 工单申请 获取技术支持,升级组件版本。详细限制如下:​
​
依赖组件​
版本限制​
查看方法​
Kubernetes 版本​
  • 如集群版本过低,请先升级版本。详情请参见 升级集群。​
mGPU 驱动​
07.34.4 及以上​
登录 mGPU 所属云服务器,执行mgpu-cli version命令即可查看 mGPU 驱动版本​
mGPU 组件​
v0.2.0 及以上​
前往控制台的组件管理页面查看。详情请参见 mgpu。​
​
操作步骤​
本文以创建无状态负载(Deployment)为例进行介绍,详细创建步骤参见 创建无状态负载。​
通过控制台配置​
  1. 创建无状态负载的容器配置步骤,在资源配额中启用 mGPU 的 多卡共享配置,并按需配置 GPU 算力、GPU 显存和 GPU 卡数。​
  • ​​​
  • ​
    配置项​
    说明​
    GPU 资源类型​
    多卡共享仅在 mGPU 资源类型生效,本场景选择 mGPU。​
    多卡共享配置​
    默认关闭,本场景需 开启。开启后,将为工作负载提供 mGPU 多卡调度能力,即单个容器可以使用多张 GPU 卡提供算力和显存。​
    GPU 算力​
    配置容器的 GPU 算力,这些算力将由多张 GPU 卡以等分的形式共同提供。​
    • 只能填写 0.01~1 的两位小数、大于 1 的一位小数或正整数。例如:0.01、1.2 或 2。​
    • 单卡算力 = GPU 算力 / GPU 卡数,计算结果的精度不能超过 0.01。​
    GPU 显存​
    配置容器的 GPU 显存,这些显存将由多张 GPU 卡以等分的形式共同提供。​
    配置要求:单卡显存 = GPU 显存 / GPU 卡数,计算结果换算成 MiB 后,需为 1024~81920 之间的整数。​
    GPU 卡数​
    多卡共享场景下,用来共同提供算力和显存的 GPU 卡数,配置范围为 1~8 的整数。​
    显卡类型​
    配置 Pod 需要调度的节点 GPU 型号。默认不限制型号,配置型号后将按照所选型号调度到指定 GPU 节点。​
    ​
  1. 完成容器配置后单击 下一步:高级配置,进入高级配置步骤。系统将默认添加两条注解,请勿手动删除或修改,否则无法满足多卡调度需求。​
  • vke.volcengine.com/multiple-mgpu-<container-name>: "number":GPU 卡数。<container-name>表示容器名称,需要与spec.containers.name配置一致;"number"表示卡数,例如:vke.volcengine.com/multiple-mgpu-pod-demo: "2"。​
  • vke.volcengine.com/mgpu-compute-policy: <policy>:GPU 算力分配策略。<policy>表示分配策略,例如:vke.volcengine.com/mgpu-compute-policy: native-burst-share。​
  • ​​​
  1. 完成所有配置后,单击 确定,将开始创建无状态负载。​
通过 kubectl 命令行配置​
容器服务支持通过实例注解(Annotation)实现 Pod 的 mGPU 多卡共享功能。创建工作负载时,除了常规配置外,还需要增加以下两条注解:​
  • vke.volcengine.com/multiple-mgpu-<container-name>: "number":GPU 卡数。<container-name>表示容器名称,需要与spec.containers.name配置一致;"number"表示卡数,例如:vke.volcengine.com/multiple-mgpu-pod-demo: "2"。​
  • vke.volcengine.com/mgpu-compute-policy: <policy>:GPU 算力分配策略,<policy>表示分配策略,例如:vke.volcengine.com/mgpu-compute-policy: native-burst-share。​
本文以创建无状态负载为例,示例代码和注解说明,如下所示:​
​
apiVersion: apps/v1​
kind: Deployment​
metadata:​
name: mgpu-deployment​
namespace: default​
spec:​
replicas: 1​
selector:​
matchLabels:​
app: mgpu-deployment​
template:​
metadata:​
annotations:​
vke.volcengine.com/multiple-mgpu-pod-demo: "2" # GPU 卡数​
vke.volcengine.com/mgpu-compute-policy: native-burst-share # GPU 算力分配策略​
labels:​
app: mgpu-deployment​
spec:​
containers:​
- name: pod-demo​
image: doc-cn-beijing.cr.volces.com/vke/nginx-demo:v1.0​
resources:​
requests: # 与 limits 保持一致​
vke.volcengine.com/mgpu-memory: 2048​
vke.volcengine.com/mgpu-core: 120​
limits:​
vke.volcengine.com/mgpu-memory: 2048 # GPU 显存,单位为 MiB,此处表示申请 2 GiB 的 GPU 显存​
vke.volcengine.com/mgpu-core: 120 # GPU 算力百分比,此处表示申请 120% 的 GPU 算力​
ports:​
- containerPort: 80​
​
结果验证​
mGPU 多卡共享配置完成后,您可以登录 GPU 节点,查看对应容器的 GPU 资源分配情况。​
  1. 登录 Pod 所在节点。您可以通过 ECS Terminal 登录,详细操作,请参见 ECS Terminal。​
  1. 执行以下命令,查看容器级别的 mGPU 信息。​
  • ​
    mgpu-cli container info​
    ​
  • 系统返回结果如下,可以通过返回结果确认配置是否生效。包括:​
  • 该容器同时占用了 2 个 GPU 卡(device_id为0和1),实现了多卡共享,与配置一致。​
  • compute_weight_native_burst和compute_weight_online在 2 个 GPU 卡中均为60,即算力分配在 2 个 GPU 卡中均为 60%。与配置一致。​
  • vmem_limit在 2 个卡中均为为 1024MiB。与配置一致。​
  • ​​​
  • ​
    指标名称​
    指标含义​
    container_id​
    容器 ID。​
    device_id​
    实例对应的设备 ID。​
    instance_id​
    实例 ID。​
    pod_uid​
    容器 UID,一般情况下无取值。​
    compute_priority​
    CUDA 优先级。​
    compute_qos_enable​
    是否使能算力 QoS。​
    compute_weight​
    该实例分配的离线算力百分比。​
    compute_weight_native_burst​
    当算力分配策略为native-burst-share时,该实例分配的算力百分比。​
    compute_weight_online​
    该实例分配的在线算力百分比。​
    minor​
    /dev/mgpuXinstY次设备号。​
    online​
    是否为在线容器。​
    tasks​
    正在使用该设备的进程 PID。​
    vmem_info​
    显存信息,包括:空闲、PID、已使用。​
    vmem_limit​
    该容器申请的显存限制。​
    ​
​
​
​
​
​
​
最近更新时间:2026.07.07 19:29:03
这个页面对您有帮助吗?
有用
有用
无用
无用