NVML API 参考指南 (PDF) - vR570 (更旧版本) - 最后更新于 2025 年 1 月 29 日 - 发送反馈

4.24. vGPU 管理

本章介绍支持 NVIDIA vGPU 的 API。

函数

nvmlReturn_t nvmlDeviceGetActiveVgpus ( nvmlDevice_t device, unsigned int* vgpuCount, nvmlVgpuInstance_t* vgpuInstances )
nvmlReturn_t nvmlDeviceGetCreatableVgpus ( nvmlDevice_t device, unsigned int* vgpuCount, nvmlVgpuTypeId_t* vgpuTypeIds )
nvmlReturn_t nvmlDeviceGetSupportedVgpus ( nvmlDevice_t device, unsigned int* vgpuCount, nvmlVgpuTypeId_t* vgpuTypeIds )
nvmlReturn_t nvmlDeviceGetVgpuCapabilities ( nvmlDevice_t device, nvmlDeviceVgpuCapability_t capability, unsigned int* capResult )
nvmlReturn_t nvmlGetVgpuDriverCapabilities ( nvmlVgpuDriverCapability_t capability, unsigned int* capResult )
nvmlReturn_t nvmlVgpuInstanceGetEccMode ( nvmlVgpuInstance_t vgpuInstance, nvmlEnableState_t* eccMode )
nvmlReturn_t nvmlVgpuInstanceGetEncoderCapacity ( nvmlVgpuInstance_t vgpuInstance, unsigned int* encoderCapacity )
nvmlReturn_t nvmlVgpuInstanceGetEncoderSessions ( nvmlVgpuInstance_t vgpuInstance, unsigned int* sessionCount, nvmlEncoderSessionInfo_t* sessionInfo )
nvmlReturn_t nvmlVgpuInstanceGetEncoderStats ( nvmlVgpuInstance_t vgpuInstance, unsigned int* sessionCount, unsigned int* averageFps, unsigned int* averageLatency )
nvmlReturn_t nvmlVgpuInstanceGetFBCSessions ( nvmlVgpuInstance_t vgpuInstance, unsigned int* sessionCount, nvmlFBCSessionInfo_t* sessionInfo )
nvmlReturn_t nvmlVgpuInstanceGetFBCStats ( nvmlVgpuInstance_t vgpuInstance, nvmlFBCStats_t* fbcStats )
nvmlReturn_t nvmlVgpuInstanceGetFbUsage ( nvmlVgpuInstance_t vgpuInstance, unsigned long long* fbUsage )
nvmlReturn_t nvmlVgpuInstanceGetFrameRateLimit ( nvmlVgpuInstance_t vgpuInstance, unsigned int* frameRateLimit )
nvmlReturn_t nvmlVgpuInstanceGetGpuInstanceId ( nvmlVgpuInstance_t vgpuInstance, unsigned int* gpuInstanceId )
nvmlReturn_t nvmlVgpuInstanceGetGpuPciId ( nvmlVgpuInstance_t vgpuInstance, char* vgpuPciId, unsigned int* length )
nvmlReturn_t nvmlVgpuInstanceGetLicenseStatus ( nvmlVgpuInstance_t vgpuInstance, unsigned int* licensed )
nvmlReturn_t nvmlVgpuInstanceGetMdevUUID ( nvmlVgpuInstance_t vgpuInstance, char* mdevUuid, unsigned int  size )
nvmlReturn_t nvmlVgpuInstanceGetType ( nvmlVgpuInstance_t vgpuInstance, nvmlVgpuTypeId_t* vgpuTypeId )
nvmlReturn_t nvmlVgpuInstanceGetUUID ( nvmlVgpuInstance_t vgpuInstance, char* uuid, unsigned int  size )
nvmlReturn_t nvmlVgpuInstanceGetVmDriverVersion ( nvmlVgpuInstance_t vgpuInstance, char* version, unsigned int  length )
nvmlReturn_t nvmlVgpuInstanceGetVmID ( nvmlVgpuInstance_t vgpuInstance, char* vmId, unsigned int  size, nvmlVgpuVmIdType_t* vmIdType )
nvmlReturn_t nvmlVgpuInstanceSetEncoderCapacity ( nvmlVgpuInstance_t vgpuInstance, unsigned int  encoderCapacity )
nvmlReturn_t nvmlVgpuTypeGetBAR1Info ( nvmlVgpuTypeId_t vgpuTypeId, nvmlVgpuTypeBar1Info_t* bar1Info )
nvmlReturn_t nvmlVgpuTypeGetCapabilities ( nvmlVgpuTypeId_t vgpuTypeId, nvmlVgpuCapability_t capability, unsigned int* capResult )
nvmlReturn_t nvmlVgpuTypeGetClass ( nvmlVgpuTypeId_t vgpuTypeId, char* vgpuTypeClass, unsigned int* size )
nvmlReturn_t nvmlVgpuTypeGetDeviceID ( nvmlVgpuTypeId_t vgpuTypeId, unsigned long long* deviceID, unsigned long long* subsystemID )
nvmlReturn_t nvmlVgpuTypeGetFrameRateLimit ( nvmlVgpuTypeId_t vgpuTypeId, unsigned int* frameRateLimit )
nvmlReturn_t nvmlVgpuTypeGetFramebufferSize ( nvmlVgpuTypeId_t vgpuTypeId, unsigned long long* fbSize )
nvmlReturn_t nvmlVgpuTypeGetGpuInstanceProfileId ( nvmlVgpuTypeId_t vgpuTypeId, unsigned int* gpuInstanceProfileId )
nvmlReturn_t nvmlVgpuTypeGetLicense ( nvmlVgpuTypeId_t vgpuTypeId, char* vgpuTypeLicenseString, unsigned int  size )
nvmlReturn_t nvmlVgpuTypeGetMaxInstances ( nvmlDevice_t device, nvmlVgpuTypeId_t vgpuTypeId, unsigned int* vgpuInstanceCount )
nvmlReturn_t nvmlVgpuTypeGetMaxInstancesPerVm ( nvmlVgpuTypeId_t vgpuTypeId, unsigned int* vgpuInstanceCountPerVm )
nvmlReturn_t nvmlVgpuTypeGetName ( nvmlVgpuTypeId_t vgpuTypeId, char* vgpuTypeName, unsigned int* size )
nvmlReturn_t nvmlVgpuTypeGetNumDisplayHeads ( nvmlVgpuTypeId_t vgpuTypeId, unsigned int* numDisplayHeads )
nvmlReturn_t nvmlVgpuTypeGetResolution ( nvmlVgpuTypeId_t vgpuTypeId, unsigned int  displayIndex, unsigned int* xdim, unsigned int* ydim )

