GPU Device
Overview
A GPU device is a powerful microprocessor with high computational capabilities. You can use a GPU device to handle intricate graphics rendering and parallel computing jobs, thus improving the efficiency of businesses such as graphic production, video processing, and machine learning.

Characteristics
- GPU Passthrough
ZStack Cloud supports the GPU passthrough feature, which means to passthrough a physical GPU with all attached devices (GPU graphic cards, sound cards, and others) as group to a VM instance. Therefore, the VM instance gains access to the full and powerful parallel computing capabilities of the physical GPU.
The GPU passthrough feature applies to the GPUs of following models.Vendor Model 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
- More NVIDA models, see NVIDIA Official Documentation
AMD - Radeon v620, Radeon RX5700
- FirePro S7150, FirePro S7150X2
HYGON DCU Z100/Z100L, DCU K100 AI Huawei - Atlas 300i Pro
- 910B/910B4
Note: You can only passthrough Huawei GPUs installed
on ARM hosts.Iluvatar CoreX Zhikai 100, Tiangai Vastai SV100、SG100
Note: We recommend
that you do not passthrough a SG100 GPU to a VM
instance directly. The recommended practice is to
virtualize SG100 and attach vGPUs to VM
instances.Enflame S60
Note: If you attach more than
5 GPU devices of this type to a VM instance, enter
the VM operating system and add
event_timeout=300in the configuration file /etc/udev/udev.conf. This extend the udev timeout to ensure all GPU devices are identified properly.Other MetaX N100, MOORE TREADS, Cambricon, CloudBlazer - GPU Virtualization
ZStack Cloud supports the GPU virtualization feature, which means to divide a physical GPU device into multiple vGPUs based on the virtualization method and form a vGPU pool. You can use these vGPUs to create lightweight vGPU VM instances, improving the VM computing capabilities as well as reducing the cost.
The GPU virtualization feature applies to the GPUs of following models.Vendor Model 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
- More NVIDA models, see NVIDIA Official Documentation
AMD FirePro S7150, FirePro S7150X2 Vastai SV100、SG100 - Recommended GPU Driver Version
We recommend that you install GPU drivers of following versions to hosts and VM instances to make the GPU monitoring and vGPU feature work properly.
GPU Recommended Version for Host Recommended Version for VM Instance NVIDA - GPU driver: NVIDIA-Linux-x86_64-510.47.03-grid.run
- vGPU driver: NVIDIA-Linux-x86_64-510.47.03-vgpu-kvm.run
Latest version recommended by NVDIA. For more information, see NVIDIA Official Documentation. AMD rocm-smi 6.1.2 and later versions. rocm-smi 6.1.2 and later versions.
Note: If the VM instance uses the OS of
RHEL7 series, make sure that the VM kernel is of
4.8.10 or later version.Hygon rock-5.2.0-5.16.29-V01.13.run
/ Huawei Ascend-hdk-310p-npu-driver_24.1.rc1_linux-aarch64.run Ascend-hdk-310p-npu-driver_24.1.rc1_linux-aarch64.run Iluvatar CoreX - 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
Enflame nflame-x86_64-gcc-1.4.3.4-20250520100021.run or later nflame-x86_64-gcc-1.4.3.4-20250520100021.run or later
Applications
- 3D Rendering
Pre-rendering, a technology often used in filmmaking, demands high computational intensity which needs to be provided by a large amount of servers. Real-time rendering, a technology commonly used in 3D video games, usually relies on GPUs to execute the rendering process.
Nowadays, with the rapid development of the GPU technology, a significant amount of 3D rendering is accomplished by using GPU server clusters. With the GPU passthrough feature provided by ZStack Cloud, you can make VM instances process these 3D rendering tasks with a low GPU performance loss (within 5%). Combined with intelligent monitoring software and the billing feature of ZStack Cloud, this feature provides you with a comprehensive, convenient, and efficient rendering farm solution.Figure 2. 3D Rendering 
- Artificial Intelligent
GPU's powerful computations supports deep learning tasks. Since Google released its network tool, TensorFlow, GPUs have become infrastructures preferred by research organizations and companies. Take the NVIDIA P100 GPU as an example. After be passthroughed to a VM instance, the performance of the GPU is nearly the same with that of a host GPU and can perfectly meet the requirements of extensive model trainings.
Figure 3. Artificial Intelligent 
- Cloud Gaming
With the expansion of broadband networks and the widespread adoption of mobile devices, a new trend in gaming has emerged where the computational load is shifted to the cloud. In this model, the client device merely handles display and input, while the heavy lifting of 3D game rendering is performed on powerful cloud servers. Combined with GPUs, these cloud servers can encode each frame instantly and stream it to any devices connected to the network. This model can be realized by using the GPU passthrough or vGPU feature provides by ZStack Cloud, ensuring a more fluent game experience for users.
Figure 4. Cloud Gaming 
- Virtual Desktop InfrastructureGPUs have long been crucial components in VDI environments. They enhance visual experiences and take on primary computational roles in specialized applications, effectively replacing traditional PC workstations. This enables users to perform 3D design tasks in a more secure setting. Through the GPU passthrough or vGPU feature provided by ZStack Cloud, coupled with protocols such as RDP (Remote Desktop Protocol) or PCoIP (PC over IP), you can harness the full potential of the GPU devices, providing users with a VDI using experience as fluent as that in a physical environment.
Figure 5. VDI 
Inventory
Properties
| Name | Description | Optional | Valid Values | Starting Version |
|---|---|---|---|---|
| uuid | The UUID. For more information, see Resource Property. | 5.1.8 | ||
| chooser | 5.1.8 | |||
| description | The description. For more information, see Resource Property. | 5.1.8 | ||
| deviceId | The device ID. | 5.1.8 | ||
| hostUuid | The host UUID. | 5.1.8 | ||
| isDriverLoaded | Whether the driver is loaded. | 5.1.8 | ||
| memory | The memory. | 5.1.8 | ||
| name | The name. For more information, see Resource Property. | 5.1.8 | ||
| pciDeviceAddress | The PCI device address. | 5.1.8 | ||
| power | The power. | 5.1.8 | ||
| serialNumber | The serial number. | 5.1.8 | ||
| status | The status. | 5.1.8 | ||
| subvendorId | The sub vendor ID. | 5.1.8 | ||
| type | The type. | 5.1.8 | ||
| virStatus | The virtualization status. | 5.1.8 | ||
| device | The device | 5.1.8 | ||
| groupBy | 5.1.8 | |||
| iommuGroup | The IOMMU group. | 5.1.8 | ||
| parentUuid | The parent UUID. | 5.1.8 | ||
| pciSpecUuid | The PCI spec UUID. | 5.1.8 | ||
| rev | The device revision. | 5.1.8 | ||
| state | The state. | 5.1.8 | ||
| subdeviceId | The sub device ID. | 5.1.8 | ||
| vendorId | The vendor ID. | 5.1.8 | ||
| vmInstanceUuid | The VM instance UUID. | 5.1.8 | ||
| createDate | The creation date. For more information, see Resource Property. | 5.1.8 | ||
| lastOpDate | The last operation date. For more information, see Resource Property. | 5.1.8 | ||
| userTags | The user tags. For more information, see CreateUserTag. The resource type is ZoneVO. | 是 | 5.1.8 | |
| systemTags | The system tags. For more information, see CreateSystemTag. The resource type is ZoneVO. | 是 | 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
}matchedPciDeviceOffering inventory
| Name | Description | Optional | Valid Values | Starting Version |
|---|---|---|---|---|
| uuid | The UUID. For more information, see Resource Property. | 5.1.8 | ||
| description | The description. For more information, see Resource Property. | 5.1.8 | ||
| deviceId | The device ID. | 5.1.8 | ||
| ramSize | 5.1.8 | |||
| name | The name. For more information, see Resource Property. | 5.1.8 | ||
| subvendorId | The sub vendor ID. | 5.1.8 | ||
| type | The type. | 5.1.8 | ||
| groupBy | 5.1.8 | |||
| subdeviceId | The sub device ID. | 5.1.8 | ||
| vendorId | The vendor ID. | 5.1.8 | ||
| subvendorId | The sub vendor ID. | 5.1.8 | ||
| createDate | The creation date. For more information, see Resource Property. | 5.1.8 | ||
| lastOpDate | The last operation date. For more information, see Resource Property. | 5.1.8 | ||
| userTags | The user tags. For more information, see CreateUserTag. | 是 | 5.1.8 | |
| systemTags | The system tags. For more information, see CreateSystemTag. | 是 | 5.1.8 |
PciDeviceSpec inventory
| Name | Description | Optional | Valid Values | Starting Version |
|---|---|---|---|---|
| uuid | The UUID. For more information, see Resource Property. | 5.1.8 | ||
| description | The description. For more information, see Resource Property. | 5.1.8 | ||
| device | The device. | 5.1.8 | ||
| isVirtual | Whether the device is virtualized. | 5.1.8 | ||
| deviceId | The device ID. | 5.1.8 | ||
| ramSize | 5.1.8 | |||
| romMd5sum | 5.1.8 | |||
| romVersion | 5.1.8 | |||
| name | The name. For more information, see Resource Property. | 5.1.8 | ||
| subvendorId | The sub vendor ID. | 5.1.8 | ||
| type | The type. | 5.1.8 | ||
| groupBy | 5.1.8 | |||
| subdeviceId | The sub device ID. | 5.1.8 | ||
| vendorId | The vendor ID. | 5.1.8 | ||
| subvendorId | The sub vendor ID. | 5.1.8 | ||
| createDate | The creation date. For more information, see Resource Property. | 5.1.8 | ||
| lastOpDate | The last operation date. For more information, see Resource Property. | 5.1.8 | ||
| userTags | The user tags. For more information, see CreateUserTag. | 5.1.8 | ||
| systemTags | The system tags. For more information, see CreateSystemTag. | 5.1.8 |
Operations
QueryGpuDevice
QueryGpuDevicePrimitive Fields of Query
See GPU Device Inventory.
Nested and Expanded Fields of Query
| Field | Inventory | Description | Starting Version |
|---|---|---|---|
| host | Host Inventory | The host that the device resides on. | 5.1.8 |
| macthedPciDeviceOffering | matchedPciDeviceOffering inventory | The matched PCI device offering. | 5.1.8 |
| mdevSpec | The mdev device specification. | 5.1.8 | |
| matchedPciDeviceOfferingRef. | The matched PCI devices offering reference. | 5.1.8 | |
| parent | 5.1.8 | ||
| pciDeviceSpec | PciDeviceSpec inventory | The PCI device specification. | 5.1.8 |
| vmInstance | VM Instance Inventory | The VM instances that run on the host. | 5.1.8 |
