概述
ZStack Cloud支持物理GPU透传功能,物理GPU可携带其上全部外设 (包括:GPU显卡、GPU声卡、以及其它GPU上的小设备) 以组为单位整体透传给云主机使用,让云主机享有物理机强劲的GPU并行计算能力。该功能适用于3D渲染、高清转解码、以及具备高密集运算特点的高性能计算 (HPC) 场景。
| 厂商 | 型号 |
|---|---|
| NVIDIA |
|
| AMD |
|
| HYGON | DCU Z100/Z100L、DCU K100 AI |
| 华为 |
Note: 仅物理机为ARM架构时,支持该型号GPU透传
|
| 天数智芯 | 智铠100、天垓 |
| 瀚博 | SV100、SG100 Note: SG100不建议直接透传,建议虚拟化切割后再加载到云主机使用 |
| 燧原 | S60 Note: 如云主机加载超过5个该型号GPU设备,请进入操作系统,在/etc/udev/udev.conf文件中添加 event_timeout=300,延长udev超时时间,确保所有GPU设备可被正常识别。 |
| 其他 | 沐曦N100、摩尔线程、寒武纪、云燧 |
应用场景
3D渲染
三维计算机图形的预渲染 (Pre-rendering、Offline rendering) 或实时渲染 (Real-time rendering、Online rendering) 速度都很缓慢。预渲染常用于电影制作,要求很高的计算强度,需要大量的服务器提供运算能力;实时渲染常用于三维视频游戏,通常依靠图形处理器 (GPU) 完成这个过程。
现在由于GPU的高速发展,已经有相当多的3D渲染是在GPU服务器集群中完成。结合ZStack Cloud的GPU透传功能,在性能损失极低的情况下 (5%以内) 同时可获得集中高效的集群管理功能,再配合智能监控软件以及ZStack Cloud自带的计费功能,可以形成一整套更便捷高效的渲染农场方案。

人工智能
GPU的计算能力可以应用于深度学习。自Google推出神经网络工具TensorFlow后,许多科研机构以及企业应用都日渐明显偏向使用GPU作为基础设施。
以规格较高的NVIDIA P100显卡为例,通过ZStack Cloud的GPU透传功能,将其透传至云主机后,性能测试结果显示,几乎与标称完全一致,能够充分满足大规模模型训练对基础设施的要求。

云游戏
随着宽带网络的发展,以及移动终端设备的普及,将游戏计算置于云端,客户端仅仅负责显示与控制的游戏模式也悄然开始流行。云端服务器上渲染3D游戏,即时为每一帧进行编码,将结果以流的形式传输至任何接驳有线或无线网络的设备。
这种云游戏模式,可以借助GPU以及服务器CPU能力,通过ZStack Cloud的GPU透传功能,为游戏创造隔离性更佳的虚拟环境,从而保证计算与渲染的流畅度,为用户提供更好的游戏体验。

VDI (桌面云)
GPU一直是VDI (桌面云) 中非常重要的设备,它不仅能够改善桌面视觉体验,同时在特殊的应用程序中承担主力计算角色,从而完全代替传统PC图站,让用户在更为安全的环境中进行3D设计。
通过ZStack Cloud的GPU透传功能,以及配合RDP、PCoIP等协议,可充分利用显卡能力,比如3D设计、游戏等流畅运行,提供更逼近本地物理机的用户体验。