函数

nvmlReturn_t nvmlDeviceGetActiveVgpus ( nvmlDevice_t device, unsigned int* vgpuCount, nvmlVgpuInstance_t* vgpuInstances )
参数
device
目标设备的标识符
vgpuCount
指针,传入数组大小,并返回类型数量
vgpuInstances
指向数组的指针,用于返回 vGPU 实例列表
返回值

描述

检索设备上活动的 vGPU 实例。

活动 vGPU 实例的数组在调用者提供的缓冲区中返回,该缓冲区由 vgpuInstances 指向。数组元素计数在 vgpuCount 中传入,vgpuCount 用于返回写入缓冲区的 vGPU 实例数。

如果提供的缓冲区不够大,无法容纳 vGPU 实例数组,则函数返回 NVML_ERROR_INSUFFICIENT_SIZE,并且 vgpuCount 中包含所需的 nvmlVgpuInstance_t 数组的元素计数。要查询活动 vGPU 实例的数量,请使用 *vgpuCount = 0 调用此函数。如果不支持 vGPU 类型,代码将返回 NVML_ERROR_INSUFFICIENT_SIZE 或 NVML_SUCCESS。

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlDeviceGetCreatableVgpus ( nvmlDevice_t device, unsigned int* vgpuCount, nvmlVgpuTypeId_t* vgpuTypeIds )
参数
device
目标设备的标识符
vgpuCount
指向调用者提供的数组大小的指针,并返回 vGPU 类型的数量
vgpuTypeIds
指向调用者提供的数组的指针,用于返回 vGPU 类型列表
返回值

描述

检索物理 GPU (device) 上当前可创建的 vGPU 类型。

