Class: PGPU

Last published : Oct 01, 2026
A physical GPU pGPU

Fields for class: PGPU

Field Type Qualifier Description
compatibility_metadata (string -> string) map RO/runtime PGPU metadata to determine whether a VGPU can migrate between two PGPUs
dom0_access pci_dom0_access RO/runtime Deprecated. The accessibility of this device from dom0
enabled_VGPU_types VGPU_type ref set RO/runtime List of VGPU types which have been enabled for this PGPU
GPU_group GPU_group ref RO/constructor GPU group the pGPU is contained in
host host ref RO/runtime Host that owns the GPU
is_system_display_device bool RO/runtime Is this device the system display device
other_config (string -> string) map RW Additional configuration
PCI PCI ref RO/constructor Link to underlying PCI device
resident_VGPUs VGPU ref set RO/runtime List of VGPUs running on this PGPU
supported_VGPU_max_capacities (VGPU_type ref -> int) map RO/runtime A map relating each VGPU type supported on this GPU to the maximum number of VGPUs of that type which can run simultaneously on this GPU
supported_VGPU_types VGPU_type ref set RO/runtime List of VGPU types supported by the underlying hardware
uuid string RO/runtime Unique identifier/object reference

RPCs associated with class: PGPU

RPC name: addenabledVGPUtypes

Overview:
Signature:
void add_enabled_VGPU_types (session ref session_ref, PGPU ref self, VGPU_type ref value)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self The PGPU to which we are adding an enabled VGPU type
VGPU_type ref value The VGPU type to enable
Minimum Role: pool-operator
Return Type: void

RPC name: addtootherconfig

Overview:
Add the given keyvalue pair to the otherconfig field of the given PGPU.
Signature:
void add_to_other_config (session ref session_ref, PGPU ref self, string key, string value)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
string key Key to add
string value Value to add
Minimum Role: pool-operator
Return Type: void

RPC name: disabledom0access

