TKE qGPU 多卡互联功能支持在单个容器内同时挂载多张 qGPU 虚拟卡,通过将物理 GPU 算力与显存进行均分,满足大模型推理、分布式训练等对多卡算力聚合及显存容量有更高要求的场景。
模块定位
qGPU 多卡互联旨在解决单张共享 GPU 卡算力或显存不足的瓶颈。通过在 Pod 声明中设置超过 100 的算力值,系统将自动为容器分配多张物理 GPU 卡的切片资源,并保证资源在多卡间均分,提供更强的算力聚合能力。
使用须知
限制说明
TKE 组件:qGPU 组件需升级至 v1.1.1 及以上版本。
卡数限制:PoC 版本目前最大支持2张卡互联。
分配逻辑:算力与显存会在分配的多张卡之间均分。若无法整除,系统将向下取整。
工作原理
当用户请求的
tke.cloud.tencent.com/qgpu-core 数值超过 100 时,插件会自动均分所需的物理卡数量。示例如下:填写的总配置 | 实际分配结果 | 说明 |
core=160, memory=60 | 2 张卡,每张卡 80 算力, 30G 显存 | 均分 160/2=80, 60/2=30 |
core=121, memory=31 | 2 张卡,每张卡 60 算力, 15G 显存 | 向下取整:121/2=60.5 -> 60, 31/2=15.5 -> 15 |
应用示例
使用以下 YAML 创建工作负载,申请 2 张共享 GPU 卡(总计 160% 算力和 60GB 显存):
apiVersion: v1kind: Podmetadata:name: qgpu-multi-card-demospec:containers:- name: test-containerimage: nvidia/cuda:11.0-baseresources:limits:tke.cloud.tencent.com/qgpu-core: "160" # 申请 160 算力(自动触发 2 张卡)tke.cloud.tencent.com/qgpu-memory: "60" # 申请 60GB 显存
使用说明
如果节点已经安装 qGPU 模块,为避免影响存量业务,gpu-manager Pod 在启动时会跳过安装步骤。升级存量节点的 qGPU 模块,需参考以下步骤:
1. 在 TKE 控制台组件管理页面升级 qGPU 组件到最新版本。
说明:
从 v1.1.1 版本起,默认安装的 qGPU 内核版本与组件版本绑定,使用高版本内核模块,需升级组件。
2. 封锁节点,迁移使用 qGPU 的业务 Pod。
3. 登录节点执行以下命令卸载 qGPU 模块,然后删除该节点上 qgpu-manager Pod,自动重建的 Pod 启动时安装新的 qGPU 模块。
# 卸载已安装的qgpu模块rmmod qgpu
4. 在节点执行命令查看 qgpu 版本, 确认 qGPU 模块安装成功。
# 确认版本 >= 3.0.5cat /proc/qgpu/version
5. (可选)创建测试 Pod,验证功能。
6. 解封节点。
7. (滚动升级)逐个节点执行步骤 2 ~ 6。