物理 GPU(由 device 指示)的可创建 vGPU 类型数组在调用者提供的缓冲区中返回,该缓冲区由 vgpuTypeIds 指向。nvmlVgpuTypeId_t 数组的元素计数在 vgpuCount 中传入,vgpuCount 用于返回写入缓冲区的 vGPU 类型数。

设备的 creatable vGPU 类型可能会随时间而变化,因为可以并发运行在设备上的 vGPU 类型可能存在限制。例如,如果设备上一次只允许一种 vGPU 类型,则可创建列表将限制为设备上已在运行的 vGPU 类型。

如果提供的缓冲区不够大,无法容纳 vGPU 类型数组,则函数返回 NVML_ERROR_INSUFFICIENT_SIZE,并且 vgpuCount 中包含所需的 nvmlVgpuTypeId_t 数组的元素计数。要查询可以为 GPU 创建的 vGPU 类型数量,请使用 *vgpuCount = 0 调用此函数。如果不可创建 vGPU 类型,代码将返回 NVML_ERROR_INSUFFICIENT_SIZE 或 NVML_SUCCESS。

nvmlReturn_t nvmlDeviceGetSupportedVgpus ( nvmlDevice_t device, unsigned int* vgpuCount, nvmlVgpuTypeId_t* vgpuTypeIds )
参数
device
目标设备的标识符
vgpuCount
指向调用者提供的数组大小的指针,并返回 vGPU 类型的数量
vgpuTypeIds
指向调用者提供的数组的指针,用于返回 vGPU 类型列表
返回值

描述

检索物理 GPU (device) 上支持的 vGPU 类型。

物理 GPU(由 device 指示)的支持 vGPU 类型数组在调用者提供的缓冲区中返回,该缓冲区由 vgpuTypeIds 指向。nvmlVgpuTypeId_t 数组的元素计数在 vgpuCount 中传入,vgpuCount 用于返回写入缓冲区的 vGPU 类型数。

如果提供的缓冲区不够大,无法容纳 vGPU 类型数组,则函数返回 NVML_ERROR_INSUFFICIENT_SIZE,并且 vgpuCount 中包含所需的 nvmlVgpuTypeId_t 数组的元素计数。要查询 GPU 支持的 vGPU 类型数量,请使用 *vgpuCount = 0 调用此函数。如果不支持 vGPU 类型,代码将返回 NVML_ERROR_INSUFFICIENT_SIZE 或 NVML_SUCCESS。

nvmlReturn_t nvmlDeviceGetVgpuCapabilities ( nvmlDevice_t device, nvmlDeviceVgpuCapability_t capability, unsigned int* capResult )
参数
device
目标设备的标识符
capability
指定要查询的 nvmlDeviceVgpuCapability_t
capResult
指定是否支持查询的功能,并返回功能的数据
返回值

描述

检索 GPU 请求的 vGPU 功能。

有关可以查询的特定功能,请参阅 nvmlDeviceVgpuCapability_t 结构。capResult 中的返回值报告一个非零值,指示支持该功能,并根据查询的功能报告该功能的数据。

适用于 Maxwell 或更新的完全支持的设备。

nvmlReturn_t nvmlGetVgpuDriverCapabilities ( nvmlVgpuDriverCapability_t capability, unsigned int* capResult )
参数
capability
指定要查询的 nvmlVgpuDriverCapability_t
capResult
查询功能的布尔值,指示是否支持该特性
返回值

描述

检索请求的 vGPU 驱动程序功能。

有关可以查询的特定功能,请参阅 nvmlVgpuDriverCapability_t 结构。capResult 中的返回值应视为布尔值,非零值表示支持该功能。

适用于 Maxwell 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuInstanceGetEccMode ( nvmlVgpuInstance_t vgpuInstance, nvmlEnableState_t* eccMode )
参数
vgpuInstance
目标 vGPU 实例的标识符
eccMode
用于返回当前 ECC 模式的引用
返回值

描述

检索 vGPU 实例的当前 ECC 模式。

nvmlReturn_t nvmlVgpuInstanceGetEncoderCapacity ( nvmlVgpuInstance_t vgpuInstance, unsigned int* encoderCapacity )
参数
vgpuInstance
目标 vGPU 实例的标识符
encoderCapacity
指向用于存放编码器容量的无符号整数的引用
返回值

描述