This message is deprecated.
Overview:
Signature:
pci_dom0_access disable_dom0_access (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self The PGPU to which dom0 will be denied access
Minimum Role: pool-operator
Return Type: pci_dom0_access
The accessibility of this PGPU from dom0

RPC name: enabledom0access

This message is deprecated.
Overview:
Signature:
pci_dom0_access enable_dom0_access (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self The PGPU to which dom0 will be granted access
Minimum Role: pool-operator
Return Type: pci_dom0_access
The accessibility of this PGPU from dom0

RPC name: getall

Overview:
Return a list of all the PGPUs known to the system.
Signature:
PGPU ref set get_all (session ref session_ref)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
Minimum Role: read-only
Return Type: PGPU ref set
references to all objects

RPC name: getallrecords

Overview:
Return a map of PGPU references to PGPU records for all PGPUs known to the system.
Signature:
(PGPU ref -> PGPU record) map get_all_records (session ref session_ref)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
Minimum Role: read-only
Return Type: (PGPU ref -> PGPU record) map
records of all objects

RPC name: getbyuuid

Overview:
Get a reference to the PGPU instance with the specified UUID.
Signature:
PGPU ref get_by_uuid (session ref session_ref, string uuid)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
string uuid UUID of object to return
Minimum Role: read-only
Return Type: PGPU ref
reference to the object

RPC name: getcompatibilitymetadata

Overview:
Get the compatibilitymetadata field of the given PGPU.
Signature:
(string -> string) map get_compatibility_metadata (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
Minimum Role: read-only
Return Type: (string -> string) map
value of the field

RPC name: getdom0access

This message is deprecated.
Overview:
Get the dom0access field of the given PGPU.
Signature:
pci_dom0_access get_dom0_access (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
Minimum Role: read-only
Return Type: pci_dom0_access
value of the field

RPC name: getenabledVGPUtypes

Overview:
Get the enabledVGPUtypes field of the given PGPU.
Signature:
VGPU_type ref set get_enabled_VGPU_types (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
Minimum Role: read-only
Return Type: VGPU_type ref set
value of the field

RPC name: getGPUgroup

Overview:
Get the GPUgroup field of the given PGPU.
Signature:
GPU_group ref get_GPU_group (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
Minimum Role: read-only
Return Type: GPU_group ref
value of the field

RPC name: gethost

Overview:
Get the host field of the given PGPU.
Signature:
host ref get_host (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
Minimum Role: read-only
Return Type: host ref
value of the field

RPC name: getissystemdisplaydevice

Overview:
Get the issystemdisplaydevice field of the given PGPU.
Signature:
bool get_is_system_display_device (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
Minimum Role: read-only
Return Type: bool
value of the field

RPC name: getotherconfig

Overview:
Get the otherconfig field of the given PGPU.
Signature:
(string -> string) map get_other_config (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
Minimum Role: read-only
Return Type: (string -> string) map
value of the field

RPC name: getPCI

Overview:
Get the PCI field of the given PGPU.
Signature:
PCI ref get_PCI (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
Minimum Role: read-only
Return Type: PCI ref
value of the field

RPC name: getrecord

Overview:
Get a record containing the current state of the given PGPU.
Signature:
PGPU record get_record (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
Minimum Role: read-only
Return Type: PGPU record
all fields from the object

RPC name: getremainingcapacity

Overview:
Signature:
int get_remaining_capacity (session ref session_ref, PGPU ref self, VGPU_type ref vgpu_type)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self The PGPU to query
VGPU_type ref vgpu_type The VGPU type for which we want to find the number of VGPUs which can still be started on this PGPU
Minimum Role: read-only
Return Type: int
The number of VGPUs of the specified type which can still be started on this PGPU

RPC name: getresidentVGPUs

Overview:
Get the residentVGPUs field of the given PGPU.
Signature:
VGPU ref set get_resident_VGPUs (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
Minimum Role: read-only
Return Type: VGPU ref set
value of the field

RPC name: getsupportedVGPUmaxcapacities

Overview:
Get the supportedVGPUmaxcapacities field of the given PGPU.
Signature:
(VGPU_type ref -> int) map get_supported_VGPU_max_capacities (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
Minimum Role: read-only
Return Type: (VGPU_type ref -> int) map
value of the field

RPC name: getsupportedVGPUtypes

Overview:
Get the supportedVGPUtypes field of the given PGPU.
Signature:
VGPU_type ref set get_supported_VGPU_types (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
Minimum Role: read-only
Return Type: VGPU_type ref set
value of the field

RPC name: getuuid

Overview:
Get the uuid field of the given PGPU.
Signature:
string get_uuid (session ref session_ref, PGPU ref self)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
Minimum Role: read-only
Return Type: string
value of the field

RPC name: removeenabledVGPUtypes

Overview:
Signature:
void remove_enabled_VGPU_types (session ref session_ref, PGPU ref self, VGPU_type ref value)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self The PGPU from which we are removing an enabled VGPU type
VGPU_type ref value The VGPU type to disable
Minimum Role: pool-operator
Return Type: void

RPC name: removefromotherconfig

Overview:
Remove the given key and its corresponding value from the otherconfig field of the given PGPU. If the key is not in that Map, then do nothing.
Signature:
void remove_from_other_config (session ref session_ref, PGPU ref self, string key)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
string key Key to remove
Minimum Role: pool-operator
Return Type: void

RPC name: setenabledVGPUtypes

Overview:
Signature:
void set_enabled_VGPU_types (session ref session_ref, PGPU ref self, VGPU_type ref set value)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self The PGPU on which we are enabling a set of VGPU types
VGPU_type ref set value The VGPU types to enable
Minimum Role: pool-operator
Return Type: void

RPC name: setGPUgroup

Overview:
Signature:
void set_GPU_group (session ref session_ref, PGPU ref self, GPU_group ref value)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self The PGPU to move to a new group
GPU_group ref value The group to which the PGPU will be moved
Minimum Role: pool-operator
Return Type: void

RPC name: setotherconfig

Overview:
Set the otherconfig field of the given PGPU.
Signature:
void set_other_config (session ref session_ref, PGPU ref self, (string -> string) map value)
Arguments:
Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self reference to the object
(string -> string) map value New value to set
Minimum Role: pool-operator
Return Type: void