4.15. 单元查询
本章介绍 NVML 可以对每个单元执行的查询。仅适用于 S 级系统。在每种情况下,设备都使用 nvmlUnit_t 句柄标识。此句柄通过调用 nvmlUnitGetHandleByIndex() 获得。
函数
- nvmlReturn_t nvmlUnitGetCount ( unsigned int* unitCount )
- nvmlReturn_t nvmlUnitGetDevices ( nvmlUnit_t unit, unsigned int* deviceCount, nvmlDevice_t* devices )
- nvmlReturn_t nvmlUnitGetFanSpeedInfo ( nvmlUnit_t unit, nvmlUnitFanSpeeds_t* fanSpeeds )
- nvmlReturn_t nvmlUnitGetHandleByIndex ( unsigned int index, nvmlUnit_t* unit )
- nvmlReturn_t nvmlUnitGetLedState ( nvmlUnit_t unit, nvmlLedState_t* state )
- nvmlReturn_t nvmlUnitGetPsuInfo ( nvmlUnit_t unit, nvmlPSUInfo_t* psu )
- nvmlReturn_t nvmlUnitGetTemperature ( nvmlUnit_t unit, unsigned int type, unsigned int* temp )
- nvmlReturn_t nvmlUnitGetUnitInfo ( nvmlUnit_t unit, nvmlUnitInfo_t* info )
函数
- nvmlReturn_t nvmlUnitGetCount ( unsigned int* unitCount )
-
参数
- unitCount
- 用于返回单元数量的引用
返回值
- NVML_SUCCESS 如果 unitCount 已设置
- NVML_ERROR_UNINITIALIZED 如果库未成功初始化
- NVML_ERROR_INVALID_ARGUMENT 如果 unitCount 为 NULL
- NVML_ERROR_UNKNOWN 如果发生任何意外错误
描述
检索系统中的单元数量。
适用于 S 级产品。
- nvmlReturn_t nvmlUnitGetDevices ( nvmlUnit_t unit, unsigned int* deviceCount, nvmlDevice_t* devices )
-
参数
- unit
- 目标单元的标识符
- deviceCount
- 用于提供设备数组大小和返回连接的 GPU 设备数量的引用
- devices
- 用于返回连接的 GPU 设备引用的引用
返回值
- NVML_SUCCESS 如果 deviceCount 和 devices 已填充
- NVML_ERROR_UNINITIALIZED 如果库未成功初始化
- NVML_ERROR_INSUFFICIENT_SIZE 如果 deviceCount 指示 devices 数组太小
- NVML_ERROR_INVALID_ARGUMENT 如果 unit 无效,或者 deviceCount 或 devices 为 NULL
- NVML_ERROR_UNKNOWN 如果发生任何意外错误
描述
检索连接到指定单元的 GPU 设备集。
适用于 S 级产品。
deviceCount 参数应设置为输入 devices 数组的大小。
- nvmlReturn_t nvmlUnitGetFanSpeedInfo ( nvmlUnit_t unit, nvmlUnitFanSpeeds_t* fanSpeeds )
-
参数
- unit
- 目标单元的标识符
- fanSpeeds
- 用于返回风扇速度信息的引用
返回值
- NVML_SUCCESS 如果 fanSpeeds 已填充
- NVML_ERROR_UNINITIALIZED 如果库未成功初始化
- NVML_ERROR_INVALID_ARGUMENT 如果 unit 无效或 fanSpeeds 为 NULL
- NVML_ERROR_NOT_SUPPORTED 如果这不是 S 级产品
- NVML_ERROR_UNKNOWN 如果发生任何意外错误
- nvmlReturn_t nvmlUnitGetHandleByIndex ( unsigned int index, nvmlUnit_t* unit )
-
参数
- index
- 目标单元的索引,>= 0 且 < unitCount
- unit
- 用于返回单元句柄的引用
返回值
- NVML_SUCCESS 如果 unit 已设置
- NVML_ERROR_UNINITIALIZED 如果库未成功初始化
- NVML_ERROR_INVALID_ARGUMENT 如果 index 无效或 unit 为 NULL
- NVML_ERROR_UNKNOWN 如果发生任何意外错误
描述
根据索引获取特定单元的句柄。
适用于 S 级产品。
有效索引来自 nvmlUnitGetCount() 返回的 unitCount。例如,如果 unitCount 为 2,则有效索引为 0 和 1,分别对应于 UNIT 0 和 UNIT 1。
NVML 枚举单元的顺序不保证在重启之间保持一致。
- nvmlReturn_t nvmlUnitGetLedState ( nvmlUnit_t unit, nvmlLedState_t* state )
-
参数
- unit
- 目标单元的标识符
- state
- 用于返回当前 LED 状态的引用
返回值
- NVML_SUCCESS 如果 state 已设置
- NVML_ERROR_UNINITIALIZED 如果库未成功初始化
- NVML_ERROR_INVALID_ARGUMENT 如果 unit 无效或 state 为 NULL
- NVML_ERROR_NOT_SUPPORTED 如果这不是 S 级产品
- NVML_ERROR_UNKNOWN 如果发生任何意外错误
- nvmlReturn_t nvmlUnitGetPsuInfo ( nvmlUnit_t unit, nvmlPSUInfo_t* psu )
-
参数
- unit
- 目标单元的标识符
- psu
- 用于返回 PSU 信息的引用
返回值
- NVML_SUCCESS 如果 psu 已填充
- NVML_ERROR_UNINITIALIZED 如果库未成功初始化
- NVML_ERROR_INVALID_ARGUMENT 如果 unit 无效或 psu 为 NULL
- NVML_ERROR_NOT_SUPPORTED 如果这不是 S 级产品
- NVML_ERROR_UNKNOWN 如果发生任何意外错误
- nvmlReturn_t nvmlUnitGetTemperature ( nvmlUnit_t unit, unsigned int type, unsigned int* temp )
-
参数
- unit
- 目标单元的标识符
- type
- 要读取的温度类型
- temp
- 用于返回进气温度的引用
返回值
- NVML_SUCCESS 如果 temp 已填充
- NVML_ERROR_UNINITIALIZED 如果库未成功初始化
- NVML_ERROR_INVALID_ARGUMENT 如果 unit 或 type 无效或 temp 为 NULL
- NVML_ERROR_NOT_SUPPORTED 如果这不是 S 级产品
- NVML_ERROR_UNKNOWN 如果发生任何意外错误
描述
检索单元的温度读数,单位为摄氏度。
适用于 S 级产品。
根据产品,读数可能适用于进气(type=0)、排气(type=1)和板载(type=2)。
- nvmlReturn_t nvmlUnitGetUnitInfo ( nvmlUnit_t unit, nvmlUnitInfo_t* info )
-
参数
- unit
- 目标单元的标识符
- info
- 用于返回单元信息的引用
返回值
- NVML_SUCCESS 如果 info 已填充
- NVML_ERROR_UNINITIALIZED 如果库未成功初始化
- NVML_ERROR_INVALID_ARGUMENT 如果 unit 无效或 info 为 NULL