检索 vGPU 实例的编码器容量,以最大编码器容量的百分比表示,有效值范围为 0-100。

适用于 Maxwell 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuInstanceGetEncoderSessions ( nvmlVgpuInstance_t vgpuInstance, unsigned int* sessionCount, nvmlEncoderSessionInfo_t* sessionInfo )
参数
vgpuInstance
目标 vGPU 实例的标识符
sessionCount
指向调用者提供的数组大小的引用,并返回会话数。
sessionInfo
指向调用者提供的数组的引用,会话信息列表将在其中返回。
返回值

描述

检索有关 vGPU 实例上所有活动编码器会话的信息。

活动编码器会话的数组在调用者提供的缓冲区中返回,该缓冲区由 sessionInfo 指向。数组元素计数在 sessionCount 中传入,sessionCount 用于返回写入缓冲区的会话数。

如果提供的缓冲区不够大,无法容纳活动会话数组,则函数返回 NVML_ERROR_INSUFFICIENT_SIZE,并且 sessionCount 中包含所需的 nvmlEncoderSessionInfo_t 数组的元素计数。要查询活动编码器会话的数量,请使用 *sessionCount = 0 调用此函数。代码将返回 NVML_SUCCESS,并在 *sessionCount 中更新活动编码器会话的数量。

适用于 Maxwell 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuInstanceGetEncoderStats ( nvmlVgpuInstance_t vgpuInstance, unsigned int* sessionCount, unsigned int* averageFps, unsigned int* averageLatency )
参数
vgpuInstance
目标 vGPU 实例的标识符
sessionCount
指向用于存放活动编码器会话计数的无符号整数的引用
averageFps
指向用于存放所有活动会话的尾随平均 FPS 的无符号整数的引用
averageLatency
指向用于存放编码延迟(以微秒为单位)的无符号整数的引用
返回值

描述

检索 vGPU 实例的当前编码器统计信息

适用于 Maxwell 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuInstanceGetFBCSessions ( nvmlVgpuInstance_t vgpuInstance, unsigned int* sessionCount, nvmlFBCSessionInfo_t* sessionInfo )
参数
vgpuInstance
目标 vGPU 实例的标识符
sessionCount
指向调用者提供的数组大小的引用,并返回会话数。
sessionInfo
用于返回会话信息的引用
返回值

描述

检索 vGPU 实例上处于活动状态的帧缓冲区捕获会话的信息。

活动的 FBC 会话数组将在调用方提供的缓冲区中返回,该缓冲区由 sessionInfo 指向。数组元素计数在 sessionCount 中传递,sessionCount 用于返回写入缓冲区的会话数。

如果提供的缓冲区不足以容纳活动会话数组,该函数将返回 NVML_ERROR_INSUFFICIENT_SIZE 错误,并在 sessionCount 中返回所需的 nvmlFBCSessionInfo_t 数组的元素计数。要查询活动的 FBC 会话数,请调用此函数并将 *sessionCount 设置为 0。代码将返回 NVML_SUCCESS,并且活动 FBC 会话数将在 *sessionCount 中更新。

适用于 Maxwell 或更新的完全支持的设备。

注意

如果自会话开始以来没有捕获到新帧,则 sessionInfo 中返回的 FBC 会话的 hResolution、vResolution、averageFPS 和 averageLatency 数据可能为零。

nvmlReturn_t nvmlVgpuInstanceGetFBCStats ( nvmlVgpuInstance_t vgpuInstance, nvmlFBCStats_t* fbcStats )
参数
vgpuInstance
目标 vGPU 实例的标识符
fbcStats
指向包含 NvFBC 统计信息的 nvmlFBCStats_t 结构的引用
返回值

描述

检索 vGPU 实例的活动帧缓冲区捕获会话统计信息

适用于 Maxwell 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuInstanceGetFbUsage ( nvmlVgpuInstance_t vgpuInstance, unsigned long long* fbUsage )
参数
vgpuInstance
目标实例的标识符
fbUsage
指向帧缓冲区使用量(以字节为单位)的指针
返回值

描述

检索帧缓冲区使用量(以字节为单位)。

帧缓冲区使用量是 VM 当前使用的 vGPU 帧缓冲区内存量。

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuInstanceGetFrameRateLimit ( nvmlVgpuInstance_t vgpuInstance, unsigned int* frameRateLimit )
参数
vgpuInstance
目标 vGPU 实例的标识符
frameRateLimit
引用以返回帧率限制
返回值

