GPU设备
概览
GPU设备:拥有高计算能力的微处理器,可用于处理复杂的图形渲染和并行计算任务,帮助提高图形生产、视频处理和机器学习等业务的效率。

功能特点
- 物理GPU透传
ZStack Cloud支持物理GPU透传功能,物理GPU可携带其上全部外设 (包括:GPU显卡、GPU声卡、GPU推理卡,以及其他GPU上的小设备) 以组为单位整体透传给云主机使用,让云主机享有物理机强劲的GPU并行计算能力。
ZStack Cloud支持以下型号的物理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、H800、H200、H20
- Nvidia L40、Nvidia L20、Nvidia L4
- Nvidia A100、A30
- Nvidia A40、Nvidia A16、Nvidia A10、Nvidia T4
- Tesla V100、Tesla P4/6/40/100、M6/10/60
- K6000
- 更多型号请参考NVIDIA官方文档
AMD - Radeon v620、Radeon RX5700
- FirePro S7150、FirePro S7150X2
HYGON DCU Z100/Z100L、DCU K100 AI 华为 - Atlas 300i Pro
- 910B/910B4
Note: 仅物理机为ARM架构时,支持该型号GPU透传天数智芯 智铠100、天垓 瀚博 SV100、SG100 Note: SG100不建议直接透传,建议虚拟化切割后再加载到云主机使用燧原 S60 Note: 如云主机加载超过5个该型号GPU设备,请进入操作系统,在/etc/udev/udev.conf文件中添加event_timeout=300,延长udev超时时间,确保所有GPU设备可被正常识别。其他 沐曦N100、摩尔线程、寒武纪、云燧 - GPU虚拟化切割
ZStack Cloud支持vGPU功能,通过GPU虚拟化技术,将物理GPU切割成更细粒度的vGPU,形成vGPU资源池。用户可使用vGPU规格快速创建轻量的vGPU云主机,实现更灵活弹性的资源部署,提高资源利用率,节约成本。
ZStack Cloud支持对以下型号的物理GPU进行虚拟化切割:厂商 型号 NVIDIA - Nvidia RTX 6000Ada、Nvidia RTX A6000
- Quadro RTX 8000、Quadro RTX 6000
- H100、H800、H200、H20
- Nvidia L40、Nvidia L20、Nvidia L4
- Nvidia A40、Nvidia A16、Nvidia A10、Nvidia T4
- Tesla V100、Tesla P4/6/40/100、M6/10/60
- 更多型号请参考NVIDIA官方文档
AMD FirePro S7150、FirePro S7150X2 瀚博 SV100、SG100 - GPU驱动版本推荐
推荐为GPU设备所在物理机和加载云主机安装以下版本驱动,以便正常使用GPU监控和vGPU功能:
GPU 物理机推荐驱动版本 云主机推荐驱动版本 NVIDIA - GPU驱动:NVIDIA-Linux-x86_64-510.47.03-grid.run
- vGPU驱动:NVIDIA-Linux-x86_64-510.47.03-vgpu-kvm.run
使用NVIDIA官方推荐最新版本:详见NVIDIA官方文档 AMD rocm-smi 6.1.2及以上版本 rocm-smi 6.1.2及以上版本 Note: 如云主机使用RHEL7系列操作系统,需确保云主机内核为4.18.0或以上版本。Hygon rock-5.2.0-5.16.29-V01.13.run
/ 华为 Ascend-hdk-310p-npu-driver_24.1.rc1_linux-aarch64.run
Ascend-hdk-310p-npu-driver_24.1.rc1_linux-aarch64.run
天数智芯 - x86架构:corex-installer-linux64-4.0.1_x86_64_10.2.run
- ARM架构:corex-installer-linux64-4.0.1_arm64_10.2.run
- x86架构:corex-installer-linux64-4.0.1_x86_64_10.2.run
- ARM架构:corex-installer-linux64-4.0.1_arm64_10.2.run
燧原 nflame-x86_64-gcc-1.4.3.4-20250520100021.run及之后版本 nflame-x86_64-gcc-1.4.3.4-20250520100021.run及之后版本
应用场景
- 3D渲染
三维计算机图形的预渲染 (Pre-rendering、Offline rendering) 常用于电影制作,要求很高的计算强度,需要大量的服务器提供运算能力;实时渲染 (Real-time rendering、Online rendering) 常用于三维视频游戏,通常依靠图形处理器 (GPU) 完成这个过程。由于GPU的高速发展,已经有相当多的3D渲染是在GPU服务器集群中完成。结合ZStack Cloud的GPU透传功能,可在性能损失极低的情况下 (5%以内) 使用云主机完成3D渲染工作,再配合智能监控软件以及ZStack Cloud自带的计费功能,可以形成一整套更便捷高效的渲染农场方案。
如图 2所示:图 2. 3D渲染 
- 人工智能
GPU的计算能力可以应用于深度学习。自Google推出神经网络工具TensorFlow后,许多科研机构以及企业应用都日渐明显偏向使用GPU作为基础设施。以规格较高的NVIDIA P100显卡为例,通过ZStack Cloud的GPU透传功能,将其透传至云主机后,性能测试结果显示,几乎与标称完全一致,能够充分满足大规模模型训练对基础设施的要求。
如图 3所示:图 3. 人工智能 
- 云游戏
随着宽带网络的发展,以及移动终端设备的普及,将游戏计算至于云端,客户端仅仅负责显示与控制的游戏模式也悄然开始流行。云端服务器上渲染3D游戏,即时为每一帧进行编码,将结果以流的形式传输至任何接驳有线或无线网络的设备。这种云游戏模式,可以借助GPU以及服务器CPU能力,通过ZStack Cloud的GPU透传功能,为游戏创造隔离性更佳的虚拟环境,从而保证计算与渲染的流畅度,为用户提供更好的游戏体验。
用户也可以使用vGPU虚拟化功能,将物理GPU切割成多个满足需求的vGPU加载给云主机使用,在保证体验流畅性的同时,提高资源利用率。
如图 4所示:图 4. 云游戏 
- VDI (桌面云)
GPU一直是VDI (桌面云) 中非常重要的设备,它不仅能够改善桌面视觉体验,同时在特殊的应用程序中承担主力计算角色,从而完全代替传统PC图站,让用户在更为安全的环境中进行3D设计。通过ZStack Cloud的GPU透传或vGPU虚拟化功能,以及配合RDP、PCoIP等协议,可充分利用显卡能力,比如3D设计、游戏等流畅运行,提供更逼近本地物理机的用户体验。
如图 5所示:图 5. VDI (桌面云) 
清单 (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原生域查询(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 |
