文档目录

GPU设备

概览

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

图 1所示:
图 1. 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来查询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
CLI命令使用手册 | 5.4.12 | ZStack Cloud · ZCF | ZStack 资源中心