描述

检索为 vGPU 实例设置的帧率限制。

返回为 vGPU 实例设置的帧率限制值

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuInstanceGetGpuInstanceId ( nvmlVgpuInstance_t vgpuInstance, unsigned int* gpuInstanceId )
参数
vgpuInstance
目标 vGPU 实例的标识符
gpuInstanceId
GPU 实例 ID
返回值

描述

检索给定 vGPU 实例的 GPU 实例 ID。对于 MIG 支持的 vGPU 实例,API 将返回有效的 GPU 实例 ID,否则返回 INVALID_GPU_INSTANCE_ID。

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuInstanceGetGpuPciId ( nvmlVgpuInstance_t vgpuInstance, char* vgpuPciId, unsigned int* length )
参数
vgpuInstance
目标 vGPU 实例的标识符
vgpuPciId
调用方提供的缓冲区,用于返回 vGPU PCI ID 字符串
length
vgpuPciId 缓冲区的大小
返回值

描述

检索给定 vGPU 实例的 PCI ID,即 VM 内部看到的 GPU 的 PCI ID。

如果 vGPU 实例上未安装 NVIDIA 驱动程序,则 vGPU PCI ID 将返回为“00000000:00:00.0”。

nvmlReturn_t nvmlVgpuInstanceGetLicenseStatus ( nvmlVgpuInstance_t vgpuInstance, unsigned int* licensed )
参数
vgpuInstance
目标 vGPU 实例的标识符
licensed
引用以返回许可状态
返回值

已弃用

请使用 nvmlVgpuInstanceGetLicenseInfo_v2

描述

检索 vGPU 实例的当前许可状态。

如果 vGPU 当前已获得许可,则 licensed 设置为 1,否则设置为 0。

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuInstanceGetMdevUUID ( nvmlVgpuInstance_t vgpuInstance, char* mdevUuid, unsigned int  size )
参数
vgpuInstance
目标 vGPU 实例的标识符
mdevUuid
指向调用方提供的缓冲区的指针,用于保存 MDEV UUID
size
缓冲区大小(以字节为单位)
返回值

描述

检索 vGPU 实例的 MDEV UUID。

MDEV UUID 是分配给 VM 的 mdev 设备的全局唯一标识符,以 5 部分十六进制字符串形式返回,长度不超过 80 个字符(包括 NULL 终止符)。MDEV UUID 仅在 KVM 平台上显示。请参阅 nvmlConstants::NVML_DEVICE_UUID_BUFFER_SIZE

适用于 Maxwell 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuInstanceGetType ( nvmlVgpuInstance_t vgpuInstance, nvmlVgpuTypeId_t* vgpuTypeId )
参数
vgpuInstance
目标 vGPU 实例的标识符
vgpuTypeId
引用以返回 vgpuTypeId
返回值

描述

检索 vGPU 实例的 vGPU 类型。

返回分配给 vGPU 实例的 vGPU 类型 ID。

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuInstanceGetUUID ( nvmlVgpuInstance_t vgpuInstance, char* uuid, unsigned int  size )
参数
vgpuInstance
目标 vGPU 实例的标识符
uuid
指向调用方提供的缓冲区的指针,用于保存 vGPU UUID
size
缓冲区大小(以字节为单位)
返回值

描述

检索 vGPU 实例的 UUID。

UUID 是与 vGPU 关联的全局唯一标识符,以 5 部分十六进制字符串形式返回,长度不超过 80 个字符(包括 NULL 终止符)。请参阅 nvmlConstants::NVML_DEVICE_UUID_BUFFER_SIZE

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuInstanceGetVmDriverVersion ( nvmlVgpuInstance_t vgpuInstance, char* version, unsigned int  length )
参数
vgpuInstance
目标 vGPU 实例的标识符
version
调用方提供的缓冲区,用于返回驱动程序版本字符串
length
版本缓冲区的大小
返回值

描述

检索与 vGPU 关联的 VM 中安装的 NVIDIA 驱动程序版本。

