|
|
June 2025
Reference Manual
TABLE OF CONTENTS
Chapter 1. NVML API Reference
1
Chapter 2. Known Issues
3
Chapter 3. Change Log
4
Chapter 4. Modules
22
4.1. Device Structs
23
nvmlPciInfoExt_v1_t
24
nvmlPciInfo_t
24
nvmlEccErrorCounts_t
24
nvmlUtilization_t
24
nvmlMemory_t
24
nvmlMemory_v2_t
24
nvmlBAR1Memory_t
24
nvmlProcessInfo_v1_t
24
nvmlProcessInfo_t
24
nvmlProcessDetail_v1_t
24
nvmlProcessDetailList_v1_t
24
nvmlC2cModeInfo_v1_t
24
nvmlRowRemapperHistogramValues_t
24
nvmlNvLinkUtilizationControl_t
24
nvmlBridgeChipInfo_t
24
nvmlBridgeChipHierarchy_t
24
nvmlValue_t
24
nvmlSample_t
24
nvmlViolationTime_t
25
nvmlGpuThermalSettings_t
25
nvmlUUIDValue_t
25
nvmlUUID_v1_t
25
nvmlBridgeChipType_t
25
nvmlNvLinkUtilizationCountUnits_t
25
nvmlNvLinkUtilizationCountPktTypes_t
25
nvmlNvLinkCapability_t
26
nvmlNvLinkErrorCounter_t
26
nvmlIntNvLinkDeviceType_t
26
nvmlGpuTopologyLevel_t
26
nvmlSamplingType_t
27
nvmlPcieUtilCounter_t
27
nvmlValueType_t
28
nvmlPerfPolicyType_t
28
nvmlThermalTarget_t
29
nvmlThermalController_t
29
ii
nvmlCoolerControl_t
30
nvmlCoolerTarget_t
30
nvmlUUIDType_t
31
NVML_VALUE_NOT_AVAILABLE
31
NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE
31
NVML_DEVICE_PCI_BUS_ID_BUFFER_V2_SIZE
31
NVML_DEVICE_PCI_BUS_ID_LEGACY_FMT
31
NVML_DEVICE_PCI_BUS_ID_FMT
31
NVML_DEVICE_PCI_BUS_ID_FMT_ARGS
31
nvmlProcessDetailList_v1
32
NVML_NVLINK_MAX_LINKS
32
NVML_MAX_PHYSICAL_BRIDGE
32
NVML_DEVICE_UUID_ASCII_LEN
32
NVML_DEVICE_UUID_BINARY_LEN
32
4.2. Device Enums
32
nvmlDramEncryptionInfo_v1_t
33
nvmlMarginTemperature_v1_t
33
nvmlClkMonFaultInfo_t
33
nvmlClkMonStatus_t
33
nvmlClockOffset_v1_t
33
nvmlFanSpeedInfo_v1_t
33
nvmlDevicePerfModes_v1_t
33
nvmlDeviceCurrentClockFreqs_v1_t
33
nvmlProcessUtilizationSample_t
33
nvmlProcessUtilizationInfo_v1_t
33
nvmlProcessesUtilizationInfo_v1_t
33
nvmlEccSramErrorStatus_v1_t
33
nvmlPlatformInfo_v1_t
33
nvmlPlatformInfo_v2_t
33
nvmlPowerValue_v2_t
33
nvmlEnableState_t
33
nvmlBrandType_t
34
nvmlTemperatureThresholds_t
34
nvmlTemperatureSensors_t
35
nvmlComputeMode_t
35
nvmlMemoryErrorType_t
35
nvmlNvlinkVersion_t
36
nvmlEccCounterType_t
36
nvmlClockType_t
36
nvmlClockId_t
37
nvmlDriverModel_t
37
nvmlPstates_t
37
nvmlGpuOperationMode_t
38
iii
nvmlInforomObject_t
39
nvmlReturn_t
39
nvmlMemoryLocation_t
41
nvmlPageRetirementCause_t
41
nvmlRestrictedAPI_t
42
nvmlGpuUtilizationDomainId_t
42
nvmlFlagDefault
42
nvmlFlagForce
42
MAX_CLK_DOMAINS
42
nvmlEccBitType_t
43
NVML_SINGLE_BIT_ECC
43
NVML_DOUBLE_BIT_ECC
43
NVML_GSP_FIRMWARE_VERSION_BUF_SIZE
43
NVML_DEVICE_ARCH_KEPLER
43
NVML_BUS_TYPE_UNKNOWN
43
NVML_FAN_POLICY_TEMPERATURE_CONTINOUS_SW
43
NVML_POWER_SOURCE_AC
43
NVML_PCIE_LINK_MAX_SPEED_INVALID
44
NVML_ADAPTIVE_CLOCKING_INFO_STATUS_DISABLED
44
NVML_POWER_SCOPE_GPU
44
NVML_POWER_SCOPE_MODULE
44
NVML_POWER_SCOPE_MEMORY
44
4.3. Field Value Enums
44
nvmlFieldValue_t
44
NVML_FI_DEV_ECC_CURRENT
44
NVML_FI_DEV_ECC_PENDING
44
NVML_FI_DEV_ECC_SBE_VOL_TOTAL
45
NVML_FI_DEV_ECC_DBE_VOL_TOTAL
45
NVML_FI_DEV_ECC_SBE_AGG_TOTAL
45
NVML_FI_DEV_ECC_DBE_AGG_TOTAL
45
NVML_FI_DEV_ECC_SBE_VOL_L1
45
NVML_FI_DEV_ECC_DBE_VOL_L1
45
NVML_FI_DEV_ECC_SBE_VOL_L2
45
NVML_FI_DEV_ECC_DBE_VOL_L2
45
NVML_FI_DEV_ECC_SBE_VOL_DEV
45
NVML_FI_DEV_ECC_DBE_VOL_DEV
45
NVML_FI_DEV_ECC_SBE_VOL_REG
45
NVML_FI_DEV_ECC_DBE_VOL_REG
46
NVML_FI_DEV_ECC_SBE_VOL_TEX
46
NVML_FI_DEV_ECC_DBE_VOL_TEX
46
NVML_FI_DEV_ECC_DBE_VOL_CBU
46
NVML_FI_DEV_ECC_SBE_AGG_L1
46
NVML_FI_DEV_ECC_DBE_AGG_L1
46
iv
NVML_FI_DEV_ECC_SBE_AGG_L2
46
NVML_FI_DEV_ECC_DBE_AGG_L2
46
NVML_FI_DEV_ECC_SBE_AGG_DEV
46
NVML_FI_DEV_ECC_DBE_AGG_DEV
46
NVML_FI_DEV_ECC_SBE_AGG_REG
46
NVML_FI_DEV_ECC_DBE_AGG_REG
47
NVML_FI_DEV_ECC_SBE_AGG_TEX
47
NVML_FI_DEV_ECC_DBE_AGG_TEX
47
NVML_FI_DEV_ECC_DBE_AGG_CBU
47
NVML_FI_DEV_RETIRED_SBE
47
NVML_FI_DEV_RETIRED_DBE
47
NVML_FI_DEV_RETIRED_PENDING
47
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L0
47
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L1
47
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L2
47
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L3
48
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L4
48
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L5
48
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_TOTAL
48
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L0
48
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L1
48
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L2
48
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L3
49
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L4
49
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L5
49
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_TOTAL
49
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L0
49
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L1
49
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L2
49
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L3
50
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L4
50
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L5
50
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_TOTAL
50
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L0
50
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L1
50
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L2
50
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L3
50
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L4
51
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L5
51
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_TOTAL
51
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L0
51
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L1
51
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L2
51
v
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L3
51
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L4
51
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L5
51
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_TOTAL
51
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L0
52
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L1
52
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L2
52
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L3
52
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L4
52
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L5
52
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_TOTAL
52
NVML_FI_DEV_PERF_POLICY_POWER
52
NVML_FI_DEV_PERF_POLICY_THERMAL
52
NVML_FI_DEV_PERF_POLICY_SYNC_BOOST
52
NVML_FI_DEV_PERF_POLICY_BOARD_LIMIT
52
NVML_FI_DEV_PERF_POLICY_LOW_UTILIZATION
53
NVML_FI_DEV_PERF_POLICY_RELIABILITY
53
NVML_FI_DEV_PERF_POLICY_TOTAL_APP_CLOCKS
53
NVML_FI_DEV_PERF_POLICY_TOTAL_BASE_CLOCKS
53
NVML_FI_DEV_MEMORY_TEMP
53
NVML_FI_DEV_TOTAL_ENERGY_CONSUMPTION
53
NVML_FI_DEV_NVLINK_SPEED_MBPS_L0
53
NVML_FI_DEV_NVLINK_SPEED_MBPS_L1
53
NVML_FI_DEV_NVLINK_SPEED_MBPS_L2
53
NVML_FI_DEV_NVLINK_SPEED_MBPS_L3
53
NVML_FI_DEV_NVLINK_SPEED_MBPS_L4
54
NVML_FI_DEV_NVLINK_SPEED_MBPS_L5
54
NVML_FI_DEV_NVLINK_SPEED_MBPS_COMMON
54
NVML_FI_DEV_NVLINK_LINK_COUNT
54
NVML_FI_DEV_RETIRED_PENDING_SBE
54
NVML_FI_DEV_RETIRED_PENDING_DBE
54
NVML_FI_DEV_PCIE_REPLAY_COUNTER
54
NVML_FI_DEV_PCIE_REPLAY_ROLLOVER_COUNTER
54
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L6
54
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L7
54
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L8
55
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L9
55
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L10
55
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L11
55
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L6
55
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L7
55
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L8
55
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L9
56
vi
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L10
56
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L11
56
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L6
56
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L7
56
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L8
56
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L9
56
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L10
57
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L11
57
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L6
57
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L7
57
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L8
57
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L9
57
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L10
58
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L11
58
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L6
58
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L7
58
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L8
58
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L9
58
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L10
58
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L11
58
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L6
58
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L7
58
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L8
59
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L9
59
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L10
59
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L11
59
NVML_FI_DEV_NVLINK_SPEED_MBPS_L6
59
NVML_FI_DEV_NVLINK_SPEED_MBPS_L7
59
NVML_FI_DEV_NVLINK_SPEED_MBPS_L8
59
NVML_FI_DEV_NVLINK_SPEED_MBPS_L9
59
NVML_FI_DEV_NVLINK_SPEED_MBPS_L10
59
NVML_FI_DEV_NVLINK_SPEED_MBPS_L11
59
NVML_FI_DEV_NVLINK_THROUGHPUT_DATA_TX
60
NVML_FI_DEV_NVLINK_THROUGHPUT_DATA_RX
60
NVML_FI_DEV_NVLINK_THROUGHPUT_RAW_TX
60
NVML_FI_DEV_NVLINK_THROUGHPUT_RAW_RX
60
NVML_FI_DEV_REMAPPED_COR
60
NVML_FI_DEV_REMAPPED_UNC
60
NVML_FI_DEV_REMAPPED_PENDING
60
NVML_FI_DEV_REMAPPED_FAILURE
60
NVML_FI_DEV_NVLINK_REMOTE_NVLINK_ID
61
NVML_FI_DEV_NVSWITCH_CONNECTED_LINK_COUNT
61
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L0
61
vii
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L1
61
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L2
61
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L3
61
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L4
61
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L5
61
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L6
62
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L7
62
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L8
62
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L9
62
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L10
62
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L11
62
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_TOTAL
62
NVML_FI_DEV_NVLINK_ERROR_DL_REPLAY
62
NVML_FI_DEV_NVLINK_ERROR_DL_RECOVERY
63
NVML_FI_DEV_NVLINK_ERROR_DL_CRC
63
NVML_FI_DEV_NVLINK_GET_SPEED
63
NVML_FI_DEV_NVLINK_GET_STATE
63
NVML_FI_DEV_NVLINK_GET_VERSION
63
NVML_FI_DEV_NVLINK_GET_POWER_STATE
63
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD
63
NVML_FI_DEV_PCIE_L0_TO_RECOVERY_COUNTER
64
NVML_FI_DEV_C2C_LINK_COUNT
64
NVML_FI_DEV_C2C_LINK_GET_STATUS
64
NVML_FI_DEV_C2C_LINK_GET_MAX_BW
64
NVML_FI_DEV_PCIE_COUNT_CORRECTABLE_ERRORS
64
NVML_FI_DEV_PCIE_COUNT_NAKS_RECEIVED
64
NVML_FI_DEV_PCIE_COUNT_RECEIVER_ERROR
64
NVML_FI_DEV_PCIE_COUNT_BAD_TLP
64
NVML_FI_DEV_PCIE_COUNT_NAKS_SENT
64
NVML_FI_DEV_PCIE_COUNT_BAD_DLLP
64
NVML_FI_DEV_PCIE_COUNT_NON_FATAL_ERROR
65
NVML_FI_DEV_PCIE_COUNT_FATAL_ERROR
65
NVML_FI_DEV_PCIE_COUNT_UNSUPPORTED_REQ
65
NVML_FI_DEV_PCIE_COUNT_LCRC_ERROR
65
NVML_FI_DEV_PCIE_COUNT_LANE_ERROR
65
NVML_FI_DEV_IS_RESETLESS_MIG_SUPPORTED
65
NVML_FI_DEV_POWER_AVERAGE
65
NVML_FI_DEV_POWER_INSTANT
65
NVML_FI_DEV_POWER_MIN_LIMIT
66
NVML_FI_DEV_POWER_MAX_LIMIT
66
NVML_FI_DEV_POWER_DEFAULT_LIMIT
66
NVML_FI_DEV_POWER_CURRENT_LIMIT
66
NVML_FI_DEV_ENERGY
66
viii
NVML_FI_DEV_POWER_REQUESTED_LIMIT
66
NVML_FI_DEV_TEMPERATURE_SHUTDOWN_TLIMIT
66
NVML_FI_DEV_TEMPERATURE_SLOWDOWN_TLIMIT
66
NVML_FI_DEV_TEMPERATURE_MEM_MAX_TLIMIT
66
NVML_FI_DEV_TEMPERATURE_GPU_MAX_TLIMIT
67
NVML_FI_DEV_PCIE_COUNT_TX_BYTES
67
NVML_FI_DEV_PCIE_COUNT_RX_BYTES
67
NVML_FI_DEV_IS_MIG_MODE_INDEPENDENT_MIG_QUERY_CAPABLE
67
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MAX
67
NVML_FI_DEV_NVLINK_COUNT_XMIT_PACKETS
67
NVML_FI_DEV_NVLINK_COUNT_XMIT_BYTES
67
NVML_FI_DEV_NVLINK_COUNT_RCV_PACKETS
67
NVML_FI_DEV_NVLINK_COUNT_RCV_BYTES
68
NVML_FI_DEV_NVLINK_COUNT_VL15_DROPPED
68
NVML_FI_DEV_NVLINK_COUNT_MALFORMED_PACKET_ERRORS
68
NVML_FI_DEV_NVLINK_COUNT_BUFFER_OVERRUN_ERRORS
68
NVML_FI_DEV_NVLINK_COUNT_RCV_ERRORS
68
NVML_FI_DEV_NVLINK_COUNT_RCV_REMOTE_ERRORS
68
NVML_FI_DEV_NVLINK_COUNT_RCV_GENERAL_ERRORS
68
NVML_FI_DEV_NVLINK_COUNT_LOCAL_LINK_INTEGRITY_ERRORS
69
NVML_FI_DEV_NVLINK_COUNT_XMIT_DISCARDS
69
NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_SUCCESSFUL_EVENTS
69
NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_FAILED_EVENTS
69
NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_EVENTS
69
NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE0
69
NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE1
69
NVML_FI_DEV_NVLINK_COUNT_RAW_BER
70
NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_ERRORS
70
NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_BER
70
NVML_FI_DEV_NVLINK_COUNT_SYMBOL_ERRORS
70
NVML_FI_DEV_NVLINK_COUNT_SYMBOL_BER
70
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MIN
70
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_UNITS
70
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_SUPPORTED
71
NVML_FI_DEV_RESET_STATUS
71
NVML_FI_DEV_DRAIN_AND_RESET_STATUS
71
NVML_FI_DEV_GET_GPU_RECOVERY_ACTION
71
NVML_FI_DEV_C2C_LINK_ERROR_INTR
71
NVML_FI_DEV_C2C_LINK_ERROR_REPLAY
71
NVML_FI_DEV_C2C_LINK_ERROR_REPLAY_B2B
71
NVML_FI_DEV_C2C_LINK_POWER_STATE
71
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_0
71
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_1
72
ix
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_2
72
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_3
72
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_4
72
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_5
72
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_6
72
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_7
72
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_8
72
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_9
73
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_10
73
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_11
73
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_12
73
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_13
73
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_14
73
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_15
73
NVML_FI_DEV_CLOCKS_EVENT_REASON_SW_POWER_CAP
73
NVML_FI_DEV_CLOCKS_EVENT_REASON_SYNC_BOOST
74
NVML_FI_DEV_CLOCKS_EVENT_REASON_SW_THERM_SLOWDOWN
74
NVML_FI_DEV_CLOCKS_EVENT_REASON_HW_THERM_SLOWDOWN
74
NVML_FI_DEV_CLOCKS_EVENT_REASON_HW_POWER_BRAKE_SLOWDOWN
74
NVML_FI_DEV_POWER_SYNC_BALANCING_FREQ
74
NVML_FI_DEV_POWER_SYNC_BALANCING_AF
74
NVML_FI_PWR_SMOOTHING_ENABLED
74
NVML_FI_PWR_SMOOTHING_PRIV_LVL
75
NVML_FI_PWR_SMOOTHING_IMM_RAMP_DOWN_ENABLED
75
NVML_FI_PWR_SMOOTHING_APPLIED_TMP_CEIL
75
NVML_FI_PWR_SMOOTHING_APPLIED_TMP_FLOOR
75
NVML_FI_PWR_SMOOTHING_MAX_PERCENT_TMP_FLOOR_SETTING
75
NVML_FI_PWR_SMOOTHING_MIN_PERCENT_TMP_FLOOR_SETTING
75
NVML_FI_PWR_SMOOTHING_HW_CIRCUITRY_PERCENT_LIFETIME_REMAINING
75
NVML_FI_PWR_SMOOTHING_MAX_NUM_PRESET_PROFILES
76
NVML_FI_PWR_SMOOTHING_PROFILE_PERCENT_TMP_FLOOR
76
NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_UP_RATE
76
NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_DOWN_RATE
76
NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_DOWN_HYST_VAL
76
NVML_FI_PWR_SMOOTHING_ACTIVE_PRESET_PROFILE
76
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_PERCENT_TMP_FLOOR
77
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_UP_RATE
77
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_DOWN_RATE
77
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_DOWN_HYST_VAL
77
NVML_FI_MAX
77
NVML_NVLINK_LOW_POWER_THRESHOLD_UNIT_100US
77
NVML_NVLINK_POWER_STATE_HIGH_SPEED
77
4.4. Unit Structs
77
x
nvmlHwbcEntry_t
78
nvmlLedState_t
78
nvmlUnitInfo_t
78
nvmlPSUInfo_t
78
nvmlUnitFanInfo_t
78
nvmlUnitFanSpeeds_t
78
nvmlFanState_t
78
nvmlLedColor_t
78
4.5. Accounting Statistics
78
nvmlAccountingStats_t
79
NVLink
79
nvmlDeviceGetAccountingMode
79
nvmlDeviceGetAccountingStats
79
nvmlDeviceGetAccountingPids
81
nvmlDeviceGetAccountingBufferSize
82
nvmlDeviceSetAccountingMode
82
nvmlDeviceClearAccountingPids
83
nvmlDeviceSetPowerManagementLimit_v2
84
4.5.1. vGPU Migration
85
nvmlVgpuVersion_t
85
nvmlVgpuMetadata_t
85
nvmlVgpuPgpuMetadata_t
85
nvmlVgpuPgpuCompatibility_t
85
nvmlVgpuVmCompatibility_t
85
nvmlVgpuPgpuCompatibilityLimitCode_t
86
nvmlVgpuInstanceGetMetadata
86
nvmlDeviceGetVgpuMetadata
87
nvmlGetVgpuCompatibility
88
nvmlDeviceGetPgpuMetadataString
89
nvmlDeviceGetVgpuSchedulerLog
89
nvmlDeviceGetVgpuSchedulerState
90
nvmlDeviceGetVgpuSchedulerCapabilities
91
nvmlDeviceSetVgpuSchedulerState
91
nvmlGetVgpuVersion
92
nvmlSetVgpuVersion
93
4.6. Encoder Structs
94
nvmlEncoderSessionInfo_t
94
nvmlEncoderType_t
94
4.7. Frame Buffer Capture Structures
94
nvmlFBCStats_t
95
nvmlFBCSessionInfo_t
95
nvmlFBCSessionType_t
95
NVML_NVFBC_SESSION_FLAG_DIFFMAP_ENABLED
95
xi
NVML_NVFBC_SESSION_FLAG_CLASSIFICATIONMAP_ENABLED
95
NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_NO_WAIT
95
NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_INFINITE
96
NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_TIMEOUT
96
4.8. Drain State definitions
96
nvmlDetachGpuState_t
96
nvmlPcieLinkState_t
96
4.9. Confidential Computing definitions
96
nvmlSystemConfComputeSettings_v1_t
97
nvmlConfComputeMemSizeInfo_t
97
NVML_CC_SYSTEM_CPU_CAPS_NONE
97
NVML_CC_SYSTEM_GPUS_CC_NOT_CAPABLE
97
NVML_CC_SYSTEM_DEVTOOLS_MODE_OFF
97
NVML_CC_SYSTEM_ENVIRONMENT_UNAVAILABLE
97
NVML_CC_SYSTEM_FEATURE_DISABLED
97
NVML_CC_SYSTEM_MULTIGPU_NONE
97
NVML_CC_ACCEPTING_CLIENT_REQUESTS_FALSE
97
NVML_GPU_CERT_CHAIN_SIZE
97
NVML_CC_GPU_CEC_NONCE_SIZE
97
4.10. Fabric definitions
98
nvmlGpuFabricInfo_t
98
nvmlGpuFabricInfo_v2_t
98
NVML_GPU_FABRIC_HEALTH_GET
98
NVML_GPU_FABRIC_HEALTH_TEST
98
nvmlGpuFabricInfo_v2
98
4.11. Initialization and Cleanup
98
nvmlInit_v2
98
nvmlInitWithFlags
99
nvmlShutdown
100
NVML_INIT_FLAG_NO_GPUS
100
NVML_INIT_FLAG_NO_ATTACH
100
4.12. Error reporting
100
nvmlErrorString
101
4.13. Constants
101
NVML_DEVICE_INFOROM_VERSION_BUFFER_SIZE
101
NVML_DEVICE_UUID_BUFFER_SIZE
101
NVML_DEVICE_UUID_V2_BUFFER_SIZE
101
NVML_DEVICE_PART_NUMBER_BUFFER_SIZE
101
NVML_SYSTEM_DRIVER_VERSION_BUFFER_SIZE
101
NVML_SYSTEM_NVML_VERSION_BUFFER_SIZE
102
NVML_DEVICE_NAME_BUFFER_SIZE
102
NVML_DEVICE_NAME_V2_BUFFER_SIZE
102
NVML_DEVICE_SERIAL_BUFFER_SIZE
102
xii
NVML_DEVICE_VBIOS_VERSION_BUFFER_SIZE
102
4.14. System Queries
102
nvmlSystemDriverBranchInfo_v1_t
102
nvmlSystemGetDriverVersion
102
nvmlSystemGetNVMLVersion
103
nvmlSystemGetCudaDriverVersion
103
nvmlSystemGetCudaDriverVersion_v2
104
nvmlSystemGetProcessName
104
nvmlSystemGetHicVersion
105
nvmlSystemGetTopologyGpuSet
106
nvmlSystemGetDriverBranch
107
NVML_CUDA_DRIVER_VERSION_MAJOR
107
4.15. Unit Queries
107
nvmlUnitGetCount
108
nvmlUnitGetHandleByIndex
108
nvmlUnitGetUnitInfo
109
nvmlUnitGetLedState
109
nvmlUnitGetPsuInfo
110
nvmlUnitGetTemperature
111
nvmlUnitGetFanSpeedInfo
111
nvmlUnitGetDevices
112
4.16. Device Queries
113
nvmlTemperature_v1_t
113
CPU and Memory Affinity
113
nvmlDeviceGetCount_v2
113
nvmlDeviceGetAttributes_v2
114
nvmlDeviceGetHandleByIndex_v2
114
nvmlDeviceGetHandleBySerial
116
nvmlDeviceGetHandleByUUID
117
nvmlDeviceGetHandleByUUIDV
118
nvmlDeviceGetHandleByPciBusId_v2
118
nvmlDeviceGetName
119
nvmlDeviceGetBrand
120
nvmlDeviceGetIndex
121
nvmlDeviceGetSerial
122
nvmlDeviceGetModuleId
123
nvmlDeviceGetC2cModeInfoV
123
nvmlDeviceGetTopologyCommonAncestor
124
nvmlDeviceGetTopologyNearestGpus
124
nvmlDeviceGetP2PStatus
125
nvmlDeviceGetUUID
126
nvmlDeviceGetMinorNumber
127
nvmlDeviceGetBoardPartNumber
127
xiii
nvmlDeviceGetInforomVersion
128
nvmlDeviceGetInforomImageVersion
129
nvmlDeviceGetInforomConfigurationChecksum
130
nvmlDeviceValidateInforom
131
nvmlDeviceGetLastBBXFlushTime
131
nvmlDeviceGetDisplayMode
132
nvmlDeviceGetDisplayActive
133
nvmlDeviceGetPersistenceMode
133
nvmlDeviceGetPciInfoExt
134
nvmlDeviceGetPciInfo_v3
135
nvmlDeviceGetMaxPcieLinkGeneration
135
nvmlDeviceGetGpuMaxPcieLinkGeneration
136
nvmlDeviceGetMaxPcieLinkWidth
137
nvmlDeviceGetCurrPcieLinkGeneration
137
nvmlDeviceGetCurrPcieLinkWidth
138
nvmlDeviceGetPcieThroughput
139
nvmlDeviceGetPcieReplayCounter
139
nvmlDeviceGetClockInfo
140
nvmlDeviceGetMaxClockInfo
141
nvmlDeviceGetGpcClkVfOffset
141
nvmlDeviceGetApplicationsClock
142
nvmlDeviceGetDefaultApplicationsClock
143
nvmlDeviceGetClock
144
nvmlDeviceGetMaxCustomerBoostClock
144
nvmlDeviceGetSupportedMemoryClocks
145
nvmlDeviceGetSupportedGraphicsClocks
146
nvmlDeviceGetAutoBoostedClocksEnabled
147
nvmlDeviceGetFanSpeed
148
nvmlDeviceGetFanSpeed_v2
149
nvmlDeviceGetFanSpeedRPM
150
nvmlDeviceGetTargetFanSpeed
150
nvmlDeviceGetMinMaxFanSpeed
151
nvmlDeviceGetFanControlPolicy_v2
152
nvmlDeviceGetNumFans
152
nvmlDeviceGetTemperature
153
nvmlDeviceGetCoolerInfo
153
nvmlDeviceGetTemperatureV
154
nvmlDeviceGetTemperatureThreshold
155
nvmlDeviceGetMarginTemperature
156
nvmlDeviceGetThermalSettings
156
nvmlDeviceGetPerformanceState
157
nvmlDeviceGetCurrentClocksEventReasons
158
nvmlDeviceGetCurrentClocksThrottleReasons
158
xiv
nvmlDeviceGetSupportedClocksEventReasons
159
nvmlDeviceGetSupportedClocksThrottleReasons
160
nvmlDeviceGetPowerState
160
nvmlDeviceGetDynamicPstatesInfo
161
nvmlDeviceGetMemClkVfOffset
161
nvmlDeviceGetMinMaxClockOfPState
162
nvmlDeviceGetSupportedPerformanceStates
162
nvmlDeviceGetGpcClkMinMaxVfOffset
163
nvmlDeviceGetMemClkMinMaxVfOffset
164
nvmlDeviceGetClockOffsets
165
nvmlDeviceSetClockOffsets
165
nvmlDeviceGetPerformanceModes
166
nvmlDeviceGetCurrentClockFreqs
167
nvmlDeviceGetPowerManagementMode
169
nvmlDeviceGetPowerManagementLimit
170
nvmlDeviceGetPowerManagementLimitConstraints
170
nvmlDeviceGetPowerManagementDefaultLimit
171
nvmlDeviceGetPowerUsage
172
nvmlDeviceGetTotalEnergyConsumption
173
nvmlDeviceGetEnforcedPowerLimit
173
nvmlDeviceGetGpuOperationMode
174
nvmlDeviceGetMemoryInfo
175
nvmlDeviceGetMemoryInfo_v2
176
nvmlDeviceGetComputeMode
176
nvmlDeviceGetCudaComputeCapability
177
nvmlDeviceGetDramEncryptionMode
178
nvmlDeviceSetDramEncryptionMode
179
nvmlDeviceGetEccMode
180
nvmlDeviceGetDefaultEccMode
181
nvmlDeviceGetBoardId
181
nvmlDeviceGetMultiGpuBoard
182
nvmlDeviceGetTotalEccErrors
183
nvmlDeviceGetDetailedEccErrors
184
nvmlDeviceGetMemoryErrorCounter
185
nvmlDeviceGetUtilizationRates
186
nvmlDeviceGetEncoderUtilization
187
nvmlDeviceGetEncoderCapacity
188
nvmlDeviceGetEncoderStats
189
nvmlDeviceGetEncoderSessions
189
nvmlDeviceGetDecoderUtilization
190
nvmlDeviceGetJpgUtilization
191
nvmlDeviceGetOfaUtilization
192
nvmlDeviceGetFBCStats
193
xv
nvmlDeviceGetFBCSessions
193
nvmlDeviceGetDriverModel_v2
194
nvmlDeviceGetVbiosVersion
195
nvmlDeviceGetBridgeChipInfo
196
nvmlDeviceGetComputeRunningProcesses_v3
196
nvmlDeviceGetGraphicsRunningProcesses_v3
198
nvmlDeviceGetMPSComputeRunningProcesses_v3
199
nvmlDeviceGetRunningProcessDetailList
201
nvmlDeviceOnSameBoard
202
nvmlDeviceGetAPIRestriction
203
nvmlDeviceGetSamples
203
nvmlDeviceGetBAR1MemoryInfo
205
nvmlDeviceGetViolationStatus
206
nvmlDeviceGetIrqNum
207
nvmlDeviceGetNumGpuCores
207
nvmlDeviceGetPowerSource
208
nvmlDeviceGetMemoryBusWidth
208
nvmlDeviceGetPcieLinkMaxSpeed
209
nvmlDeviceGetPcieSpeed
209
nvmlDeviceGetAdaptiveClockInfoStatus
210
nvmlDeviceGetBusType
211
nvmlDeviceGetGpuFabricInfo
211
nvmlDeviceGetGpuFabricInfoV
212
nvmlSystemGetConfComputeCapabilities
212
nvmlSystemGetConfComputeState
213
nvmlDeviceGetConfComputeMemSizeInfo
213
nvmlSystemGetConfComputeGpusReadyState
214
nvmlDeviceGetConfComputeProtectedMemoryUsage
214
nvmlDeviceGetConfComputeGpuCertificate
215
nvmlDeviceGetConfComputeGpuAttestationReport
216
nvmlSystemGetConfComputeKeyRotationThresholdInfo
216
nvmlDeviceSetConfComputeUnprotectedMemSize
217
nvmlSystemSetConfComputeGpusReadyState
217
nvmlSystemSetConfComputeKeyRotationThresholdInfo
218
nvmlSystemGetConfComputeSettings
219
nvmlDeviceGetGspFirmwareVersion
219
nvmlDeviceGetGspFirmwareMode
220
nvmlDeviceGetSramEccErrorStatus
221
nvmlDeviceGetRetiredPages
221
nvmlDeviceGetRetiredPages_v2
222
nvmlDeviceGetRetiredPagesPendingStatus
223
nvmlDeviceGetRemappedRows
224
nvmlDeviceGetRowRemapperHistogram
225
xvi
nvmlDeviceGetArchitecture
226
nvmlDeviceGetClkMonStatus
226
nvmlDeviceGetProcessUtilization
227
nvmlDeviceGetProcessesUtilizationInfo
228
nvmlDeviceGetPlatformInfo
230
4.16.1. CPU and Memory Affinity
230
nvmlDeviceGetMemoryAffinity
231
nvmlDeviceGetCpuAffinityWithinScope
232
nvmlDeviceGetCpuAffinity
233
nvmlDeviceSetCpuAffinity
233
nvmlDeviceClearCpuAffinity
234
nvmlDeviceGetNumaNodeId
234
NVML_AFFINITY_SCOPE_NODE
235
NVML_AFFINITY_SCOPE_SOCKET
235
4.17. Unit Commands
235
nvmlUnitSetLedState
235
4.18. Device Commands
236
nvmlDeviceSetPersistenceMode
236
nvmlDeviceSetComputeMode
237
nvmlDeviceSetEccMode
238
nvmlDeviceClearEccErrorCounts
239
nvmlDeviceSetDriverModel
240
nvmlDeviceSetGpuLockedClocks
241
nvmlDeviceResetGpuLockedClocks
242
nvmlDeviceSetMemoryLockedClocks
243
nvmlDeviceResetMemoryLockedClocks
244
nvmlDeviceSetApplicationsClocks
245
nvmlDeviceResetApplicationsClocks
246
nvmlDeviceSetAutoBoostedClocksEnabled
247
nvmlDeviceSetDefaultAutoBoostedClocksEnabled
248
nvmlDeviceSetDefaultFanSpeed_v2
249
nvmlDeviceSetFanControlPolicy
249
nvmlDeviceSetTemperatureThreshold
250
nvmlDeviceSetPowerManagementLimit
250
nvmlDeviceSetGpuOperationMode
251
nvmlDeviceSetAPIRestriction
252
nvmlDeviceSetFanSpeed_v2
253
nvmlDeviceSetGpcClkVfOffset
254
nvmlDeviceSetMemClkVfOffset
254
4.19. NvLink Methods
255
nvmlDeviceGetNvLinkState
255
nvmlDeviceGetNvLinkVersion
256
nvmlDeviceGetNvLinkCapability
256
xvii
nvmlDeviceGetNvLinkRemotePciInfo_v2
257
nvmlDeviceGetNvLinkErrorCounter
258
nvmlDeviceResetNvLinkErrorCounters
259
nvmlDeviceSetNvLinkUtilizationControl
259
nvmlDeviceGetNvLinkUtilizationControl
260
nvmlDeviceGetNvLinkUtilizationCounter
261
nvmlDeviceFreezeNvLinkUtilizationCounter
262
nvmlDeviceResetNvLinkUtilizationCounter
263
nvmlDeviceGetNvLinkRemoteDeviceType
263
nvmlDeviceSetNvLinkDeviceLowPowerThreshold
264
nvmlSystemSetNvlinkBwMode
265
nvmlSystemGetNvlinkBwMode
265
nvmlDeviceGetNvlinkSupportedBwModes
266
nvmlDeviceGetNvlinkBwMode
266
nvmlDeviceSetNvlinkBwMode
267
4.20. Event Handling Methods
267
nvmlEventData_t
268
Event Types
268
nvmlEventSet_t
268
nvmlEventSetCreate
268
nvmlDeviceRegisterEvents
268
nvmlDeviceGetSupportedEventTypes
270
nvmlEventSetWait_v2
270
nvmlEventSetFree
271
nvmlSystemEventSetFree
272
nvmlSystemRegisterEvents
272
nvmlSystemEventSetWait
273
4.20.1. Event Types
274
nvmlEventTypeNone
274
nvmlEventTypeSingleBitEccError
274
nvmlEventTypeDoubleBitEccError
275
nvmlEventTypePState
275
nvmlEventTypeXidCriticalError
275
nvmlEventTypeClock
275
nvmlEventTypePowerSourceChange
275
nvmlEventMigConfigChange
275
nvmlEventTypeSingleBitEccErrorStorm
275
nvmlEventTypeDramRetirementEvent
275
nvmlEventTypeDramRetirementFailure
276
nvmlEventTypeNonFatalPoisonError
276
nvmlEventTypeFatalPoisonError
276
nvmlEventTypeGpuUnavailableError
276
nvmlEventTypeGpuRecoveryAction
276
xviii
nvmlEventTypeAll
276
4.21. Drain states
276
nvmlDeviceModifyDrainState
277
nvmlDeviceQueryDrainState
277
nvmlDeviceRemoveGpu_v2
278
nvmlDeviceDiscoverGpus
279
4.22. Field Value Queries
280
nvmlDeviceGetFieldValues
280
nvmlDeviceClearFieldValues
281
4.23. vGPU APIs
281
nvmlDeviceGetVirtualizationMode
281
nvmlDeviceGetHostVgpuMode
282
nvmlDeviceSetVirtualizationMode
283
nvmlDeviceGetVgpuHeterogeneousMode
283
nvmlDeviceSetVgpuHeterogeneousMode
284
nvmlVgpuInstanceGetPlacementId
285
nvmlDeviceGetVgpuTypeSupportedPlacements
286
nvmlDeviceGetVgpuTypeCreatablePlacements
287
nvmlVgpuTypeGetGspHeapSize
288
nvmlVgpuTypeGetFbReservation
289
nvmlVgpuInstanceGetRuntimeStateSize
289
nvmlDeviceSetVgpuCapabilities
290
nvmlDeviceGetGridLicensableFeatures_v4
291
4.24. vGPU Management
291
nvmlGetVgpuDriverCapabilities
291
nvmlDeviceGetVgpuCapabilities
292
nvmlDeviceGetSupportedVgpus
293
nvmlDeviceGetCreatableVgpus
294
nvmlVgpuTypeGetClass
295
nvmlVgpuTypeGetName
295
nvmlVgpuTypeGetGpuInstanceProfileId
296
nvmlVgpuTypeGetDeviceID
297
nvmlVgpuTypeGetFramebufferSize
297
nvmlVgpuTypeGetNumDisplayHeads
298
nvmlVgpuTypeGetResolution
298
nvmlVgpuTypeGetLicense
299
nvmlVgpuTypeGetFrameRateLimit
300
nvmlVgpuTypeGetMaxInstances
301
nvmlVgpuTypeGetMaxInstancesPerVm
301
nvmlVgpuTypeGetBAR1Info
302
nvmlDeviceGetActiveVgpus
303
nvmlVgpuInstanceGetVmID
304
nvmlVgpuInstanceGetUUID
305
xix
nvmlVgpuInstanceGetVmDriverVersion
305
nvmlVgpuInstanceGetFbUsage
306
nvmlVgpuInstanceGetLicenseStatus
307
nvmlVgpuInstanceGetType
308
nvmlVgpuInstanceGetFrameRateLimit
308
nvmlVgpuInstanceGetEccMode
309
nvmlVgpuInstanceGetEncoderCapacity
310
nvmlVgpuInstanceSetEncoderCapacity
310
nvmlVgpuInstanceGetEncoderStats
311
nvmlVgpuInstanceGetEncoderSessions
312
nvmlVgpuInstanceGetFBCStats
313
nvmlVgpuInstanceGetFBCSessions
313
nvmlVgpuInstanceGetGpuInstanceId
314
nvmlVgpuInstanceGetGpuPciId
315
nvmlVgpuTypeGetCapabilities
316
nvmlVgpuInstanceGetMdevUUID
316
nvmlGpuInstanceGetCreatableVgpus
317
nvmlVgpuTypeGetMaxInstancesPerGpuInstance
318
nvmlGpuInstanceGetActiveVgpus
319
nvmlGpuInstanceSetVgpuSchedulerState
320
nvmlGpuInstanceGetVgpuSchedulerState
321
nvmlGpuInstanceGetVgpuSchedulerLog
321
nvmlGpuInstanceGetVgpuTypeCreatablePlacements
322
nvmlGpuInstanceGetVgpuHeterogeneousMode
323
nvmlGpuInstanceSetVgpuHeterogeneousMode
324
4.25. vGPU Migration
325
nvmlVgpuVersion_t
325
nvmlVgpuMetadata_t
325
nvmlVgpuPgpuMetadata_t
325
nvmlVgpuPgpuCompatibility_t
325
nvmlVgpuVmCompatibility_t
325
nvmlVgpuPgpuCompatibilityLimitCode_t
326
nvmlVgpuInstanceGetMetadata
326
nvmlDeviceGetVgpuMetadata
327
nvmlGetVgpuCompatibility
328
nvmlDeviceGetPgpuMetadataString
329
nvmlDeviceGetVgpuSchedulerLog
330
nvmlDeviceGetVgpuSchedulerState
330
nvmlDeviceGetVgpuSchedulerCapabilities
331
nvmlDeviceSetVgpuSchedulerState
332
nvmlGetVgpuVersion
333
nvmlSetVgpuVersion
333
4.26. vGPU Utilization and Accounting
334
xx
nvmlDeviceGetVgpuUtilization
335
nvmlDeviceGetVgpuInstancesUtilizationInfo
336
nvmlDeviceGetVgpuProcessUtilization
338
nvmlDeviceGetVgpuProcessesUtilizationInfo
339
nvmlVgpuInstanceGetAccountingMode
341
nvmlVgpuInstanceGetAccountingPids
342
nvmlVgpuInstanceGetAccountingStats
343
nvmlVgpuInstanceClearAccountingPids
344
nvmlVgpuInstanceGetLicenseInfo_v2
345
4.27. Excluded GPU Queries
345
nvmlExcludedDeviceInfo_t
345
nvmlGetExcludedDeviceCount
345
nvmlGetExcludedDeviceInfoByIndex
346
4.28. Multi Instance GPU Management
346
nvmlGpuInstanceProfileInfo_t
347
nvmlGpuInstanceProfileInfo_v2_t
347
nvmlGpuInstanceProfileInfo_v3_t
347
nvmlComputeInstanceProfileInfo_t
347
nvmlComputeInstanceProfileInfo_v2_t
347
nvmlComputeInstanceProfileInfo_v3_t
347
nvmlDeviceSetMigMode
347
nvmlDeviceGetMigMode
348
nvmlDeviceGetGpuInstanceProfileInfo
349
nvmlDeviceGetGpuInstanceProfileInfoV
350
nvmlDeviceGetGpuInstancePossiblePlacements_v2
350
nvmlDeviceGetGpuInstanceRemainingCapacity
351
nvmlDeviceCreateGpuInstance
352
nvmlDeviceCreateGpuInstanceWithPlacement
353
nvmlGpuInstanceDestroy
354
nvmlDeviceGetGpuInstances
355
nvmlDeviceGetGpuInstanceById
356
nvmlGpuInstanceGetInfo
356
nvmlGpuInstanceGetComputeInstanceProfileInfo
357
nvmlGpuInstanceGetComputeInstanceProfileInfoV
358
nvmlGpuInstanceGetComputeInstanceRemainingCapacity
359
nvmlGpuInstanceGetComputeInstancePossiblePlacements
360
nvmlGpuInstanceCreateComputeInstance
361
nvmlGpuInstanceCreateComputeInstanceWithPlacement
361
nvmlComputeInstanceDestroy
363
nvmlGpuInstanceGetComputeInstances
363
nvmlGpuInstanceGetComputeInstanceById
364
nvmlComputeInstanceGetInfo_v2
365
nvmlDeviceIsMigDeviceHandle
365
xxi
nvmlDeviceGetGpuInstanceId
366
nvmlDeviceGetComputeInstanceId
367
nvmlDeviceGetMaxMigDeviceCount
367
nvmlDeviceGetMigDeviceHandleByIndex
368
nvmlDeviceGetDeviceHandleFromMigDeviceHandle
369
NVML_DEVICE_MIG_DISABLE
369
NVML_DEVICE_MIG_ENABLE
369
NVML_GPU_INSTANCE_PROFILE_1_SLICE
369
NVML_GPU_INSTANCE_PROFILE_CAPS_P2P
369
NVML_GPU_INTSTANCE_PROFILE_CAPS_P2P
370
NVML_COMPUTE_INSTANCE_PROFILE_CAPS_GFX
370
nvmlGpuInstanceProfileInfo_v2
370
nvmlGpuInstanceProfileInfo_v3
370
NVML_COMPUTE_INSTANCE_PROFILE_1_SLICE
370
NVML_COMPUTE_INSTANCE_ENGINE_PROFILE_SHARED
370
nvmlComputeInstanceProfileInfo_v2
370
nvmlComputeInstanceProfileInfo_v3
371
4.29. NVML GPM
371
GPM Enums
371
GPM Structs
371
GPM Functions
371
4.29.1. GPM Enums
371
nvmlGpmMetricId_t
371
4.29.2. GPM Structs
377
nvmlGpmMetric_t
377
nvmlGpmMetricsGet_t
377
nvmlGpmSupport_t
377
nvmlGpmSample_t
377
4.29.3. GPM Functions
377
nvmlGpmMetricsGet
378
nvmlGpmSampleFree
378
nvmlGpmSampleAlloc
379
nvmlGpmSampleGet
379
nvmlGpmMigSampleGet
380
nvmlGpmQueryDeviceSupport
380
nvmlGpmQueryIfStreamingEnabled
381
nvmlGpmSetStreamingEnabled
381
4.30. Power Profile Information
382
nvmlWorkloadPowerProfileInfo_v1_t
382
nvmlWorkloadPowerProfileProfilesInfo_v1_t
382
nvmlWorkloadPowerProfileCurrentProfiles_v1_t
382
nvmlWorkloadPowerProfileRequestedProfiles_v1_t
382
nvmlDeviceWorkloadPowerProfileGetProfilesInfo
382
xxii
nvmlDeviceWorkloadPowerProfileGetCurrentProfiles
383
nvmlDeviceWorkloadPowerProfileSetRequestedProfiles
384
nvmlDeviceWorkloadPowerProfileClearRequestedProfiles
385
4.31. Power Smoothing Information
386
nvmlPowerSmoothingProfile_v1_t
386
nvmlPowerSmoothingState_v1_t
386
nvmlDevicePowerSmoothingActivatePresetProfile
386
nvmlDevicePowerSmoothingUpdatePresetProfileParam
387
nvmlDevicePowerSmoothingSetState
388
4.32. vGPU Enums, Constants, Structs
388
vGPU Enums
388
vGPU Constants
388
vGPU Structs
388
4.32.1. vGPU Enums
388
nvmlGpuVirtualizationMode_t
389
nvmlHostVgpuMode_t
389
nvmlVgpuVmIdType_t
389
nvmlVgpuGuestInfoState_t
389
nvmlGridLicenseFeatureCode_t
390
nvmlVgpuCapability_t
390
nvmlVgpuDriverCapability_t
390
nvmlDeviceVgpuCapability_t
391
NVML_GRID_LICENSE_EXPIRY_NOT_AVAILABLE
392
NVML_GRID_LICENSE_EXPIRY_INVALID
392
NVML_GRID_LICENSE_EXPIRY_VALID
392
NVML_GRID_LICENSE_EXPIRY_NOT_APPLICABLE
392
NVML_GRID_LICENSE_EXPIRY_PERMANENT
392
4.32.2. vGPU Constants
392
NVML_GRID_LICENSE_BUFFER_SIZE
392
NVML_VGPU_VIRTUALIZATION_CAP_MIGRATION
392
NVML_VGPU_PGPU_VIRTUALIZATION_CAP_MIGRATION
392
NVML_VGPU_PGPU_HETEROGENEOUS_MODE
392
4.32.3. vGPU Structs
393
nvmlVgpuHeterogeneousMode_v1_t
394
nvmlVgpuPlacementId_v1_t
394
nvmlVgpuPlacementList_v1_t
394
nvmlVgpuPlacementList_v2_t
394
nvmlVgpuTypeBar1Info_v1_t
394
nvmlVgpuInstanceUtilizationSample_t
394
nvmlVgpuInstanceUtilizationInfo_v1_t
394
nvmlVgpuInstancesUtilizationInfo_v1_t
394
nvmlVgpuProcessUtilizationSample_t
394
nvmlVgpuProcessUtilizationInfo_v1_t
394
xxiii
nvmlVgpuProcessesUtilizationInfo_v1_t
394
nvmlVgpuRuntimeState_v1_t
394
nvmlVgpuSchedulerParams_t
394
nvmlVgpuSchedulerLogEntry_t
394
nvmlVgpuSchedulerLog_t
394
nvmlVgpuSchedulerGetState_t
394
nvmlVgpuSchedulerSetParams_t
394
nvmlVgpuSchedulerSetState_t
394
nvmlVgpuSchedulerCapabilities_t
394
nvmlVgpuLicenseExpiry_t
394
nvmlGridLicenseExpiry_t
394
nvmlGridLicensableFeature_t
395
nvmlGridLicensableFeatures_t
395
nvmlVgpuTypeIdInfo_v1_t
395
nvmlVgpuTypeMaxInstance_v1_t
395
nvmlActiveVgpuInstanceInfo_v1_t
395
nvmlVgpuSchedulerState_v1_t
395
nvmlVgpuSchedulerStateInfo_v1_t
395
nvmlVgpuSchedulerLogInfo_v1_t
395
nvmlVgpuCreatablePlacementInfo_v1_t
395
nvmlDeviceGpuRecoveryAction_t
395
NVML_VGPU_SCHEDULER_POLICY_UNKNOWN
395
NVML_VGPU_SCHEDULER_ENGINE_TYPE_GRAPHICS
395
NVML_GRID_LICENSE_STATE_UNKNOWN
395
NVML_GRID_LICENSE_STATE_UNINITIALIZED
396
NVML_GRID_LICENSE_STATE_UNLICENSED_UNRESTRICTED
396
NVML_GRID_LICENSE_STATE_UNLICENSED_RESTRICTED
396
NVML_GRID_LICENSE_STATE_UNLICENSED
396
NVML_GRID_LICENSE_STATE_LICENSED
396
4.33. NvmlClocksEventReasons
396
nvmlClocksEventReasonGpuIdle
396
nvmlClocksEventReasonApplicationsClocksSetting
396
nvmlClocksThrottleReasonUserDefinedClocks
397
nvmlClocksEventReasonSwPowerCap
397
nvmlClocksThrottleReasonHwSlowdown
397
nvmlClocksEventReasonSyncBoost
397
nvmlClocksEventReasonSwThermalSlowdown
398
nvmlClocksThrottleReasonHwThermalSlowdown
398
nvmlClocksThrottleReasonHwPowerBrakeSlowdown
398
nvmlClocksEventReasonDisplayClockSetting
399
nvmlClocksEventReasonNone
399
nvmlClocksEventReasonAll
399
nvmlClocksThrottleReasonGpuIdle
399
xxiv
nvmlClocksThrottleReasonApplicationsClocksSetting
400
nvmlClocksThrottleReasonSyncBoost
400
nvmlClocksThrottleReasonSwPowerCap
400
nvmlClocksThrottleReasonSwThermalSlowdown
400
nvmlClocksThrottleReasonDisplayClockSetting
400
nvmlClocksThrottleReasonNone
400
nvmlClocksThrottleReasonAll
400
Chapter 5. Data Structures
401
nvmlAccountingStats_t
404
gpuUtilization
404
memoryUtilization
404
maxMemoryUsage
404
time
404
startTime
405
isRunning
405
reserved
405
nvmlActiveVgpuInstanceInfo_v1_t
405
version
405
vgpuCount
405
vgpuInstances
405
nvmlBAR1Memory_t
405
bar1Total
406
bar1Free
406
bar1Used
406
nvmlBridgeChipHierarchy_t
406
bridgeCount
406
bridgeChipInfo
406
nvmlBridgeChipInfo_t
406
type
406
fwVersion
406
nvmlC2cModeInfo_v1_t
406
nvmlClkMonFaultInfo_t
407
clkApiDomain
407
clkDomainFaultMask
407
nvmlClkMonStatus_t
407
bGlobalStatus
407
clkMonListSize
407
clkMonList
407
nvmlClockOffset_v1_t
408
version
408
nvmlComputeInstanceProfileInfo_t
408
id
409
sliceCount
409
xxv
instanceCount
409
multiprocessorCount
409
sharedCopyEngineCount
409
sharedDecoderCount
409
sharedEncoderCount
409
sharedJpegCount
409
sharedOfaCount
409
nvmlComputeInstanceProfileInfo_v2_t
410
version
411
id
411
sliceCount
411
instanceCount
411
multiprocessorCount
411
sharedCopyEngineCount
411
sharedDecoderCount
411
sharedEncoderCount
411
sharedJpegCount
411
sharedOfaCount
412
name
412
nvmlComputeInstanceProfileInfo_v3_t
412
version
413
id
413
sliceCount
413
instanceCount
413
multiprocessorCount
413
sharedCopyEngineCount
413
sharedDecoderCount
413
sharedEncoderCount
413
sharedJpegCount
413
sharedOfaCount
414
name
414
capabilities
414
nvmlConfComputeMemSizeInfo_t
414
nvmlDeviceCapabilities_v1_t
414
version
414
capMask
414
nvmlDeviceCurrentClockFreqs_v1_t
414
version
415
str
415
nvmlDevicePerfModes_v1_t
415
version
415
str
415
nvmlDramEncryptionInfo_v1_t
415
xxvi
version
415
encryptionState
415
nvmlEccErrorCounts_t
415
l1Cache
416
l2Cache
416
deviceMemory
416
registerFile
416
nvmlEccSramErrorStatus_v1_t
416
version
417
aggregateUncParity
417
aggregateUncSecDed
417
aggregateCor
417
volatileUncParity
417
volatileUncSecDed
417
volatileCor
417
aggregateUncBucketL2
417
aggregateUncBucketSm
417
aggregateUncBucketPcie
418
aggregateUncBucketMcu
418
aggregateUncBucketOther
418
bThresholdExceeded
418
nvmlEncoderSessionInfo_t
418
sessionId
419
pid
419
vgpuInstance
419
codecType
419
hResolution
419
vResolution
419
averageFps
419
averageLatency
419
nvmlEventData_t
419
device
420
eventType
420
eventData
420
gpuInstanceId
420
computeInstanceId
420
nvmlExcludedDeviceInfo_t
420
pciInfo
420
uuid
420
nvmlFanSpeedInfo_v1_t
420
version
421
fan
421
speed
421
xxvii
nvmlFBCSessionInfo_t
421
sessionId
422
pid
422
vgpuInstance
422
displayOrdinal
422
sessionType
422
sessionFlags
422
hMaxResolution
422
vMaxResolution
422
hResolution
422
vResolution
422
averageFPS
422
averageLatency
422
nvmlFBCStats_t
423
sessionsCount
423
averageFPS
423
averageLatency
423
nvmlFieldValue_t
423
fieldId
424
scopeId
424
timestamp
424
latencyUsec
424
valueType
424
nvmlReturn
424
value
424
nvmlGpmMetric_t
424
metricId
425
nvmlReturn
425
value
425
metricInfo
425
nvmlGpmMetricsGet_t
425
version
425
numMetrics
425
sample1
425
sample2
425
metrics
425
nvmlGpmSupport_t
425
version
426
isSupportedDevice
426
nvmlGpuFabricInfo_t
426
clusterUuid
426
status
426
cliqueId
426
xxviii
state
426
nvmlGpuFabricInfo_v2_t
426
version
427
clusterUuid
427
status
427
cliqueId
427
state
427
healthMask
427
nvmlGpuInstanceProfileInfo_t
427
id
428
isP2pSupported
428
sliceCount
428
instanceCount
428
multiprocessorCount
428
copyEngineCount
428
decoderCount
428
encoderCount
428
jpegCount
428
ofaCount
428
memorySizeMB
429
nvmlGpuInstanceProfileInfo_v2_t
429
version
430
id
430
isP2pSupported
430
sliceCount
430
instanceCount
430
multiprocessorCount
430
copyEngineCount
430
decoderCount
430
encoderCount
430
jpegCount
430
ofaCount
431
memorySizeMB
431
name
431
nvmlGpuInstanceProfileInfo_v3_t
431
version
432
id
432
sliceCount
432
instanceCount
432
multiprocessorCount
432
copyEngineCount
432
decoderCount
432
encoderCount
432
xxix
jpegCount
432
ofaCount
432
memorySizeMB
433
name
433
capabilities
433
nvmlGpuThermalSettings_t
433
nvmlGridLicensableFeature_t
433
featureCode
434
featureState
434
licenseInfo
434
productName
434
featureEnabled
434
licenseExpiry
434
nvmlGridLicensableFeatures_t
434
isGridLicenseSupported
435
licensableFeaturesCount
435
gridLicensableFeatures
435
nvmlGridLicenseExpiry_t
435
year
436
month
436
day
436
hour
436
min
436
sec
436
status
436
nvmlHwbcEntry_t
436
nvmlLedState_t
436
cause
437
color
437
nvmlMarginTemperature_v1_t
437
version
437
marginTemperature
437
nvmlMemory_t
437
total
437
free
437
used
437
nvmlMemory_v2_t
437
version
438
total
438
reserved
438
free
438
used
438
nvmlNvLinkUtilizationControl_t
438
xxx
nvmlPciInfo_t
438
busIdLegacy
439
domain
439
bus
439
device
439
pciDeviceId
439
pciSubSystemId
439
busId
439
nvmlPciInfoExt_v1_t
439
version
440
domain
440
bus
440
device
440
pciDeviceId
440
pciSubSystemId
440
baseClass
440
subClass
440
busId
440
nvmlPlatformInfo_v1_t
440
version
441
ibGuid
441
rackGuid
441
chassisPhysicalSlotNumber
441
computeSlotIndex
441
nodeIndex
441
peerType
441
moduleId
441
nvmlPlatformInfo_v2_t
441
version
442
ibGuid
442
chassisSerialNumber
442
slotNumber
442
trayIndex
442
hostId
442
peerType
442
moduleId
442
nvmlPowerSmoothingProfile_v1_t
442
version
443
profileId
443
paramId
443
value
443
nvmlPowerSmoothingState_v1_t
443
version
443
xxxi
state
443
nvmlPowerValue_v2_t
443
version
444
powerScope
444
powerValueMw
444
nvmlProcessDetail_v1_t
444
pid
444
usedGpuMemory
444
gpuInstanceId
445
computeInstanceId
445
usedGpuCcProtectedMemory
445
nvmlProcessDetailList_v1_t
445
version
445
mode
445
numProcArrayEntries
445
procArray
445
nvmlProcessesUtilizationInfo_v1_t
445
version
446
processSamplesCount
446
lastSeenTimeStamp
446
procUtilArray
446
nvmlProcessInfo_t
446
pid
446
usedGpuMemory
446
gpuInstanceId
447
computeInstanceId
447
nvmlProcessInfo_v1_t
447
pid
447
usedGpuMemory
447
nvmlProcessUtilizationInfo_v1_t
447
timeStamp
448
pid
448
smUtil
448
memUtil
448
encUtil
448
decUtil
448
jpgUtil
448
ofaUtil
448
nvmlProcessUtilizationSample_t
448
pid
449
timeStamp
449
smUtil
449
memUtil
449
xxxii
encUtil
449
decUtil
449
nvmlPSUInfo_t
449
state
450
current
450
voltage
450
power
450
nvmlRowRemapperHistogramValues_t
450
nvmlSample_t
450
timeStamp
450
sampleValue
450
nvmlSystemConfComputeSettings_v1_t
450
nvmlSystemDriverBranchInfo_v1_t
451
version
451
branch
451
nvmlSystemEventData_v1_t
451
eventType
451
gpuId
451
nvmlSystemEventSetCreateRequest_v1_t
451
version
452
set
452
nvmlSystemEventSetFreeRequest_v1_t
452
version
452
set
452
nvmlSystemEventSetWaitRequest_v1_t
452
version
452
timeoutms
452
set
453
data
453
dataSize
453
numEvent
453
nvmlSystemRegisterEventRequest_v1_t
453
version
453
eventTypes
453
set
454
nvmlTemperature_v1_t
454
nvmlUnitFanInfo_t
454
speed
454
state
454
nvmlUnitFanSpeeds_t
454
fans
454
count
454
nvmlUnitInfo_t
454
xxxiii
name
455
id
455
serial
455
firmwareVersion
455
nvmlUtilization_t
455
gpu
455
memory
455
nvmlUUID_v1_t
455
version
456
type
456
value
456
nvmlUUIDValue_t
456
str
456
bytes
456
nvmlValue_t
456
dVal
457
siVal
457
uiVal
457
ulVal
457
ullVal
457
sllVal
457
usVal
457
nvmlVgpuCreatablePlacementInfo_v1_t
457
version
458
vgpuTypeId
458
count
458
placementIds
458
placementSize
458
nvmlVgpuHeterogeneousMode_v1_t
458
version
458
mode
458
nvmlVgpuInstancesUtilizationInfo_v1_t
458
version
459
sampleValType
459
vgpuInstanceCount
459
lastSeenTimeStamp
459
vgpuUtilArray
459
nvmlVgpuInstanceUtilizationInfo_v1_t
459
timeStamp
460
vgpuInstance
460
smUtil
460
memUtil
460
encUtil
460
xxxiv
decUtil
460
jpgUtil
460
ofaUtil
460
nvmlVgpuInstanceUtilizationSample_t
460
vgpuInstance
461
timeStamp
461
smUtil
461
memUtil
461
encUtil
461
decUtil
461
nvmlVgpuLicenseExpiry_t
461
year
462
month
462
day
462
hour
462
min
462
sec
462
status
462
nvmlVgpuMetadata_t
462
version
463
revision
463
guestInfoState
463
guestDriverVersion
463
hostDriverVersion
463
reserved
463
vgpuVirtualizationCaps
463
guestVgpuVersion
463
opaqueDataSize
463
opaqueData
463
nvmlVgpuPgpuCompatibility_t
463
vgpuVmCompatibility
464
compatibilityLimitCode
464
nvmlVgpuPgpuMetadata_t
464
version
465
revision
465
hostDriverVersion
465
pgpuVirtualizationCaps
465
reserved
465
hostSupportedVgpuRange
465
opaqueDataSize
465
opaqueData
465
nvmlVgpuPlacementId_v1_t
465
version
466
xxxv
placementId
466
nvmlVgpuPlacementList_v1_t
466
version
466
placementSize
466
count
466
placementIds
466
nvmlVgpuPlacementList_v2_t
466
version
467
placementSize
467
count
467
placementIds
467
mode
467
nvmlVgpuProcessesUtilizationInfo_v1_t
467
version
468
vgpuProcessCount
468
lastSeenTimeStamp
468
vgpuProcUtilArray
468
nvmlVgpuProcessUtilizationInfo_v1_t
468
processName
469
timeStamp
469
vgpuInstance
469
pid
469
smUtil
469
memUtil
469
encUtil
469
decUtil
469
jpgUtil
469
ofaUtil
469
nvmlVgpuProcessUtilizationSample_t
470
vgpuInstance
471
pid
471
processName
471
timeStamp
471
smUtil
471
memUtil
471
encUtil
471
decUtil
471
nvmlVgpuRuntimeState_v1_t
471
version
472
size
472
nvmlVgpuSchedulerCapabilities_t
472
supportedSchedulers
473
maxTimeslice
473
xxxvi
minTimeslice
473
isArrModeSupported
473
maxFrequencyForARR
473
minFrequencyForARR
473
maxAvgFactorForARR
473
minAvgFactorForARR
473
nvmlVgpuSchedulerGetState_t
473
schedulerPolicy
474
arrMode
474
nvmlVgpuSchedulerLog_t
474
engineId
474
schedulerPolicy
474
arrMode
474
entriesCount
474
nvmlVgpuSchedulerLogEntry_t
474
timestamp
475
timeRunTotal
475
timeRun
475
swRunlistId
475
targetTimeSlice
475
cumulativePreemptionTime
475
nvmlVgpuSchedulerLogInfo_v1_t
475
version
476
engineId
476
schedulerPolicy
476
arrMode
476
schedulerParams
476
entriesCount
476
logEntries
476
nvmlVgpuSchedulerParams_t
476
avgFactor
477
timeslice
477
nvmlVgpuSchedulerSetParams_t
477
avgFactor
477
frequency
477
timeslice
477
nvmlVgpuSchedulerSetState_t
477
schedulerPolicy
478
enableARRMode
478
nvmlVgpuSchedulerState_v1_t
478
version
478
engineId
478
schedulerPolicy
478
xxxvii
enableARRMode
478
schedulerParams
478
nvmlVgpuSchedulerStateInfo_v1_t
478
version
479
engineId
479
schedulerPolicy
479
arrMode
479
schedulerParams
479
nvmlVgpuTypeBar1Info_v1_t
479
version
479
bar1Size
479
nvmlVgpuTypeIdInfo_v1_t
479
version
480
vgpuCount
480
vgpuTypeIds
480
nvmlVgpuTypeMaxInstance_v1_t
480
version
480
vgpuTypeId
480
maxInstancePerGI
480
nvmlVgpuVersion_t
480
minVersion
481
maxVersion
481
nvmlViolationTime_t
481
referenceTime
481
violationTime
481
nvmlWorkloadPowerProfileCurrentProfiles_v1_t
481
perfProfilesMask
482
requestedProfilesMask
482
enforcedProfilesMask
482
nvmlWorkloadPowerProfileInfo_v1_t
482
version
483
profileId
483
priority
483
conflictingMask
483
nvmlWorkloadPowerProfileProfilesInfo_v1_t
483
version
484
perfProfilesMask
484
perfProfile
484
nvmlWorkloadPowerProfileRequestedProfiles_v1_t
484
version
484
requestedProfilesMask
484
Chapter 6. Data Fields
485
Chapter 7. Deprecated List
504
xxxviii
Chapter 1.
NVML API REFERENCE
The NVIDIA Management Library (NVML) is a C-based programmatic interface for
monitoring and managing various states within NVIDIA Tesla™ GPUs. It is intended
to be a platform for building 3rd party applications, and is also the underlying library
for the NVIDIA-supported nvidia-smi tool. NVML is thread-safe so it is safe to make
simultaneous NVML calls from multiple threads.
API Documentation
Supported OS platforms:
‣ Windows 64-bit: Windows Server 2019, Windows Server 2016, Windows Server 2012
R2, Windows 10
‣ Linux: 64-bit
Supported products:
‣ Full Support
‣ NVIDIA Tesla Line:
‣ A100, A40, A30, A16, A10
‣ H100
‣ T4
‣ V100
‣ P100, P40, P4, P6
‣ M60, M40, M6, M4
‣ K80, K520
‣ NVIDIA Quadro Line:
‣ RTX 8000, RTX 6000, RTX 5000, RTX 4000, RTX 3000
‣ GV100, GP100, P6000, P5200, P5000, P4000, P2200, P2000, P1000, P620, P600,
P400
‣ M6000 24GB, M6000, M5000, M4000, M2000
1
NVML API Reference
‣ K6000, K5200, K5000, K4000, K4200, K2200, K2000, K2000D, K1200, K620,
K600, K420, 410
‣ NVIDIA GeForce Line:
‣ none
‣ Limited Support
‣ NVIDIA Tesla Line: All other current and previous generation Tesla-branded
parts
‣ NVIDIA Quadro Line: All other current and previous generation Quadro-
branded parts
‣ NVIDIA GeForce Line: All current and previous generation GeForce-branded
parts
The NVML library can be found at the following locations on Windows
‣ Standard driver install: %ProgramW6432%\"NVIDIA Corporation"\NVSMI\
‣ DCH driver install: \Windows\System32
Note that these libraries will not be added to the path on Windows. To dynamically
link to NVML, add this path to the PATH environmental variable. To dynamically load
NVML, call LoadLibrary with this path.
On Linux the NVML library is named "libnvidia-ml.so" and can be found on the
standard library path. To link against the NVML library add the -lnvidia-ml flag to
your linker command.
The NVML API is divided into five categories:
‣ Support Methods:
‣ Initialization and Cleanup
‣ Query Methods:
‣ System Queries
‣ Device Queries
‣ Unit Queries
‣ Control Methods:
‣ Unit Commands
‣ Device Commands
‣ Event Handling Methods:
‣ Event Handling Methods
‣ Error reporting Methods
‣ Error Reporting
2
Chapter 2.
KNOWN ISSUES
This is a list of known NVML issues in the current driver:
‣ On systems where GPUs are NUMA nodes, the accuracy of FB memory utilization
provided by NVML depends on the memory accounting of the operating system.
This is because FB memory is managed by the operating system instead of the
NVIDIA GPU driver. Typically, pages allocated from FB memory are not released
even after the process terminates to enhance performance. In scenarios where the
operating system is under memory pressure, it may resort to utilizing FB memory.
Such actions can result in discrepancies in the accuracy of memory reporting.
‣ On Linux, GPU Reset can't be triggered when there is a pending GPU Operation
Mode (GOM) change.
‣ On Linux, GPU Reset may not successfully change a pending ECC mode. A full
reboot may be required to enable the mode change.
‣ nvmlAccountingStats supports only one process per GPU at a time (CUDA proxy
server counts as one process).
‣ nvmlAccountingStats_t.time reports time and utilization values starting from
cuInit until process termination. Future driver versions might change this behavior
slightly and account for the process only from cuCtxCreate until cuCtxDestroy.
‣ On GPUs from the Fermi family, current P0 clocks (reported by
nvmlDeviceGetClockInfo) can differ from max clocks by a few MHz.
3
Chapter 3.
CHANGE LOG
This chapter list changes in API and bug fixes that were introduced to the library.
Changes between v570 Update and v575
The following new functionality is exposed on NVIDIA display drivers version 575
Production or later.
‣ Added nvmlSystemEventSetCreate to create a system event set.
‣ Added nvmlSystemEventSetFree to release a system event set.
‣ Added nvmlSystemRegisterEvents to register system events on a system event set.
‣ Added nvmlSystemEventSetWait to wait for system event notification and obtain
system event data.
‣ Added nvmlGpuInstanceGetCreatableVgpus to query the currently creatable vGPU
types on the user-provided GPU Instance.
‣ Added nvmlVgpuTypeGetMaxInstancesPerGpuInstance to query the maximum
number of vGPU instances per GPU Instance for the given vGPU type.
‣ Added nvmlGpuInstanceSetVgpuSchedulerState to set the vGPU scheduler state for
the given GPU Instance.
‣ Added nvmlGpuInstanceGetActiveVgpus to query the currently active vGPU
instances on the user-provided GPU Instance.
‣ Added nvmlGpuInstanceGetVgpuSchedulerState to query the vGPU software
scheduler state for the given GPU Instance.
‣ Added nvmlGpuInstanceGetVgpuSchedulerLog to query the vGPU software
scheduler logs for the given GPU Instance.
‣ Added nvmlGpuInstanceGetVgpuTypeCreatablePlacements to query the creatable
vGPU placement IDs of the vGPU type within a GPU Instance.
‣ Added nvmlGpuInstanceSetVgpuHeterogeneousMode to enable or disable vGPU
heterogeneous mode for the GPU Instance.
‣ Added nvmlGpuInstanceGetVgpuHeterogeneousMode to query the vGPU
heterogeneous mode for the GPU Instance.
4
Change Log
‣
Updated nvmlDeviceGetVgpuCapabilities to report whether GPU supports
timesliced vGPU on MIG and whether MIG timesliced mode is enabled or not.
‣
Updated nvmlDeviceSetVgpuCapabilities to set the MIG timesliced mode vGPU
capability of a device.
‣
Updated nvmlDeviceSetVgpuHeterogeneousMode to return
NVML_ERROR_NOT_SUPPORTED when in MIG mode.
‣
Updated nvmlDeviceGetVgpuHeterogeneousMode to return
NVML_ERROR_NOT_SUPPORTED when in MIG mode.
‣
Updated nvmlDeviceGetVgpuTypeCreatablePlacements to return
NVML_ERROR_NOT_SUPPORTED when in MIG mode.
‣
Updated nvmlDeviceGetVgpuSchedulerLog to return
NVML_ERROR_NOT_SUPPORTED when in MIG mode.
‣
Updated nvmlDeviceSetVgpuSchedulerState to return
NVML_ERROR_NOT_SUPPORTED when in MIG mode.
‣
Updated nvmlDeviceGetVgpuSchedulerState to return
NVML_ERROR_NOT_SUPPORTED when in MIG mode.
‣
Added 3 new NVML_FI_DEV_C2C_LINK_ERROR field IDs:
‣ NVML_FI_DEV_C2C_LINK_ERROR_INTR
‣ NVML_FI_DEV_C2C_LINK_ERROR_REPLAY
‣ NVML_FI_DEV_C2C_LINK_ERROR_REPLAY_B2B
‣
Added NVML_FI_DEV_C2C_LINK_POWER_STATE field ID.
‣
Added new CTXSW GPM Metrics.
‣
Added nvmlDeviceGetHandleByUUIDV that supports both ASCII and binary
format UUID to retrieve the device handle.
‣
Added 2 new NVML_FI_DEV_POWER_SYNC_BALANCING field IDs:
‣ NVML_FI_DEV_POWER_SYNC_BALANCING_FREQ
‣ NVML_FI_DEV_POWER_SYNC_BALANCING_AF
‣
Added 5 new Clock Event Reason Counters field IDs:
‣ NVML_FI_DEV_CLOCKS_EVENT_REASON_SW_POWER_CAP
‣ NVML_FI_DEV_CLOCKS_EVENT_REASON_SYNC_BOOST
‣ NVML_FI_DEV_CLOCKS_EVENT_REASON_SW_THERM_SLOWDOWN
‣ NVML_FI_DEV_CLOCKS_EVENT_REASON_HW_THERM_SLOWDOWN
‣ NVML_FI_DEV_CLOCKS_EVENT_REASON_HW_POWER_BRAKE_SLOWDOWN
‣
Updated nvmlDeviceGetMemoryErrorCounter to better account for transient vs.
permanent errors.
‣
Added MIG profiles that can allocate all or none of Decoder, Encoder, JPEG, and
OFA engines.
5
Change Log
Changes between v565 and v570
The following new functionality is exposed on NVIDIA display drivers version 570
Production or later.
‣
Added field values for data related to Power Smoothing
‣
Added nvmlDevicePowerSmoothingActivatePresetProfile to activate a specific
Preset Profile for Power Smoothing
‣
Added nvmlDevicePowerSmoothingSetState to enable/disable the Power Smoothing
feature
‣
* Added nvmlDevicePowerSmoothingUpdatePresetProfileParam to update
parameters to preset profiles for Power Smoothing
‣
Added new enums for fieldId NVML_FI_DEV_NVLINK_GET_STATE to expose
INACTIVE, ACTIVE, and SLEEP state for a link
‣
Added nvmlDeviceGetMarginTemperature to retrieve the thermal margin
temperature (distance to nearest slowdown threshold).
‣
Added nvmlDeviceGetNvlinkSupportedBwModes to get all supported Nvlink
Bandwidth modes
‣
Added nvmlDeviceGetNvlinkBwMode to get the current Nvlink Bandwidth mode
‣
Added nvmlDeviceSetNvlinkBwMode to set the Nvlink Bandwidth mode
‣
Added MIG profiles with support for graphics.
‣
Added support for new recovery action -
NVML_GPU_RECOVERY_ACTION_DRAIN_AND_RESET
‣
Deprecated nvml fieldIds NVML_FI_DEV_RESET_STATUS
and NVML_FI_DEV_DRAIN_AND_RESET_STATUS. Usee
NVML_FI_DEV_GET_GPU_RECOVERY_ACTION instead
‣
Added nvmlDeviceGetDramEncryptionMode and
nvmlDeviceSetDramEncryptionMode to query and configure DRAM Encryption
Mode
‣
Added 3 new flags to GPU Fabric Health Mask:
‣ NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ROUTE_RECOVERY
‣ NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ROUTE_UNHEALTHY
‣ NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ACCESS_TIMEOUT_RECOVERY
‣
Added new counters for Nvlink5
‣
NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_ERRORS to get sum of the
number of errors in each Nvlink packet
‣
NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_BER to get Effective BER for
effective errors
‣
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_0 to 15 to get count of symbol
errors that are corrected
‣
Swapped the values of field IDs
NVML_FI_DEV_IS_MIG_MODE_INDEPENDENT_MIG_QUERY_CAPABLE and
6
Change Log
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MAX to fix backwards
compatibility with v550.
‣ New revision of nvmlPlatformInfo_t -- nvmlPlatformInfo_v2 has been
added. In this version the following fields from v1 have been renamed
‣ rackGuid to chassisSerialNumber
‣ chassisPhysicalSlotNumber to slotNumber
‣ computeSlotIndex to trayIndex
‣ nodeIndex to hostId
‣ nvmlPlatformInfo_v1 is deprecated and will be removed in subsequent releases
‣ Revert the fix for the issue where PCIe throughput (reported via
nvmlDeviceGetPcieThroughput and nvidia-smi -q) is 1000 times bigger than its
actual value
Changes between v560 and v565
The following new functionality is exposed on NVIDIA display drivers version 565
Production or later.
‣ Fixed the ECC error count mismatch between nvidia-smi query output and NVML
APIs, nvmlDeviceGetMemoryErrorCounter and nvmlDeviceGetFieldValues.
‣ Added new value NVML_CC_SYSTEM_CPU_CAPS_AMD_SNP_VTOM for CC
CPU capability reporting.
‣ Added nvmlDeviceGetCoolerInfo to retrieve a cooler's control signal characteristics
and target that cooler cools.
‣ Added new value NVML_CC_SYSTEM_CPU_CAPS_AMD_SEV_SNP for CC CPU
capability reporting.
‣ Added nvmlDeviceGetFanSpeedRPM to report the intended operating speed in
rotations per minute (RPM) of the device's specified fan.
‣ Added nvmlDeviceGetPerformanceModes to retrieve a performance modes string
with all the performance modes defined for this device along with their associated
GPU Clock and Memory Clock values.
‣ Added nvmlDeviceGetCurrentClockFreqs to retrieve a string with the associated
GPU Clock and Memory Clock values for the current pstate.
‣ Added nvmlNvlinkVersion_t enum to define NvLink Version.
‣ Added nvmlDeviceGetPlatformInfo to retrieve the platform information of a device.
‣ Added new event type nvmlEventTypeGpuUnavailableError.
‣ Removed support for nvmlDeviceGetNvLinkCrcLaneErrorCounter,
nvmlDeviceGetNvLinkEccLaneErrorCounter, and
nvmlDeviceGetNvLinkErrorCounter on Blackwell.
‣ Removed support for fieldIds NVML_FI_DEV_NVLINK_ERROR_DL_REPLAY,
NVML_FI_DEV_NVLINK_ERROR_DL_RECOVERY, and
NVML_FI_DEV_NVLINK_ERROR_DL_CRC on Blackwell.
7
Change Log
‣ Added nvmlVgpuInstanceGetRuntimeStateSize to get the vGPU runtime state size.
‣ Updated nvmlDeviceGetVgpuTypeSupportedPlacements function to report both
Heterogeneous and Homogeneous vGPU placements.
‣ Updated nvmlDeviceGetVgpuCapabilities to report the Homogeneous vGPU
capability.
‣ Added new event type nvmlEventTypeGpuRecoveryAction.
‣ Added new fieldId to query GPU recovery action
NVML_FI_DEV_GET_GPU_RECOVERY_ACTION.
‣ Deprecated fieldIds:
‣ NVML_FI_DEV_NVLINK_COUNT_VL15_DROPPED to get Number of VL15
MADs dropped on a link in NVLink5
‣ NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE0 to get BER per lane for
lane 0
‣ NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE1 to get BER per lane for
lane 1
‣ NVML_FI_DEV_NVLINK_COUNT_RAW_BER to get BER per link. Sum of all
the raw errors per lane/Bits received per link
‣ NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_ERRORS to get Sum of the
number of errors in each Nvlink packet
‣ NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_BER to get Effective BER for
effective errors
Changes between v555 and v560
The following new functionality is exposed on NVIDIA display drivers version 560
Production or later.
‣ Added field values NVML_FI_DEV_PCIE_OUTBOUND_ATOMICS_MASK and
NVML_FI_DEV_PCIE_INBOUND_ATOMICS_MASK for nvmlDeviceGetFieldValues.
‣ Added field IDs NVML_FI_DEV_RESET_STATUS and
NVML_FI_DEV_DRAIN_AND_RESET_STATUS which correspond to the nvidia-smi
output.
‣ Added NVML_DEVICE_ARCH_T23X architecture type.
‣ Added nvmlVgpuTypeGetBAR1Info to query the BAR1 information of a vGPU
type.
‣ Added new event types, nvmlEventTypeSingleBitEccErrorStorm,
nvmlEventTypeDramRetirementEvent,
nvmlEventTypeDramRetirementFailure,
nvmlEventTypeNonFatalPoisonError and nvmlEventTypeFatalPoisonError.
‣ Added nvmlSystemGetDriverBranch to query the driver branch information.
8
Change Log
Changes between v550 and v555
The following new functionality is exposed on NVIDIA display drivers version 555
Production or later.
‣ Added nvmlDeviceGetClockOffsets to query min, max and
current clock offset value on a Maxwell and later GPU for
a specified clock. Note: nvmlDeviceGetGpcClkVfOffset,
nvmlDeviceGetMemClkVfOffset, nvmlDeviceGetGpcClkMinMaxVfOffset and
nvmlDeviceGetMemClkMinMaxVfOffset will be deprecated in a future release. Use
nvmlDeviceGetClockOffsets instead.
‣ Added nvmlDeviceSetClockOffsets to control clock offset value on a Maxwell
and later GPU for a specified clock. Note: nvmlDeviceSetGpcClkVfOffset and
nvmlDeviceSetMemClkVfOffset will be deprecated in a future release. Use
nvmlDeviceSetClockOffsets instead.
‣ Added two new field IDs NVML_FI_DEV_PCIE_COUNT_TX_BYTES and
NVML_FI_DEV_PCIE_COUNT_RX_BYTES for nvmlDeviceGetFieldValues.
‣ Added new API nvmlDeviceGetCapabilities with the first capability bit
NVML_DEV_CAP_EGM for Extended GPU Memory (EGM) capability.
‣ Added multiGpuMode display on CC enabled system via new API
nvmlSystemGetConfComputeSettings or "nvidia-smi conf-compute --get-
multigpu-mode" or "nvidia-smi conf-compute -mgm".
‣ Added new field ID NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MAX
to get the Max Nvlink Power Threshold for a device.
Changes between v545 and v550
The following new functionality is exposed on NVIDIA display drivers version 550
Production or later.
‣ Added nvmlDeviceGetNumaNodeId to query the NUMA node of a GPU.
‣ Added new GPM metric ID NVML_GPM_METRIC_NVOFA_1_UTIL to
nvmlGpmMetricId_t.
‣ Added new field ID
NVML_FI_DEV_IS_MIG_MODE_INDEPENDENT_MIG_QUERY_CAPABLE, to check MIG
query capable device irrespective of MIG mode.
‣ Deprecated NVML_P2P_CAPS_INDEX_PROP and added NVML_P2P_CAPS_INDEX_PCI
to reflect the same P2P capability.
‣ Added nvmlDeviceGetProcessesUtilizationInfo to retrieve the recent
utilization and process ID for all running processes.
‣ Added new struct nvmlProcessesUtilizationInfo_v1_t, which includes the new
utilization of NVJPG and NVOFA.
‣ Added nvmlDeviceGetVgpuInstancesUtilizationInfo to retrieve the recent
utilization for vGPU instances running on a physical GPU.
9
Change Log
‣
Added nvmlDeviceGetVgpuProcessesUtilizationInfo to retrieve the recent
utilization for processes running on vGPU instances on a physical GPU.
‣
Added nvmlDeviceSetVgpuHeterogeneousMode to enable or disable vGPU
heterogenous mode for the device.
‣
Added nvmlDeviceGetVgpuHeterogeneousMode to query the vGPU heterogenous
mode for the device.
‣
Added nvmlVgpuInstanceGetPlacementId to query placement ID of the active
vGPU instance.
‣
Added nvmlDeviceGetVgpuTypeSupportedPlacements to query the supported
vGPU placement IDs of a vGPU type.
‣
Added nvmlDeviceGetVgpuTypeCreatablePlacements to query the creatable vGPU
placement IDs of a vGPU type.
‣
Added support to display confidential compute protected memory along with fb
and bar1 in nvidia-smi pmon and dmon commands.
‣
Added nvmlDeviceGetGpuFabricInfoV to query GPU Fabric Probe Info for the
device.
‣
Deprecated nvmlDeviceGetGpuFabricInfo. This function should not be used, and
will be removed in a future release. Use nvmlDeviceGetGpuFabricInfoV instead.
‣
Modified nvmlDeviceGetGpuInstanceProfileInfo and
>nvmlDeviceGetGpuInstancePossiblePlacements_v2 to no longer require MIG being
enabled.
‣
Added new encoder type NVML_ENCODER_QUERY_AV1 and
NVML_ENCODER_QUERY_UNKNOWN to enumeration nvmlEncoderType_t.
‣
Added nvmlSystemSetConfComputeKeyRotationThresholdInfo to set confidential
compute key rotation threshold.
‣
Added nvmlSystemGetConfComputeKeyRotationThresholdInfo to query
confidential compute key rotation threshold detail.
‣
Added nvmlDeviceSetVgpuCapabilitiesto set the desirable vGPU capability of a
device.
Changes between v535 and v545
The following new functionality is exposed on NVIDIA display drivers version 545
Production or later.
‣ Added a new error code NVML_ERROR_GPU_NOT_FOUND to be returned if no
supported GPUS are found during initialization.
‣ In nvmlGpuFabricInfo_v2_t, partitionId has been renamed to cliqueId.
‣ Added new versioned structs nvmlGpuInstanceProfileInfo_v3_t and
nvmlComputeInstanceProfileInfo_v3_t.
‣ Added nvmlDeviceGetLastBBXFlushTime for retrieving the timestamp and
duration of the latest flush of the BBX object to the inforom storage.
‣ Added NVML_POWER_SCOPE_MEMORY to report out power usage for GPU Memory.
10
Change Log
‣ Added nvmlDeviceGetPciInfo_v3 which expands nvmlDeviceGetPciInfo to also
report PCI base and sub classcodes.
‣ Added new struct nvmlPciInfoExt_v1_t, which is used in
nvmlDeviceGetPciInfoExt.
‣ Added nvmlDeviceGetRunningProcessDetailList API to get information about
Compute, Graphics or MPS-Compute processes running on a GPU with protected
memory usage info.
Changes between v530 and v535
The following new functionality is exposed on NVIDIA display drivers version 535
Production or later.
‣
Added nvmlDeviceGetSramEccErrorStatus to query SRAM ECC error status for the
device.
‣
Added nvmlDeviceGetModuleId for getting device module ID.
‣
Updated nvmlDeviceGetPowerSource API to report undersized power source.
‣
AddednvmlDeviceGetJpgUtilization and nvmlDeviceGetOfaUtilization APIs.
‣
Added nvmlSystemGetNvlinkBwMode and nvmlSystemSetNvlinkBwMode APIs.
‣
Added nvmlDeviceSetVgpuSchedulerState to set the vGPU scheduler state.
‣
Added new field ID NVML_FI_DEV_IS_RESETLESS_MIG_SUPPORTED for
device's resetless MIG capability.
‣
Added nvmlDeviceGetComputeRunningProcesses_v3 to get information about
Compute processes running on a GPU.
‣
Added nvmlDeviceGetGraphicsRunningProcesses_v3 to get information about
Graphics processes running on a GPU.
‣
Added nvmlDeviceGetMPSComputeRunningProcesses_v3 to get information about
MPS-Compute processes running on a GPU.
‣
Added nvmlDeviceGetRunningProcessDetailList to get information about Compute,
Graphics or MPS-Compute processes running on a GPU with protected memory
usage info.
‣
Added nvmlDeviceGetLastBBXFlushTime for retrieving the timestamp and
duration of the latest flush of the BBX object to the inforom storage.
‣
Added new field ID NVML_FI_DEV_PCIE_COUNT_CORRECTABLE_ERRORS for
PCIe correctable errors counter.
‣
Added new field ID NVML_FI_DEV_PCIE_COUNT_NAKS_RECEIVED for PCIe
NAK Receive counter.
‣
Added new field ID NVML_FI_DEV_PCIE_COUNT_RECEIVER_ERROR for PCIe
receiver error counter.
‣
Added new field ID NVML_FI_DEV_PCIE_COUNT_BAD_TLP for PCIe bad TLP
counter.
‣
Added new field ID NVML_FI_DEV_PCIE_COUNT_NAKS_SENT for NAK Send
counter.
11
Change Log
‣
Added new field ID NVML_FI_DEV_PCIE_COUNT_BAD_DLLP for PCIe bad
DLLP counter.
‣
Added new field ID NVML_FI_DEV_PCIE_COUNT_NON_FATAL_ERROR for
PCIe non fatal error counter.
‣
Added new field ID NVML_FI_DEV_PCIE_COUNT_FATAL_ERROR for PCIe fatal
error counter.
‣
Added new field ID NVML_FI_DEV_PCIE_COUNT_UNSUPPORTED_REQ for
PCIe unsupported request counter.
‣
Added new field ID NVML_FI_DEV_PCIE_COUNT_LCRC_ERROR for PCIe LCRC
error counter.
‣
Added new field ID NVML_FI_DEV_PCIE_COUNT_LANE_ERROR for per lane
error counter with scope as PCIe lane number.
‣
Added nvmlDeviceGetPowerUsage_v2 to retrieve current power usage.
‣
Added nvmlDeviceGetTotalEnergyConsumption_v2 to get current energy
consumption.
‣
Added nvmlDeviceSetPowerManagementLimit_v2 to set the power limit.
‣
Added new field IDs, NVML_FI_GPU_POWER_AVERAGE and
NVML_FI_GPU_POWER_INSTANT, to query power usage.
‣
Renamed nvmlDeviceCcuGetStreamState to nvmlGpmQueryIfStreamingEnabled
and nvmlDeviceCcuSetStreamState to nvmlGpmSetStreamingEnabled.
‣
Added support to display confidential compute protected memory along with fb
and bar1 in nvidia-smi pmon and dmon commands.
‣
Added new field IDs NVML_FI_DEV_TEMPERATURE_SHUTDOWN_TLIMIT,
NVML_FI_DEV_TEMPERATURE_SLOWDOWN_TLIMIT,
NVML_FI_DEV_TEMPERATURE_MEM_MAX_TLIMIT, and
NVML_FI_DEV_TEMPERATURE_GPU_MAX_TLIMIT to query temperature thresholds
on Ada and later architectures.
‣
Introduced ClockEventReasons and related APIs which should be used instead of
ClockThrottleReasons. Deprecated ClockThrottleReasons.
‣
Added ability to get GPS Temperature Threshold with
nvmlDeviceGetTemperatureThreshold using the new enum
NVML_TEMPERATURE_THRESHOLD_GPS_CURR.
Changes between v525 and v530
The following new functionality is exposed on NVIDIA display drivers version 530
Production or later.
‣ Fixed a typo in nvmlGpuP2PStatus_t: added a new enum entry for
NVML_P2P_STATUS_CHIPSET_NOT_SUPPORTED with the same numeric value as the
existing erroneous entry ("NVML_P2P_STATUS_CHIPSET_NOT_SUPPORED").
‣ Added nvmlDeviceGetVgpuSchedulerLog to fetch the vGPU software scheduler
logs.
12
Change Log
‣ Added nvmlDeviceGetVgpuSchedulerState to fetch the vGPU software scheduler
state.
‣ Added nvmlDeviceGetVgpuSchedulerCapabilities to fetch the vGPU software
scheduler capabilities.
Changes between v520 and v525
The following new functionality is exposed on NVIDIA display drivers version 525
Production or later.
‣ Added nvmlDeviceGetPcieAtomicCaps to report PCIe atomic capabilities.
‣ Added nvmlDeviceCcuGetStreamState API to report the counter collection unit
stream state.
‣ Added nvmlDeviceCcuSetStreamState API to set the counter collection unit
stream state.
‣ Removed support for NVML_FI_DEV_LINK_SPEED_MBPS_L{0..} field IDs in
Hopper. Replaced with NVML_FI_DEV_NVLINK_GET_SPEED with scope as link ID.
‣ Removed support for NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT{0..} field
IDs in Hopper. Replaced with NVML_FI_DEV_NVLINK_ERROR_DL_CRC with scope as
link ID.
‣ Removed support for NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L{0..} field
IDs in Hopper. Replaced with NVML_FI_DEV_NVLINK_ERROR_DL_REPLAY with
scope as link ID.
‣ Removed support for NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_{0..}
field IDs in Hopper. Replaced with NVML_FI_DEV_NVLINK_ERROR_DL_RECOVERY
with scope as link ID.
‣ Added new field ID NVML_FI_DEV_NVLINK_GET_STATE to get nvlink state.
‣ Added new field ID NVML_FI_DEV_NVLINK_GET_VERSION to get nvlink
version.
‣ Added new field ID NVML_FI_DEV_C2C_LINK_COUNT to get C2C link count.
‣ Added new field ID NVML_FI_DEV_C2C_LINK_GET_STATUS to get C2C link status.
‣ Added new field ID NVML_FI_DEV_C2C_LINK_GET_MAX_BW to get C2C link
bandwidth.
Changes between v515 and v520
The following new functionality is exposed on NVIDIA display drivers version 520
Production or later.
‣ Added nvmlDeviceGetMemClkVfOffset API to report the MemClk VF offset value.
‣ Added nvmlDeviceSetMemClkVfOffset API to set the MemClk VF offset value.
‣ Added nvmlDeviceGetMemClkMinMaxVfOffset API to report the Memory clock
min and max VF offset that user can set for a specified GPU.
13
Change Log
‣ Added nvmlDeviceGetTargetFanSpeed API to report the intended target speed of
the device's specified fan.
‣ Added nvmlDeviceGetGpcClkMinMaxVfOffset API to report the Graphics clock
min and max VF offset that user can set for a specified GPU.
‣ Added nvmlGpmMetricsGet to calculate GPM metrics from two GPM samples.
‣ Added nvmlGpmSampleFree to free allocated GPM sample.
‣ Added nvmlGpmSampleAlloc to allocate a GPM sample.
‣ Added nvmlGpmSampleGet to retrieve a GPM snapshot.
‣ Added nvmlGpmQueryDeviceSupport to query whether a device supports GPM
‣ Added nvmlDeviceGetSupportedPowerModes API to report the GPU's supported
power mode mask.
‣ Added nvmlDeviceGetPowerMode API to report the GPU's current power mode.
‣ Added nvmlDeviceSetPowerMode API to set the new power mode.
‣ Added nvmlDeviceGetFanControlPolicy_v2 API to report the control policy for a
specified GPU fan.
‣ Added nvmlDeviceSetFanControlPolicy API to set the control policy for a specified
GPU fan.
Changes between v510 and v515
The following new functionality is exposed on NVIDIA display drivers version 515
Production or later.
‣ Added nvmlDeviceGetDefaultECCMode API to report the GPU's default ECC
Mode.
‣ Added nvmlDeviceGetPcieSpeed API to report the GPU's PCIe link speed.
‣ Added nvmlDeviceGetDynamicPstatesInfo API to report the GPU's P-states
information.
‣ Added nvmlDeviceSetFanSpeed_v2 API to set the GPU's fan speed.
‣ Added nvmlDeviceSetDefaultFanSpeed_v2 API to set the GPU's default fan speed.
‣ Added nvmlDeviceGetThermalSettings API to report the GPU's thermal system
information.
‣ Added nvmlDeviceGetMinMaxClockOfPState API to report the min and max clocks
of some clock domain for a given PState.
‣ Added nvmlDeviceGetSupportedPerformanceStates API to get all supported
Performance States (P-States) for the GPU.
‣ Added nvmlDeviceGetGpcClkVfOffset API to report the GPCCLK VF offset value.
‣ Added nvmlDeviceSetGpcClkVfOffset API to set the GPCCLK VF offset value.
‣ Added nvmlDeviceGetMinMaxFanSpeed API to report the min and max fan speed
that user can set for a specified GPU fan.
14
Change Log
Changes between v495 and v510
The following new functionality is exposed on NVIDIA display drivers version 510
Production or later.
‣ Added nvmlDeviceGetGpuInstanceProfileInfoV and
nvmlGpuInstanceGetComputeInstanceProfileInfoV APIs to include the profile name
in their output.
‣ Added nvmlDeviceGetMemoryBusWidth API to report the GPU's Memory Bus
Width.
‣ Added nvmlDeviceGetPcieLinkMaxSpeed API to report the GPU's PCIe Max Speed.
‣ Added nvmlDeviceGetPowerSource API to report the GPU's power source as AC or
battery.
‣ Added nvmlDeviceGetNumFans API to report the GPU's number of fans.
‣ Added nvmlDeviceGetNumGpuCores API to report the GPU's number of cores.
‣ Added nvmlDeviceGetMemoryInfo_v2. The new version accounts separately for
system-reserved memory, and includes it in the used memory amount. The previous
version of the API reduced the total memory amount by the amount of system-
reserved memory.
‣ Added nvmlDeviceGetAdaptiveClockInfoStatus API to report the status of adaptive
clocking for the GPU.
Changes between v465 and v470
The following new functionality is exposed on NVIDIA display drivers version 470
Production or later.
‣ Added new MIG GPU instance profile
NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV1.
‣ Added nvmlDeviceGetGpuInstancePossiblePlacements_v2. The previous
version of the API will not support the profiles with possible placements greater
than its total capacity, such as NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV1.
Changes between v460 and v465
The following new functionality is exposed on NVIDIA display drivers version 465
Production or later.
‣ Added new NVML_BRAND_* enumeration values for NVIDIA, NVIDIA_RTX,
GEFORCE_RTX, QUADRO_RTX and TITAN_RTX.
‣ Updated nvmlDeviceGetHandleByUUID to make it MIG-aware.
‣ Updated nvmlDeviceGetUUID to return MIG UUIDs in the canonical format, 'MIG-
UUID'.
‣ Updated nvmlDeviceGetHandleByUUID to accept both UUID formats, 'MIG-UUID'
and 'MIG-GPU UUID/GID/CID'.
15
Change Log
‣ The nvmlDeviceSetAPIRestriction and nvmlDeviceGetAPIRestriction APIs
would no longer support the ability to toggle root-only requirement for
nvmlDeviceSetApplicationsClocks and nvmlDeviceResetApplicationsClocks.
Changes between v450 and v460
The following new functionality is exposed on NVIDIA display drivers version 460
Production or later.
‣ Added nvmlDeviceCreateGpuInstanceWithPlacement to allow placement
specification when creating a new MIG GPU instance.
Changes between v445 and v450
The following new functionality is exposed on NVIDIA display drivers version 450
Production or later.
‣ Updated nvmlDeviceGetFanSpeed and nvmlDeviceGetFanSpeed_v2 for allowing
fan speeds greater than 100% to be reported.
‣ Added nvmlDeviceGetCpuAffinityWithinScope to determine the closest
processor(s) within a NUMA node or socket.
‣ Added nvmlDeviceGetMemoryAffinity to determine the closest NUMA node(s)
within a NUMA node or socket.
‣ Added support to query and disable MIG mode on Windows.
Changes between v418 and v445
The following new functionality is exposed on NVIDIA display drivers version 445
Production or later.
‣ Added support for the NVIDIA Ampere architecture.
‣ Added support for Multi Instance GPU management. Refer to the "Multi Instance
GPU Management" section for details.
Changes between v361 and v418
The following new functionality is exposed on NVIDIA display drivers version 418
Production or later.
‣ Added support for the Volta and Turing architectures, bug fixes, performance
improvements, and new features.
Changes between v349 and v361
The following new functionality is exposed on NVIDIA display drivers version 361
Production or later.
‣ Added nvmlDeviceGetBoardPartNumber to return GPU part numbers
16
Change Log
‣ Removed support for exclusive thread compute mode (Deprecated in 7.5)
‣ Added NVML_CLOCK_VIDEO (encoder/decoder) clock type as a supported clock
type for nvmlDeviceGetClockInfo and nvmlDeviceGetMaxClockInfo.
Changes between v346 and v349
The following new functionality is exposed on NVIDIA display drivers version 349
Production or later.
‣ Added nvmlDeviceGetTopologyCommonAncestor to find the common path
between two devices.
‣ Added nvmlDeviceGetTopologyNearestGpus to get a set of GPUs given a path
level.
‣ Added nvmlSystemGetTopologyGpuSet to retrieve a set of GPUs with a given CPU
affinity.
‣ Discontinued Perl bindings support.
‣ Updated nvmlDeviceGetAccountingPids , nvmlDeviceGetAccountingBufferSize
and nvmlDeviceGetAccountingStats to report accounting information for both
active and terminated processes. The execution time field in nvmlAccountingStats_t
structure is populated only when the process is terminated.
Changes between v340 and v346
The following new functionality is exposed on NVIDIA display drivers version 346
Production or later.
‣ Added nvmlDeviceGetGraphicsRunningProcesses_v2 to get information about
Graphics Processes running on a device.
‣ Added nvmlDeviceGetPcieReplayCounter to get PCI replay counters.
‣ Added nvmlDeviceGetPcieThroughput to get PCI utilization information.
‣ Discontinued Perl bindings support.
Changes between NVML v331 and v340
The following new functionality is exposed on NVIDIA display drivers version 340
Production or later.
‣ Added nvmlDeviceGetSamples to get recent power, utilization and clock samples
for the GPU.
‣ Added nvmlDeviceGetTemperatureThreshold to get temperature thresholds for the
GPU.
‣ Added nvmlDeviceGetBrand to get the brand name of the GPU.
‣ Added nvmlDeviceGetViolationStatus to get the duration of time during which
the device was throttled (lower than requested clocks) due to power or thermal
constraints. Violations due to thermal capping is not supported at this time.
17
Change Log
‣ Added nvmlDeviceGetEncoderUtilization to get the GPU video encoder utilization.
‣ Added nvmlDeviceGetDecoderUtilization to get the GPU video decoder utilization.
‣ Added nvmlDeviceGetCpuAffinity to get the closest processor(s) affinity to a
particular GPU.
‣ Added nvmlDeviceSetCpuAffinity to set the affinity of a particular GPU to the
closest processor.
‣ Added nvmlDeviceClearCpuAffinity to clear the affinity of a particular GPU.
‣ Added nvmlDeviceGetBoardId to get a unique boardId for the running system.
‣ Added nvmlDeviceGetMultiGpuBoard to get whether the device is on a multiGPU
board.
‣ Added nvmlDeviceGetAutoBoostedClocksEnabled and
nvmlDeviceSetAutoBoostedClocksEnabled for querying and setting the state of auto
boosted clocks on supporting hardware.
‣ Added nvmlDeviceSetDefaultAutoBoostedClocksEnabled for setting the default
state of auto boosted clocks on supporting hardware.
Changes between NVML v5.319 Update and v331
The following new functionality is exposed on NVIDIA display drivers version 331 or
later.
‣ Added nvmlDeviceGetMinorNumber to get the minor number for the device.
‣ Added nvmlDeviceGetBAR1MemoryInfo to get BAR1 total, available and used
memory size.
‣ Added nvmlDeviceGetBridgeChipInfo to get the information related to bridge chip
firmware.
‣ Added enforced power limit query API nvmlDeviceGetEnforcedPowerLimit
‣ Updated nvmlEventSetWait to return xid event data in case of xid error event.
Changes between NVML v5.319 RC and v5.319 Update
The following new functionality is exposed on NVIDIA display drivers version 319
Update or later.
‣ Added nvmlDeviceSetAPIRestriction and nvmlDeviceGetAPIRestriction, with initial
ability to toggle root-only requirement for nvmlDeviceSetApplicationsClocks and
nvmlDeviceResetApplicationsClocks.
Changes between NVML v4.304 Production and v5.319 RC
The following new functionality is exposed on NVIDIA display drivers version 319 RC
or later.
‣ Added _v2 versions of nvmlDeviceGetHandleByIndex and nvmlDeviceGetCount
that also count devices not accessible by current user
18
Change Log
‣ nvmlDeviceGetHandleByIndex_v2 (default) can also return
NVML_ERROR_NO_PERMISSION
‣ Added nvmlInit_v2 and nvmlDeviceGetHandleByIndex_v2 that is safer and thus
recommended function for initializing the library
‣ nvmlInit_v2 lazily initializes only requested devices (queried with
nvmlDeviceGetHandle*)
‣ nvml.h defines nvmlInit_v2 and nvmlDeviceGetHandleByIndex_v2 as default
functions
‣ Added nvmlDeviceGetIndex
‣ Added NVML_ERROR_GPU_IS_LOST to report GPUs that have fallen off the bus.
‣ All NVML device APIs can return this error code, as a GPU can fall off the bus
at any time.
‣ Added new class of APIs for gathering process statistics (nvmlAccountingStats)
‣ Application Clocks are no longer supported on GPU's from Quadro product line
‣ Added APIs to support dynamic page retirement. See nvmlDeviceGetRetiredPages
and nvmlDeviceGetRetiredPagesPendingStatus
‣ Renamed nvmlClocksThrottleReasonUserDefinedClocks to
nvmlClocksThrottleReasonApplicationsClocksSetting. Old name is deprecated and
can be removed in one of the next major releases.
‣ Added nvmlDeviceGetDisplayActive and updated documentation to clarify how it
differs from nvmlDeviceGetDisplayMode
Changes between NVML v4.304 RC and v4.304 Production
The following new functionality is exposed on NVIDIA display drivers version 304
Production or later.
‣ Added nvmlDeviceGetGpuOperationMode and
nvmlDeviceSetGpuOperationMode.
Changes between NVML v3.295 and v4.304 RC
The following new functionality is exposed on NVIDIA display drivers version 304 RC
or later.
‣ Added nvmlDeviceGetInforomConfigurationChecksum and
nvmlDeviceValidateInforom.
‣ Added nvmlDeviceGetDisplayActive and updated documentation to clarify how it
differs from nvmlDeviceGetDisplayMode.
‣ Added new error return value for initialization failure due to kernel module not
receiving interrupts.
‣ Added nvmlDeviceSetApplicationsClocks, nvmlDeviceGetApplicationsClock,
nvmlDeviceResetApplicationsClocks.
19
Change Log
‣ Added nvmlDeviceGetSupportedMemoryClocks and
nvmlDeviceGetSupportedGraphicsClocks.
‣ Added nvmlDeviceGetPowerManagementLimitConstraints,
nvmlDeviceGetPowerManagementDefaultLimit and
nvmlDeviceSetPowerManagementLimit.
‣ Added nvmlDeviceGetInforomImageVersion.
‣ Expanded nvmlDeviceGetUUID to support all CUDA capable GPUs.
‣ Deprecated nvmlDeviceGetDetailedEccErrors in favor of
nvmlDeviceGetMemoryErrorCounter.
‣ Added NVML_MEMORY_LOCATION_TEXTURE_MEMORY to support reporting
of texture memory error counters.
‣ Added nvmlDeviceGetCurrentClocksThrottleReasons and
nvmlDeviceGetSupportedClocksThrottleReasons.
‣ NVML_CLOCK_SM is now also reported on supported Kepler devices.
‣ Dropped support for GT200 based Tesla brand GPUs: C1060, M1060, S1070.
Changes between NVML v2.285 and v3.295
The following new functionality is exposed on NVIDIA display drivers version 295 or
later.
‣ Deprecated nvmlDeviceGetHandleBySerial in favor of newly added
nvmlDeviceGetHandleByUUID.
‣ Marked the input parameters of nvmlDeviceGetHandleBySerial,
nvmlDeviceGetHandleByUUID and nvmlDeviceGetHandleByPciBusId as const.
‣ Added nvmlDeviceOnSameBoard.
‣ Added nvmlConstants defines.
‣ Added nvmlDeviceGetMaxPcieLinkGeneration, nvmlDeviceGetMaxPcieLinkWidth,
nvmlDeviceGetCurrPcieLinkGeneration,nvmlDeviceGetCurrPcieLinkWidth.
‣ Format change of nvmlDeviceGetUUID output to match the UUID standard. This
function will return a different value.
‣ nvmlDeviceGetDetailedEccErrors will report zero for unsupported ECC error
counters when a subset of ECC error counters are supported.
Changes between NVML v1.0 and v2.285
The following new functionality is exposed on NVIDIA display drivers version 285 or
later.
‣ Added possibility to query separately current and pending driver model with
nvmlDeviceGetDriverModel.
‣ Fixed error message when querying pending driver model with
nvmlDeviceGetDriverModel on non-Admin user account.
‣ Fixed problem when nvmlDeviceGetDisplayMode wouldn't update.
20
Change Log
‣
Added API nvmlDeviceGetVbiosVersion function to report VBIOS version.
‣
Added pciSubSystemId to nvmlPciInfo_t struct.
‣
Added API nvmlErrorString function to convert error code to string.
‣
Updated docs to indicate we support M2075 and C2075.
‣
Added API nvmlSystemGetHicVersion function to report HIC firmware version.
‣
Added NVML versioning support
‣ Functions that changed API and/or size of structs have appended versioning
suffix (e.g., nvmlDeviceGetPciInfo_v2). Appropriate C defines have been added
that map old function names to the newer version of the function.
‣
Added support for concurrent library usage by multiple libraries.
‣
Added API nvmlDeviceGetMaxClockInfo function for reporting device's clock
limits.
‣
Added new error code NVML_ERROR_DRIVER_NOT_LOADED used by nvmlInit.
‣
Extended nvmlPciInfo_t struct with new field: sub system id.
‣
Added NVML support on Windows guest account.
‣
Changed format of pciBusId string (to XXXX:XX:XX.X) of nvmlPciInfo_t.
‣
Parsing of busId in nvmlDeviceGetHandleByPciBusId is less restrictive. You can
pass 0:2:0.0 or 0000:02:00 and other variations.
‣
Added API for events waiting for GPU events (Linux only) see docs of nvmlEvents.
‣
‣
Added API nvmlDeviceGetComputeRunningProcesses_v2 and
nvmlSystemGetProcessName functions for looking up currently running compute
applications.
‣
Deprecated nvmlDeviceGetPowerState in favor of nvmlDeviceGetPerformanceState.
21
Chapter 4.
Here is a list of all modules:
‣
Device Structs
‣
Device Enums
‣
Field Value Enums
‣
Unit Structs
‣
Accounting Statistics
‣ NVLink
‣
Encoder Structs
‣
Frame Buffer Capture Structures
‣
Drain State definitions
‣
Confidential Computing definitions
‣
Fabric definitions
‣
Initialization and Cleanup
‣
Error reporting
‣
Constants
‣
System Queries
‣
Unit Queries
‣
Device Queries
‣ CPU and Memory Affinity
‣
Unit Commands
‣
Device Commands
‣
NvLink Methods
‣
Event Handling Methods
‣ Event Types
‣
Drain states
‣
Field Value Queries
22
Modules
‣ vGPU APIs
‣ vGPU Management
‣ vGPU Migration
‣ vGPU Utilization and Accounting
‣ Excluded GPU Queries
‣ Multi Instance GPU Management
‣ NVML GPM
‣ GPM Enums
‣ GPM Structs
‣ GPM Functions
‣ Power Profile Information
‣ Power Smoothing Information
‣ vGPU Enums, Constants, Structs
‣ vGPU Enums
‣ vGPU Constants
‣ vGPU Structs
‣ NvmlClocksEventReasons
4.1. Device Structs
23
Modules
struct nvmlPciInfoExt_v1_t
struct nvmlPciInfo_t
struct nvmlEccErrorCounts_t
struct nvmlUtilization_t
struct nvmlMemory_t
struct nvmlMemory_v2_t
struct nvmlBAR1Memory_t
struct nvmlProcessInfo_v1_t
struct nvmlProcessInfo_t
struct nvmlProcessDetail_v1_t
struct nvmlProcessDetailList_v1_t
struct nvmlC2cModeInfo_v1_t
struct nvmlRowRemapperHistogramValues_t
struct nvmlNvLinkUtilizationControl_t
struct nvmlBridgeChipInfo_t
struct nvmlBridgeChipHierarchy_t
union nvmlValue_t
struct nvmlSample_t
24
Modules
struct nvmlViolationTime_t
struct nvmlGpuThermalSettings_t
union nvmlUUIDValue_t
struct nvmlUUID_v1_t
enum nvmlBridgeChipType_t
Enum to represent type of bridge chip
Values
NVML_BRIDGE_CHIP_PLX = 0
NVML_BRIDGE_CHIP_BRO4 = 1
enum nvmlNvLinkUtilizationCountUnits_t
Enum to represent the NvLink utilization counter packet units
Values
NVML_NVLINK_COUNTER_UNIT_CYCLES = 0
NVML_NVLINK_COUNTER_UNIT_PACKETS = 1
NVML_NVLINK_COUNTER_UNIT_BYTES = 2
NVML_NVLINK_COUNTER_UNIT_RESERVED = 3
NVML_NVLINK_COUNTER_UNIT_COUNT
enum nvmlNvLinkUtilizationCountPktTypes_t
Enum to represent the NvLink utilization counter packet types to count **
this is ONLY applicable with the units as packets or bytes ** as specified in
nvmlNvLinkUtilizationCountUnits_t ** all packet filter descriptions are target GPU
centric ** these can be "OR'd" together
Values
NVML_NVLINK_COUNTER_PKTFILTER_NOP = 0x1
NVML_NVLINK_COUNTER_PKTFILTER_READ = 0x2
NVML_NVLINK_COUNTER_PKTFILTER_WRITE = 0x4
NVML_NVLINK_COUNTER_PKTFILTER_RATOM = 0x8
NVML_NVLINK_COUNTER_PKTFILTER_NRATOM = 0x10
NVML_NVLINK_COUNTER_PKTFILTER_FLUSH = 0x20
25
Modules
NVML_NVLINK_COUNTER_PKTFILTER_RESPDATA = 0x40
NVML_NVLINK_COUNTER_PKTFILTER_RESPNODATA = 0x80
NVML_NVLINK_COUNTER_PKTFILTER_ALL = 0xFF
enum nvmlNvLinkCapability_t
Enum to represent NvLink queryable capabilities
Values
NVML_NVLINK_CAP_P2P_SUPPORTED = 0
NVML_NVLINK_CAP_SYSMEM_ACCESS = 1
NVML_NVLINK_CAP_P2P_ATOMICS = 2
NVML_NVLINK_CAP_SYSMEM_ATOMICS = 3
NVML_NVLINK_CAP_SLI_BRIDGE = 4
NVML_NVLINK_CAP_VALID = 5
NVML_NVLINK_CAP_COUNT
enum nvmlNvLinkErrorCounter_t
Enum to represent NvLink queryable error counters
Values
NVML_NVLINK_ERROR_DL_REPLAY = 0
NVML_NVLINK_ERROR_DL_RECOVERY = 1
NVML_NVLINK_ERROR_DL_CRC_FLIT = 2
NVML_NVLINK_ERROR_DL_CRC_DATA = 3
NVML_NVLINK_ERROR_DL_ECC_DATA = 4
NVML_NVLINK_ERROR_COUNT
enum nvmlIntNvLinkDeviceType_t
Enum to represent NvLink's remote device type
Values
NVML_NVLINK_DEVICE_TYPE_GPU = 0x00
NVML_NVLINK_DEVICE_TYPE_IBMNPU = 0x01
NVML_NVLINK_DEVICE_TYPE_SWITCH = 0x02
NVML_NVLINK_DEVICE_TYPE_UNKNOWN = 0xFF
enum nvmlGpuTopologyLevel_t
Represents level relationships within a system between two GPUs The enums are spaced
to allow for future relationships
26
Modules
Values
NVML_TOPOLOGY_INTERNAL = 0
NVML_TOPOLOGY_SINGLE = 10
NVML_TOPOLOGY_MULTIPLE = 20
NVML_TOPOLOGY_HOSTBRIDGE = 30
NVML_TOPOLOGY_NODE = 40
NVML_TOPOLOGY_SYSTEM = 50
enum nvmlSamplingType_t
Represents Type of Sampling Event
Values
NVML_TOTAL_POWER_SAMPLES = 0
To represent total power drawn by GPU.
NVML_GPU_UTILIZATION_SAMPLES = 1
To represent percent of time during which one or more kernels was executing on the
GPU.
NVML_MEMORY_UTILIZATION_SAMPLES = 2
To represent percent of time during which global (device) memory was being read or
written.
NVML_ENC_UTILIZATION_SAMPLES = 3
To represent percent of time during which NVENC remains busy.
NVML_DEC_UTILIZATION_SAMPLES = 4
To represent percent of time during which NVDEC remains busy.
NVML_PROCESSOR_CLK_SAMPLES = 5
To represent processor clock samples.
NVML_MEMORY_CLK_SAMPLES = 6
To represent memory clock samples.
NVML_MODULE_POWER_SAMPLES = 7
To represent module power samples for total module starting Grace Hopper.
NVML_JPG_UTILIZATION_SAMPLES = 8
To represent percent of time during which NVJPG remains busy.
NVML_OFA_UTILIZATION_SAMPLES = 9
To represent percent of time during which NVOFA remains busy.
NVML_SAMPLINGTYPE_COUNT
enum nvmlPcieUtilCounter_t
Represents the queryable PCIe utilization counters
Values
NVML_PCIE_UTIL_TX_BYTES = 0
27
Modules
NVML_PCIE_UTIL_RX_BYTES = 1
NVML_PCIE_UTIL_COUNT
enum nvmlValueType_t
Represents the type for sample value returned
Values
NVML_VALUE_TYPE_DOUBLE = 0
NVML_VALUE_TYPE_UNSIGNED_INT = 1
NVML_VALUE_TYPE_UNSIGNED_LONG = 2
NVML_VALUE_TYPE_UNSIGNED_LONG_LONG = 3
NVML_VALUE_TYPE_SIGNED_LONG_LONG = 4
NVML_VALUE_TYPE_SIGNED_INT = 5
NVML_VALUE_TYPE_UNSIGNED_SHORT = 6
NVML_VALUE_TYPE_COUNT
enum nvmlPerfPolicyType_t
Represents type of perf policy for which violation times can be queried
Values
NVML_PERF_POLICY_POWER = 0
How long did power violations cause the GPU to be below application clocks.
NVML_PERF_POLICY_THERMAL = 1
How long did thermal violations cause the GPU to be below application clocks.
NVML_PERF_POLICY_SYNC_BOOST = 2
How long did sync boost cause the GPU to be below application clocks.
NVML_PERF_POLICY_BOARD_LIMIT = 3
How long did the board limit cause the GPU to be below application clocks.
NVML_PERF_POLICY_LOW_UTILIZATION = 4
How long did low utilization cause the GPU to be below application clocks.
NVML_PERF_POLICY_RELIABILITY = 5
How long did the board reliability limit cause the GPU to be below application
clocks.
NVML_PERF_POLICY_TOTAL_APP_CLOCKS = 10
Total time the GPU was held below application clocks by any limiter (0 - 5 above).
NVML_PERF_POLICY_TOTAL_BASE_CLOCKS = 11
Total time the GPU was held below base clocks.
NVML_PERF_POLICY_COUNT
28
Modules
enum nvmlThermalTarget_t
Represents the thermal sensor targets
Values
NVML_THERMAL_TARGET_NONE = 0
NVML_THERMAL_TARGET_GPU = 1
GPU core temperature requires NvPhysicalGpuHandle.
NVML_THERMAL_TARGET_MEMORY = 2
GPU memory temperature requires NvPhysicalGpuHandle.
NVML_THERMAL_TARGET_POWER_SUPPLY = 4
GPU power supply temperature requires NvPhysicalGpuHandle.
NVML_THERMAL_TARGET_BOARD = 8
GPU board ambient temperature requires NvPhysicalGpuHandle.
NVML_THERMAL_TARGET_VCD_BOARD = 9
Visual Computing Device Board temperature requires
NvVisualComputingDeviceHandle.
NVML_THERMAL_TARGET_VCD_INLET = 10
Visual Computing Device Inlet temperature requires
NvVisualComputingDeviceHandle.
NVML_THERMAL_TARGET_VCD_OUTLET = 11
Visual Computing Device Outlet temperature requires
NvVisualComputingDeviceHandle.
NVML_THERMAL_TARGET_ALL = 15
NVML_THERMAL_TARGET_UNKNOWN = -1
enum nvmlThermalController_t
Represents the thermal sensor controllers
Values
NVML_THERMAL_CONTROLLER_NONE = 0
NVML_THERMAL_CONTROLLER_GPU_INTERNAL
NVML_THERMAL_CONTROLLER_ADM1032
NVML_THERMAL_CONTROLLER_ADT7461
NVML_THERMAL_CONTROLLER_MAX6649
NVML_THERMAL_CONTROLLER_MAX1617
NVML_THERMAL_CONTROLLER_LM99
NVML_THERMAL_CONTROLLER_LM89
NVML_THERMAL_CONTROLLER_LM64
NVML_THERMAL_CONTROLLER_G781
NVML_THERMAL_CONTROLLER_ADT7473
29
Modules
NVML_THERMAL_CONTROLLER_SBMAX6649
NVML_THERMAL_CONTROLLER_VBIOSEVT
NVML_THERMAL_CONTROLLER_OS
NVML_THERMAL_CONTROLLER_NVSYSCON_CANOAS
NVML_THERMAL_CONTROLLER_NVSYSCON_E551
NVML_THERMAL_CONTROLLER_MAX6649R
NVML_THERMAL_CONTROLLER_ADT7473S
NVML_THERMAL_CONTROLLER_UNKNOWN = -1
enum nvmlCoolerControl_t
Cooler control type
Values
NVML_THERMAL_COOLER_SIGNAL_NONE = 0
This cooler has no control signal.
NVML_THERMAL_COOLER_SIGNAL_TOGGLE = 1
This cooler can only be toggled either ON or OFF (eg a switch).
NVML_THERMAL_COOLER_SIGNAL_VARIABLE = 2
This cooler's level can be adjusted from some minimum to some maximum (eg a
knob).
NVML_THERMAL_COOLER_SIGNAL_COUNT
enum nvmlCoolerTarget_t
Cooler's target
Values
NVML_THERMAL_COOLER_TARGET_NONE = 1<<0
This cooler cools nothing.
NVML_THERMAL_COOLER_TARGET_GPU = 1<<1
This cooler can cool the GPU.
NVML_THERMAL_COOLER_TARGET_MEMORY = 1<<2
This cooler can cool the memory.
NVML_THERMAL_COOLER_TARGET_POWER_SUPPLY = 1<<3
This cooler can cool the power supply.
NVML_THERMAL_COOLER_TARGET_GPU_RELATED
= (NVML_THERMAL_COOLER_TARGET_GPU|
NVML_THERMAL_COOLER_TARGET_MEMORY|
NVML_THERMAL_COOLER_TARGET_POWER_SUPPLY)
This cooler cools all of the components related to its target gpu. GPU_RELATED =
GPU | MEMORY | POWER_SUPPLY.
30
Modules
enum nvmlUUIDType_t
Enum to represent different UUID types
Values
NVML_UUID_TYPE_NONE = 0
Undefined type.
NVML_UUID_TYPE_ASCII = 1
ASCII format type.
NVML_UUID_TYPE_BINARY = 2
Binary format type.
#define NVML_VALUE_NOT_AVAILABLE (-1)
Special constant that some fields take when they are not available. Used when only part
of the struct is not available.
Each structure explicitly states when to check for this value.
#define NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE 32
Buffer size guaranteed to be large enough for pci bus id
#define NVML_DEVICE_PCI_BUS_ID_BUFFER_V2_SIZE 16
Buffer size guaranteed to be large enough for pci bus id for busIdLegacy
#define NVML_DEVICE_PCI_BUS_ID_LEGACY_FMT "%04X:
%02X:%02X.0"
PCI format string for busIdLegacy
#define NVML_DEVICE_PCI_BUS_ID_FMT "%08X:%02X:
%02X.0"
PCI format string for busId
#define NVML_DEVICE_PCI_BUS_ID_FMT_ARGS (pciInfo)-
>domain, \ (pciInfo)->bus, \ (pciInfo)->device
Utility macro for filling the pci bus id format from a nvmlPciInfo_t
31
Modules
#define nvmlProcessDetailList_v1
NVML_STRUCT_VERSION(ProcessDetailList, 1)
nvmlProcessDetailList version
#define NVML_NVLINK_MAX_LINKS 18
Maximum number of NvLink links supported
#define NVML_MAX_PHYSICAL_BRIDGE (128)
Maximum limit on Physical Bridges per Board
#define NVML_DEVICE_UUID_ASCII_LEN 41
UUID length in ASCII format
#define NVML_DEVICE_UUID_BINARY_LEN 16
UUID length in binary format
4.2. Device Enums
32
Modules
struct nvmlDramEncryptionInfo_v1_t
struct nvmlMarginTemperature_v1_t
struct nvmlClkMonFaultInfo_t
struct nvmlClkMonStatus_t
struct nvmlClockOffset_v1_t
struct nvmlFanSpeedInfo_v1_t
struct nvmlDevicePerfModes_v1_t
struct nvmlDeviceCurrentClockFreqs_v1_t
struct nvmlProcessUtilizationSample_t
struct nvmlProcessUtilizationInfo_v1_t
struct nvmlProcessesUtilizationInfo_v1_t
struct nvmlEccSramErrorStatus_v1_t
struct nvmlPlatformInfo_v1_t
struct nvmlPlatformInfo_v2_t
struct nvmlPowerValue_v2_t
enum nvmlEnableState_t
Generic enable/disable enum.
Values
NVML_FEATURE_DISABLED = 0
Feature disabled.
33
Modules
NVML_FEATURE_ENABLED = 1
Feature enabled.
enum nvmlBrandType_t
* The Brand of the GPU
Values
NVML_BRAND_UNKNOWN = 0
NVML_BRAND_QUADRO = 1
NVML_BRAND_TESLA = 2
NVML_BRAND_NVS = 3
NVML_BRAND_GRID = 4
NVML_BRAND_GEFORCE = 5
NVML_BRAND_TITAN = 6
NVML_BRAND_NVIDIA_VAPPS = 7
NVML_BRAND_NVIDIA_VPC = 8
NVML_BRAND_NVIDIA_VCS = 9
NVML_BRAND_NVIDIA_VWS = 10
NVML_BRAND_NVIDIA_CLOUD_GAMING = 11
NVML_BRAND_NVIDIA_VGAMING =
NVML_BRAND_NVIDIA_CLOUD_GAMING
NVML_BRAND_QUADRO_RTX = 12
NVML_BRAND_NVIDIA_RTX = 13
NVML_BRAND_NVIDIA = 14
NVML_BRAND_GEFORCE_RTX = 15
NVML_BRAND_TITAN_RTX = 16
NVML_BRAND_COUNT
enum nvmlTemperatureThresholds_t
Temperature thresholds.
Values
NVML_TEMPERATURE_THRESHOLD_SHUTDOWN = 0
NVML_TEMPERATURE_THRESHOLD_SLOWDOWN = 1
NVML_TEMPERATURE_THRESHOLD_MEM_MAX = 2
NVML_TEMPERATURE_THRESHOLD_GPU_MAX = 3
NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_MIN = 4
NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_CURR = 5
NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_MAX = 6
NVML_TEMPERATURE_THRESHOLD_GPS_CURR = 7
NVML_TEMPERATURE_THRESHOLD_COUNT
34
Modules
enum nvmlTemperatureSensors_t
Temperature sensors.
Values
NVML_TEMPERATURE_GPU = 0
Temperature sensor for the GPU die.
NVML_TEMPERATURE_COUNT
enum nvmlComputeMode_t
Compute mode.
NVML_COMPUTEMODE_EXCLUSIVE_PROCESS was added in CUDA 4.0.
Earlier CUDA versions supported a single exclusive mode, which is equivalent to
NVML_COMPUTEMODE_EXCLUSIVE_THREAD in CUDA 4.0 and beyond.
Values
NVML_COMPUTEMODE_DEFAULT = 0
Default compute mode -- multiple contexts per device.
NVML_COMPUTEMODE_EXCLUSIVE_THREAD = 1
Support Removed.
NVML_COMPUTEMODE_PROHIBITED = 2
Compute-prohibited mode -- no contexts per device.
NVML_COMPUTEMODE_EXCLUSIVE_PROCESS = 3
Compute-exclusive-process mode -- only one context per device, usable from
multiple threads at a time.
NVML_COMPUTEMODE_COUNT
enum nvmlMemoryErrorType_t
Memory error types
Values
NVML_MEMORY_ERROR_TYPE_CORRECTED = 0
A memory error that was correctedFor ECC errors, these are single bit errors For
Texture memory, these are errors fixed by resend
NVML_MEMORY_ERROR_TYPE_UNCORRECTED = 1
A memory error that was not correctedFor ECC errors, these are double bit errors For
Texture memory, these are errors where the resend fails
NVML_MEMORY_ERROR_TYPE_COUNT
Count of memory error types.
35
Modules
enum nvmlNvlinkVersion_t
Represents Nvlink Version
Values
NVML_NVLINK_VERSION_INVALID = 0
NVML_NVLINK_VERSION_1_0 = 1
NVML_NVLINK_VERSION_2_0 = 2
NVML_NVLINK_VERSION_2_2 = 3
NVML_NVLINK_VERSION_3_0 = 4
NVML_NVLINK_VERSION_3_1 = 5
NVML_NVLINK_VERSION_4_0 = 6
NVML_NVLINK_VERSION_5_0 = 7
enum nvmlEccCounterType_t
ECC counter types.
Note: Volatile counts are reset each time the driver loads. On Windows this is once per
boot. On Linux this can be more frequent. On Linux the driver unloads when no active
clients exist. If persistence mode is enabled or there is always a driver client active (e.g.
X11), then Linux also sees per-boot behavior. If not, volatile counts are reset each time a
compute app is run.
Values
NVML_VOLATILE_ECC = 0
Volatile counts are reset each time the driver loads.
NVML_AGGREGATE_ECC = 1
Aggregate counts persist across reboots (i.e. for the lifetime of the device).
NVML_ECC_COUNTER_TYPE_COUNT
Count of memory counter types.
enum nvmlClockType_t
Clock types.
All speeds are in Mhz.
Values
NVML_CLOCK_GRAPHICS = 0
Graphics clock domain.
NVML_CLOCK_SM = 1
SM clock domain.
36
////////////////////////////////////////// |
||
|
|
|