GPU设备
概览
GPU设备是一种拥有高并行计算能力的微处理器,可用于加速大规模计算负载。除图形渲染任务外,GPU现已成为AI训练与推理的核心硬件,能够有效提升深度学习、大模型推理、数据处理等业务效率。通过透传、vGPU、dGPU、整卡调度、显存切分等技术,GPU可以以整卡或细粒度切片的形式,为云主机和容器提供弹性化的算力支撑,提升AI服务的吞吐能力、响应速度和资源利用率。
GPU技术
ZStack Cloud支持多种GPU分配方式,可将GPU通过以下技术挂载至云主机或容器:
- 云主机
- 透传
将物理GPU机器关联外设 (如显卡、声卡、推理卡等) 作为整体单元直接分配给云主机使用。云主机完全独占该物理GPU,获得物理GPU强劲的并行计算能力。
以下GPU型号支持透传:厂商 型号 NVIDIA Nvidia RTX 6000Ada、Nvidia RTX A6000 GeForce RTX 5090、Geforce RTX 4090、Nvidia RTX 3090 Quadro RTX 8000、Quadro RTX 6000 M4000、P2000 GTX 1650/1660、GTX 1060ti H100、H200、H800、H20 Note: 仅ZStack Cloud H84R ISO支持。Nvidia L40、Nvidia L20、Nvidia L4 Nvidia A100、Nvidia A30 Nvidia A40、Nvidia A16、Nvidia A10、Nvidia T4 Tesla V100、Tesla P4/6/40/100、M6/10/60 K6000 AMD Radeon v620、Radeon RX5700 RRO W7800 Note: 暂不支持透传使用Windows操作系统的云主机FirePro S7150、FirePro S7150X2 华为 Atlas 300i pro Note: 仅支持透传ARM物理机上的本型号GPU910B3/4 Note: 仅支持透传ARM物理机上的本型号GPUHygon Z100、Z100L K100-AI 燧原 S60 天数智芯 智铠MR-V100 天垓 瀚博 SV100、SG100 Note: SG100不建议直接透传,建议切分vGPU后再加载使用。昆仑芯 P800 阿里PPU PPU-ZW810E 其他 沐曦N100、摩尔线程、寒武纪等 - 虚拟化切割
(vGPU)通过GPU虚拟化技术,将单张物理GPU切割为多个更小规格的vGPU,形成细粒度vGPU资源池,便于用户快速创建轻量化云主机,实现资源弹性部署,有效提升GPU利用率,节约成本。Note: 目前,暂不支持使用vGPU部署云主机AI服务。以下GPU型号支持虚拟化切割:
厂商 型号 NVIDIA Nvidia RTX 6000Ada、Nvidia RTX A6000 Quadro RTX 8000、Quadro RTX 6000 H100、H200、H800、H20 Note: 仅ZStack CloudH84R ISO支持。Nvidia L40、Nvidia L20、Nvidia L4 Nvidia A40、Nvidia A16、Nvidia A10、Nvidia T4 Tesla V100、Tesla P4/6/40/100、M6/10/60 AMD FirePro S7150、FirePro S7150X2 瀚博 SV100、SG100 - 动态切分与调度 (dGPU)基于CUDA API拦截转发技术,按需切分物理GPU显存,并动态分配给多个云主机使用,最大化资源利用率。适用于AI推理、深度学习等业务场景。Note: 使用本功能,需购买dGPU算力切分许可证。以下GPU型号支持dGPU功能:
厂商 型号 NVIDIA Nvidia RTX 6000Ada、Nvidia RTX A6000 GeForce RTX 5090、Geforce RTX 4090、Nvidia RTX 3090 Quadro RTX 8000、Quadro RTX 6000 H100、H200、H800、H20 Note: 仅ZStack CloudH84R ISO支持。Nvidia L40、Nvidia L20、Nvidia L4 Nvidia A100、Nvidia A30 Nvidia A40、Nvidia A16、Nvidia A10、Nvidia T4 Tesla V100
- 透传
- 容器
- 整卡调度
将物理GPU设备直接加载给容器使用。
以下GPU型号支持容器整卡调度:厂商 型号 NVIDIA Nvidia RTX 6000Ada、Nvidia RTX A6000 GeForce RTX 5090、Geforce RTX 4090、Nvidia RTX 3090 Quadro RTX 8000、Quadro RTX 6000 M4000、P2000 GTX 1650/1660、GTX 1060ti H100、H200、H800、H20 Nvidia L40、Nvidia L20、Nvidia L4 Nvidia A100、Nvidia A30 Nvidia A40、Nvidia A16、Nvidia A10、Nvidia T4 Tesla V100、Tesla P4/6/40/100、M6/10/60 K6000 华为 Atlas 300i pro Note: 仅容器管理Kylin10SP3 2403版支持910B3/4 Note: 仅容器管理ARM-Kylin10SP3 2403版支持Hygon Z100、Z100L Note: 仅容器管理x86-Kylin10SP3 2403版支持K100-AI Note: 仅容器管理x86-Kylin10SP3 2403版支持燧原 S60 Note: 仅容器管理Kylin10SP3版支持天数智芯 智铠MR-V100 Note: 仅容器管理H84R、x86-Kylin10SP3 2403版支持天垓 Note: 仅容器管理H84R、x86-Kylin10SP3 2403版支持 - 显存切分
对物理机上的单个或多个GPU进行显存切分和隔离,并为物理机上的容器分别分配显存。仅单卡支持显存切分。
以下GPU型号支持容器显存切分:厂商 型号 NVIDIA Nvidia RTX 6000Ada、Nvidia RTX A6000 GeForce RTX 5090、Geforce RTX 4090、Nvidia RTX 3090 Quadro RTX 8000、Quadro RTX 6000 M4000、P2000 GTX 1650/1660、GTX 1060ti H100、H200、H800、H20 Nvidia L40、Nvidia L20、Nvidia L4 Nvidia A100、Nvidia A30 Nvidia A40、Nvidia A16、Nvidia A10、Nvidia T4 Tesla V100、Tesla P4/6/40/100、M6/10/60 K6000 华为 Atlas 300i pro Note:- 仅支持单卡切分
- 仅容器管理Kylin10SP3 2403版支持
910B3/4 Note:- 仅支持单卡切分
- 仅容器管理ARM-Kylin10SP3 2403版支持
Hygon Z100、Z100L Note:- 仅支持单卡切分
- 仅容器管理x86-Kylin10SP3 2403版支持
K100-AI Note:- 仅支持单卡切分
- 仅容器管理x86-Kylin10SP3 2403版支持
天数智芯 智铠MR-V100 Note:- 仅支持单卡切分
- 仅容器管理H84R、x86-Kylin10SP3 2403版支持
天垓 Note:- 仅支持单卡切分
- 仅容器管理H84R、x86-Kylin10SP3 2403版支持
- 整卡调度
清单 (Inventory)
GPU设备清单
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 请参见 资源属性 | 5.1.8 | ||
| chooser | 5.1.8 | |||
| description | 请参见 资源属性 | 5.1.8 | ||
| deviceId | 设备ID | 5.1.8 | ||
| hostUuid | 物理机UUID | 5.1.8 | ||
| isDriverLoaded | 是否已加载驱动 | 5.1.8 | ||
| memory | 显存 | 5.1.8 | ||
| name | 请参见 资源属性 | 5.1.8 | ||
| pciDeviceAddress | PCI设备地址 | 5.1.8 | ||
| power | 电源 | 5.1.8 | ||
| serialNumber | 序列号 | 5.1.8 | ||
| status | 工作状态 | 5.1.8 | ||
| subvendorId | 子设备厂商ID | 5.1.8 | ||
| type | 类型 | 5.1.8 | ||
| virStatus | 虚拟化状态 | 5.1.8 | ||
| device | 设备 | 5.1.8 | ||
| groupBy | 以字段分组,相当于MySQL中的group by关键字。例如groupBy=type | 5.1.8 | ||
| iommuGroup | IOMMU组 | 5.1.8 | ||
| parentUuid | 5.1.8 | |||
| pciSpecUuid | PCI规格UUID | 5.1.8 | ||
| rev | 设备版本号 | 5.1.8 | ||
| state | 启用状态 | 5.1.8 | ||
| subdeviceId | 子设备ID | 5.1.8 | ||
| vendorId | 厂商ID | 5.1.8 | ||
| vmInstanceUuid | 云主机UUID | 5.1.8 | ||
| createDate | 请参见 资源属性 | 5.1.8 | ||
| lastOpDate | 请参见 资源属性 | 5.1.8 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 5.1.8 | |
| systemTags | 系统标签, 请参见 创建系统标签(CreateSystemTag) | 是 | 5.1.8 |
示例
{
"inventories": [
{
"chooser": "None",
"createDate": "Jul 15, 2024 3:54:32 PM",
"description": "3D controller: NVIDIA TU102GL [Quadro RTX 6000/8000]",
"device": "TU102GL [Quadro RTX 6000/8000] [1e78]",
"deviceId": "1e78",
"hostUuid": "363c8eab666547e29a7a74bbde9c1967",
"iommuGroup": "363c8eab666547e29a7a74bbde9c1967_/sys/kernel/iommu_groups/39",
"isDriverLoaded": true,
"lastOpDate": "Jul 17, 2024 4:03:05 PM",
"mdevSpecRefs": [],
"memory": 48318382080,
"metaData": {},
"name": "NVIDIA_TU102GL [Quadro RTX 6000/8000]_4885da63",
"pciDeviceAddress": "0000:17:00.0",
"pciSpecUuid": "016a96fd5aa648b290d2e96bf49f7407",
"power": 250,
"serialNumber": "1325119076420",
"state": "Enabled",
"status": "System",
"subdeviceId": "13d8",
"subvendorId": "10de",
"type": "GPU_3D_Controller",
"uuid": "4885da636aba4e12afcc5901e12673a3",
"vendor": "NVIDIA",
"vendorId": "10de",
"virtStatus": "SRIOV_VIRTUALIZABLE"
}
],
"success": true
}匹配的PCI设备规格清单 (matchedPciDeviceOffering inventory)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 请参见 资源属性 | 5.1.8 | ||
| description | 请参见 资源属性 | 5.1.8 | ||
| deviceId | 设备ID | 5.1.8 | ||
| ramSize | 5.1.8 | |||
| name | 请参见 资源属性 | 5.1.8 | ||
| subvendorId | 子设备厂商ID | 5.1.8 | ||
| type | 类型 | 5.1.8 | ||
| groupBy | 以字段分组,相当于MySQL中的group by关键字。例如groupBy=type | 5.1.8 | ||
| subdeviceId | 子设备ID | 5.1.8 | ||
| vendorId | 厂商ID | 5.1.8 | ||
| subvendorId | 子厂商ID | 5.1.8 | ||
| createDate | 请参见 资源属性 | 5.1.8 | ||
| lastOpDate | 请参见 资源属性 | 5.1.8 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 5.1.8 | |
| systemTags | 系统标签, 请参见 创建系统标签(CreateSystemTag) | 是 | 5.1.8 |
PCI设备规格清单 (PciDeviceSpec inventory)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 请参见 资源属性 | 5.1.8 | ||
| description | 请参见 资源属性 | 5.1.8 | ||
| device | 设备 | 5.1.8 | ||
| isVirtual | 是否虚拟化 | 5.1.8 | ||
| deviceId | 设备ID | 5.1.8 | ||
| ramSize | 5.1.8 | |||
| romMd5sum | 5.1.8 | |||
| romVersion | 5.1.8 | |||
| name | 请参见 资源属性 | 5.1.8 | ||
| subvendorId | 子设备厂商ID | 5.1.8 | ||
| type | 类型 | 5.1.8 | ||
| groupBy | 以字段分组,相当于MySQL中的group by关键字。例如groupBy=type | 5.1.8 | ||
| subdeviceId | 子设备ID | 5.1.8 | ||
| vendorId | 厂商ID | 5.1.8 | ||
| subvendorId | 子厂商ID | 5.1.8 | ||
| createDate | 请参见 资源属性 | 5.1.8 | ||
| lastOpDate | 请参见 资源属性 | 5.1.8 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 5.1.8 | |
| systemTags | 系统标签, 请参见 创建系统标签(CreateSystemTag) | 是 | 5.1.8 |
操作
查询GPU信息 (QueryGpuDevice)
管理员可以使用QueryGpuDevice来查询GPU设备。例如:
QueryGpuDevice原生域查询(Primitive Fields of Query)
请参见GPU设备清单。
嵌套和扩展域查询(Nested And Expanded Fields of Query)
| 域(Field) | 清单(Inventory) | 描述 | 起始支持版本 |
|---|---|---|---|
| host | Host Inventory | 所属物理机 | 5.1.8 |
| macthedPciDeviceOffering | macthedPciDeviceOffering Inventory | 匹配的PCI设备规格 | 5.1.8 |
| mdevSpec | mdev设备规格 | 5.1.8 | |
| matchedPciDeviceOfferingRef. | 匹配的PCI设备规格信息 | 5.1.8 | |
| parent | 5.1.8 | ||
| pciDeviceSpec | PciDeviceSpec Inventory | PCI设备规格 | 5.1.8 |
| vmInstance | VM inventory | 这个物理主机上运行的所有云主机 | 5.1.8 |