版本作为字母数字字符串在调用方提供的缓冲区 version 中返回。版本字符串的长度不会超过 80 个字符(包括 NUL 终止符)。请参阅 nvmlConstants::NVML_SYSTEM_DRIVER_VERSION_BUFFER_SIZE

可以随时为 vGPU 实例调用 nvmlVgpuInstanceGetVmDriverVersion()。如果 VM 中未安装 NVIDIA 驱动程序,或者 VM 尚未启动到 NVIDIA 驱动程序加载和初始化的程度,则访客 VM 驱动程序版本将返回为“不可用”。

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuInstanceGetVmID ( nvmlVgpuInstance_t vgpuInstance, char* vmId, unsigned int  size, nvmlVgpuVmIdType_t* vmIdType )
参数
vgpuInstance
目标 vGPU 实例的标识符
vmId
指向调用方提供的缓冲区的指针,用于保存 VM ID
size
缓冲区大小(以字节为单位)
vmIdType
指向保存 VM ID 类型的指针
返回值

描述

检索与 vGPU 实例关联的 VM ID。

VM ID 以字符串形式返回,长度不超过 80 个字符(包括 NUL 终止符)。请参阅 nvmlConstants::NVML_DEVICE_UUID_BUFFER_SIZE

VM ID 的格式因平台而异,并在 vmIdType 中返回的类型标识符中指示。

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuInstanceSetEncoderCapacity ( nvmlVgpuInstance_t vgpuInstance, unsigned int  encoderCapacity )
参数
vgpuInstance
目标 vGPU 实例的标识符
encoderCapacity
编码器容量值的无符号整数
返回值

描述

设置 vGPU 实例的编码器容量,以最大编码器容量的百分比表示,有效值范围为 0-100。

适用于 Maxwell 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuTypeGetBAR1Info ( nvmlVgpuTypeId_t vgpuTypeId, nvmlVgpuTypeBar1Info_t* bar1Info )
参数
vgpuTypeId
vGPU 类型的句柄
bar1Info
指向 vGPU 类型 BAR1 信息结构 nvmlVgpuTypeBar1Info_t 的指针
返回值

描述

检索给定 vGPU 类型的 BAR1 信息。

适用于 Maxwell 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuTypeGetCapabilities ( nvmlVgpuTypeId_t vgpuTypeId, nvmlVgpuCapability_t capability, unsigned int* capResult )
参数
vgpuTypeId
vGPU 类型的句柄
capability
指定要查询的 nvmlVgpuCapability_t
capResult
查询功能的布尔值,指示是否支持该特性
返回值

描述

检索给定 vGPU 类型的请求功能。有关可以查询的特定功能,请参阅 nvmlVgpuCapability_t 结构。capResult 中的返回值应视为布尔值,非零值表示支持该功能。

适用于 Maxwell 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuTypeGetClass ( nvmlVgpuTypeId_t vgpuTypeId, char* vgpuTypeClass, unsigned int* size )
参数
vgpuTypeId
vGPU 类型的句柄
vgpuTypeClass
指向字符串数组的指针,用于返回类
size
字符串的大小
返回值

描述

检索 vGPU 类型的类。长度不会超过 64 个字符(包括 NUL 终止符)。请参阅 nvmlConstants::NVML_DEVICE_NAME_BUFFER_SIZE

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuTypeGetDeviceID ( nvmlVgpuTypeId_t vgpuTypeId, unsigned long long* deviceID, unsigned long long* subsystemID )
参数
vgpuTypeId
vGPU 类型的句柄
deviceID
设备 ID 和设备供应商 ID 包含在单个 32 位值中
subsystemID
子系统 ID 和子系统供应商 ID 包含在单个 32 位值中
返回值

描述

检索 vGPU 类型的设备 ID。

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuTypeGetFrameRateLimit ( nvmlVgpuTypeId_t vgpuTypeId, unsigned int* frameRateLimit )
参数
vgpuTypeId
vGPU 类型的句柄
frameRateLimit
引用以返回帧率限制值
返回值

描述

检索 vGPU 类型的静态帧率限制值

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuTypeGetFramebufferSize ( nvmlVgpuTypeId_t vgpuTypeId, unsigned long long* fbSize )
参数
vgpuTypeId
vGPU 类型的句柄
fbSize
指向帧缓冲区大小(以字节为单位)的指针
返回值

描述

