vGPU Migration
- Provided by: nvidia-cuda-dev (Version: 10.1.243-3)
- Source: nvidia-cuda-toolkit
- Report a bug
enum nvmlVgpuVmCompatibility_t {
NVML_VGPU_VM_COMPATIBILITY_NONE = 0x0,
NVML_VGPU_VM_COMPATIBILITY_COLD = 0x1,
NVML_VGPU_VM_COMPATIBILITY_HIBERNATE = 0x2,
NVML_VGPU_VM_COMPATIBILITY_SLEEP = 0x4,
NVML_VGPU_VM_COMPATIBILITY_LIVE = 0x8 }
enum nvmlVgpuPgpuCompatibilityLimitCode_t {
NVML_VGPU_COMPATIBILITY_LIMIT_NONE = 0x0,
NVML_VGPU_COMPATIBILITY_LIMIT_HOST_DRIVER = 0x1,
NVML_VGPU_COMPATIBILITY_LIMIT_GUEST_DRIVER = 0x2,
NVML_VGPU_COMPATIBILITY_LIMIT_GPU = 0x4,
NVML_VGPU_COMPATIBILITY_LIMIT_OTHER = 0x80000000 }
nvmlReturn_t DECLDIR nvmlVgpuInstanceGetMetadata
(nvmlVgpuInstance_t vgpuInstance, nvmlVgpuMetadata_t *vgpuMetadata,
unsigned int *bufferSize)
nvmlReturn_t DECLDIR nvmlDeviceGetVgpuMetadata (nvmlDevice_t
device, nvmlVgpuPgpuMetadata_t *pgpuMetadata, unsigned int
*bufferSize)
nvmlReturn_t DECLDIR nvmlGetVgpuCompatibility
(nvmlVgpuMetadata_t *vgpuMetadata, nvmlVgpuPgpuMetadata_t
*pgpuMetadata, nvmlVgpuPgpuCompatibility_t *compatibilityInfo)
nvmlReturn_t DECLDIR nvmlGetVgpuVersion
(nvmlVgpuVersion_t *supported, nvmlVgpuVersion_t *current)
nvmlReturn_t DECLDIR nvmlSetVgpuVersion
(nvmlVgpuVersion_t *vgpuVersion)
This chapter describes NVML operations that are associated with vGPU Migration.
vGPU-pGPU compatibility limit codes
Enumerator:
vGPU VM compatibility codes
Enumerator:
Returns a vGPU metadata structure for the physical GPU indicated by device. The structure contains information about the GPU and the currently installed NVIDIA host driver version that's controlling it, together with an opaque data section containing internal state.
The caller passes in a buffer via pgpuMetadata, with the size of the buffer in bufferSize. If the pgpuMetadata structure is too large to fit in the supplied buffer, the function returns NVML_ERROR_INSUFFICIENT_SIZE with the size needed in bufferSize.
Parameters:
Returns:
Takes a vGPU instance metadata structure read from nvmlVgpuInstanceGetMetadata(), and a vGPU metadata structure for a physical GPU read from nvmlDeviceGetVgpuMetadata(), and returns compatibility information of the vGPU instance and the physical GPU.
The caller passes in a buffer via compatibilityInfo, into which a compatibility information structure is written. The structure defines the states in which the vGPU / VM may be booted on the physical GPU. If the vGPU / VM compatibility with the physical GPU is limited, a limit code indicates the factor limiting compatibility. (see nvmlVgpuPgpuCompatibilityLimitCode_t for details).
Note: vGPU compatibility does not take into account dynamic capacity conditions that may limit a system's ability to boot a given vGPU or associated VM.
Parameters:
Returns:
Query the ranges of supported vGPU versions.
This function gets the linear range of supported vGPU versions that is preset for the NVIDIA vGPU Manager and the range set by an administrator. If the preset range has not been overridden by nvmlSetVgpuVersion, both ranges are the same.
The caller passes pointers to the following nvmlVgpuVersion_t structures, into which the NVIDIA vGPU Manager writes the ranges: 1. supported structure that represents the preset range of vGPU versions supported by the NVIDIA vGPU Manager. 2. current structure that represents the range of supported vGPU versions set by an administrator. By default, this range is the same as the preset range.
Parameters:
Returns:
Override the preset range of vGPU versions supported by the NVIDIA vGPU Manager with a range set by an administrator.
This function configures the NVIDIA vGPU Manager with a range of supported vGPU versions set by an administrator. This range must be a subset of the preset range that the NVIDIA vGPU Manager supports. The custom range set by an administrator takes precedence over the preset range and is advertised to the guest VM for negotiating the vGPU version. See nvmlGetVgpuVersion for details of how to query the preset range of versions supported.
This function takes a pointer to vGPU version range structure nvmlVgpuVersion_t as input to override the preset vGPU version range that the NVIDIA vGPU Manager supports.
After host system reboot or driver reload, the range of supported versions reverts to the range that is preset for the NVIDIA vGPU Manager.
Note:
Parameters:
Returns:
Returns vGPU metadata structure for a running vGPU. The structure contains information about the vGPU and its associated VM such as the currently installed NVIDIA guest driver version, together with host driver version and an opaque data section containing internal state.
nvmlVgpuInstanceGetMetadata() may be called at any time for a vGPU instance. Some fields in the returned structure are dependent on information obtained from the guest VM, which may not yet have reached a state where that information is available. The current state of these dependent fields is reflected in the info structure's nvmlVgpuGuestInfoState_t field.
The VMM may choose to read and save the vGPU's VM info as persistent metadata associated with the VM, and provide it to GRID Virtual GPU Manager when creating a vGPU for subsequent instances of the VM.
The caller passes in a buffer via vgpuMetadata, with the size of the buffer in bufferSize. If the vGPU Metadata structure is too large to fit in the supplied buffer, the function returns NVML_ERROR_INSUFFICIENT_SIZE with the size needed in bufferSize.
Parameters:
Returns:
Generated automatically by Doxygen for NVML from the source code.