版本:下一个
启用 Mthreads GPU 共享
简介
本组件支持复用摩尔线程 GPU 设备,并为此提供以下几种与 vGPU 类似的复用功能,包括:
GPU 共享: 每个任务可以只占用一部分显卡,多个任务可以共享一张显卡
可限制分配的显存大小: 你现在可以用显存值(例如 3000M)来分配 GPU,本组件会确保任务使用的显存不会超过分配数值
可限制分配的算力核组比例: 你现在可 以用算力核组数量(例如 8 个)来分配 GPU,本组件会确保任务使用的算力不会超过分配数值
注意事项
-
暂时不支持多卡切片,多卡任务只能分配整卡
-
一个 pod 只能使用一个 GPU 生成的切片,即使该 pod 中有多个容器
-
支持独占模式,只指定
mthreads.com/vgpu即为独占申请 -
本特性目前只支持 MTT S4000 设备
节点需求
- MT CloudNative Toolkits > 1.9.0
- 驱动版本 >= 1.2.0
开启 GPU 复用
- 部署'gpu-manager',摩尔线程的 GPU 共享需要配合厂家提供的'MT-CloudNative Toolkit'一起使用,联系设备提供方获取
备注
(可选),部署完之后,卸载掉 mt-mutating-webhook 与 mt-scheduler 组件,因为这部分功能将由 HAMi 调度器提供
- 在安装 HAMi 时配置'devices.mthreads.enabled = true'参数
helm install hami hami-charts/hami --set scheduler.kubeScheduler.imageTag={your kubernetes version} --set devices.mthreads.enabled=true -n kube-system
运行 GPU 任务
通过指定mthreads.com/vgpu, mthreads.com/sgpu-memory and mthreads.com/sgpu-core这 3 个参数,可以确定容器申请的切片个数,对应的显存和算力核组
apiVersion: v1
kind: Pod
metadata:
name: gpushare-pod-default
spec:
restartPolicy: OnFailure
containers:
- image: core.harbor.zlidc.mthreads.com:30003/mt-ai/lm-qy2:v17-mpc
imagePullPolicy: IfNotPresent
name: gpushare-pod-1
command: ["sleep"]
args: ["100000"]
resources:
limits:
mthreads.com/vgpu: 1
mthreads.com/sgpu-memory: 32
mthreads.com/sgpu-core: 8
备注
每一单位的 sgpu-memory 代表 512M 的显存。
备注
查看更多的用例.