检索 vGPU 帧缓冲区大小(以字节为单位)。

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuTypeGetGpuInstanceProfileId ( nvmlVgpuTypeId_t vgpuTypeId, unsigned int* gpuInstanceProfileId )
参数
vgpuTypeId
vGPU 类型的句柄
gpuInstanceProfileId
GPU 实例 Profile ID
返回值

描述

检索给定 vGPU 类型 ID 的 GPU 实例 Profile ID。对于支持 MIG 的 vGPU 类型,API 将返回有效的 GPU 实例 Profile ID,否则返回 INVALID_GPU_INSTANCE_PROFILE_ID。

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuTypeGetLicense ( nvmlVgpuTypeId_t vgpuTypeId, char* vgpuTypeLicenseString, unsigned int  size )
参数
vgpuTypeId
vGPU 类型的句柄
vgpuTypeLicenseString
指向缓冲区的指针,用于返回许可证信息
size
vgpuTypeLicenseString 缓冲区的大小
返回值

描述

检索 vGPU 类型的许可证要求

运行指定 vGPU 类型所需的许可证类型和版本以字母数字字符串形式返回,格式为“<许可证名称>,<版本>”,例如“GRID-Virtual-PC,2.0”。如果 vGPU 可以使用* 多种类型的许可证运行,则许可证以分号分隔,例如“GRID-Virtual-PC,2.0;GRID-Virtual-WS,2.0;GRID-Virtual-WS-Ext,2.0”。

返回的字符串的总长度不会超过 128 个字符,包括 NUL 终止符。请参阅 nvmlVgpuConstants::NVML_GRID_LICENSE_BUFFER_SIZE

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuTypeGetMaxInstances ( nvmlDevice_t device, nvmlVgpuTypeId_t vgpuTypeId, unsigned int* vgpuInstanceCount )
参数
device
目标设备的标识符
vgpuTypeId
vGPU 类型的句柄
vgpuInstanceCount
指针,用于获取给定 vgpuTypeId 类型的 vGPU 实例在设备上可创建的最大数量
返回值

描述

检索给定 vGPU 类型在设备上可创建的最大 vGPU 实例数

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuTypeGetMaxInstancesPerVm ( nvmlVgpuTypeId_t vgpuTypeId, unsigned int* vgpuInstanceCountPerVm )
参数
vgpuTypeId
vGPU 类型的句柄
vgpuInstanceCountPerVm
指针,用于获取给定 vgpuTypeId 类型在每个 VM 中支持的最大 vGPU 实例数
返回值

描述

检索给定 vGPU 类型在每个 VM 中支持的最大 vGPU 实例数

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuTypeGetName ( nvmlVgpuTypeId_t vgpuTypeId, char* vgpuTypeName, unsigned int* size )
参数
vgpuTypeId
vGPU 类型的句柄
vgpuTypeName
指向缓冲区的指针,用于返回名称
size
缓冲区大小
返回值

描述

检索 vGPU 类型名称。

名称是表示特定 vGPU 的字母数字字符串,例如 GRID M60-2Q。长度不会超过 64 个字符(包括 NUL 终止符)。请参阅 nvmlConstants::NVML_DEVICE_NAME_BUFFER_SIZE

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuTypeGetNumDisplayHeads ( nvmlVgpuTypeId_t vgpuTypeId, unsigned int* numDisplayHeads )
参数
vgpuTypeId
vGPU 类型的句柄
numDisplayHeads
指向显示头数量的指针
返回值

描述

检索 vGPU 支持的显示头计数。

适用于 Kepler 或更新的完全支持的设备。

nvmlReturn_t nvmlVgpuTypeGetResolution ( nvmlVgpuTypeId_t vgpuTypeId, unsigned int  displayIndex, unsigned int* xdim, unsigned int* ydim )
参数
vgpuTypeId
vGPU 类型的句柄
displayIndex
显示头的从零开始的索引
xdim
指向 X 维度中最大像素数的指针
ydim
指向 Y 维度中最大像素数的指针
返回值

描述

检索 vGPU 显示头的最大支持分辨率。

适用于 Kepler 或更新的完全支持的设备。


NVML API 参考指南 (PDF) - vR570 (更旧版本) - 最后更新于 2025 年 1 月 29 日 - 发送反馈