准备工作
物理机设置
使用GPU透传功能,提前对物理机进行以下设置:- 物理机BIOS中开启Intel VT-d / AMD IOMMU功能,且内核开启IOMMU支持。
- 如使用NVIDIA A系列GPU,升级物理机操作系统Kernel版本至4.18,升级GCC版本至8.3.1。
全局设置
使用GPU透传功能前,请检查以下全局设置:- KVM虚拟化标记隐藏开关:如使用NVIDIA桌面级显卡,设置为true
- 云主机Hyper-V开关:如使用NVIDIA桌面级显卡,设置为true
- PCI设备热插拔开关:如云主机加/卸载出现硬件兼容性错误或硬件不支持,建议设置为false
- GPU设备配额:按需配置子账户/项目可使用的GPU设备配额
GPU加/卸载注意事项
使用GPU透传功能前,请阅读以下注意事项:- 一台云主机支持同时加载多个物理GPU设备,但不支持同时加载物理GPU和vGPU设备。
- 云主机加载物理GPU后,更改物理机、更改物理机和主存储、高可用功能可能无法正常工作。
- 为Windows云主机加载物理GPU,需通过UEFI方式安装云主机操作系统。
- 如需卸载物理GPU,建议停止云主机后进行,避免蓝屏及暂停。
- 支持创建云主机时直接加载物理GPU。如按GPU规格加载,支持批量创建;如指定GPU设备加载,仅支持创建单台。
GPU驱动
| GPU | 物理机推荐驱动版本 | 云主机推荐驱动版本 |
|---|---|---|
| NVIDIA | NVIDIA-Linux-x86_64-510.47.03-grid.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 |
Hygon GPU透传后,暂不支持通过云主机GPU驱动获取负载监控数据 |
| 华为 |
Ascend-hdk-310p-npu-driver_24.1.rc1_linux-aarch64.run |
Ascend-hdk-310p-npu-driver_24.1.rc1_linux-aarch64.run |
| 天数智芯 |
|
|
授权
- 使用基础GPU透传功能,需确保购买GPU服务模块许可证。企业版或智算版平台许可证默认提供GPU服务模块许可证,无需单独购买。
- 如需查看GPU使用率、内存使用率、功耗、温度等详细监控数据,并获取报警推送,需购买智算版平台许可证。
典型使用流程
背景信息
- 启用物理机IOMMU设置。
- 设置ROM (可选)。
- 云主机加载物理GPU。
- 云主机安装GPU设备驱动。
- 获取GPU监控和报警 (可选)。
操作步骤
-
物理机启用IOMMU设置。
-
设置ROM (可选)。
ROM文件是用于物理GPU透传的配置文件。ROM文件上传后,将直接更新到已添加的规格对应的物理GPU中。
ZStack Cloud已内置基础ROM文件,满足绝大部分物理GPU透传。若用户需要使用其他ROM文件,请自行GPU在供应商官网获取所需的ROM文件并上传。
在ZStack Cloud主菜单,点击,进入GPU规格界面,选中需要设置ROM的物理GPU规格并点击按钮,在弹出的设置ROM页面上传ROM文件。
-
云主机加载物理GPU。
在ZStack Cloud主菜单,点击。在云主机界面,找到需加载物理GPU的云主机,点击。弹出设置GPU策略界面。
支持以下GPU加载策略:- 按GPU规格加载:选择一个物理GPU规格,系统将为云主机加载一个匹配改规格的物理GPUNote: 按规格加载时,可选择关机是否自动卸载GPU设备。
- 如选择自动卸载,云主机关机后将释放该GPU设备,云主机开机后,系统将重新分配一个GPU设备
- 如选择不自动卸载,云主机关机后将继续保有当前GPU设备。但如发生意外关机,高可用功能将不可用
- 指定GPU设备加载:为云主机加载指定的GPU设备
- 按GPU规格加载:选择一个物理GPU规格,系统将为云主机加载一个匹配改规格的物理GPU
-
云主机安装GPU设备驱动。
为正常使用透传的GPU设备,需为云主机安装GPU驱动。不同GPU型号或操作系统对应的驱动安装流程可能不同,建议参考GPU设备官方资料或联系厂商获取帮助。本场景以Linux云主机安装NVIDIA GPU驱动为例进行介绍。Note: 如使用双芯片AMD卡 (AMD Firepro S7150 X2) ,并将其对应的两个物理GPU设备分别透传给不同云主机使用,请确保为云主机安装相同版本的驱动,以保证正常获取GPU监控数据。
-
(可选) 获取GPU监控和报警
如需查看GPU实时监控并获取报警推送,可参考本步骤配置。如不需要,可跳过本步骤。



