NVML. Reference Manual (vR575 | June 2025) - page 2

 

  Index      Manuals     NVML. Reference Manual (vR575 | June 2025)

 

Search            copyright infringement  

 

   

 

   

 

Content      ..      1      2      3      ..

 

 

 

NVML. Reference Manual (vR575 | June 2025) - page 2

 

 

Modules
NVML_CLOCK_MEM = 2
Memory clock domain.
NVML_CLOCK_VIDEO = 3
Video encoder/decoder clock domain.
NVML_CLOCK_COUNT
Count of clock types.
enum nvmlClockId_t
Clock Ids. These are used in combination with nvmlClockType_t to specify a single clock
value.
Values
NVML_CLOCK_ID_CURRENT = 0
Current actual clock value.
NVML_CLOCK_ID_APP_CLOCK_TARGET = 1
Target application clock.
NVML_CLOCK_ID_APP_CLOCK_DEFAULT = 2
Default application clock target.
NVML_CLOCK_ID_CUSTOMER_BOOST_MAX = 3
OEM-defined maximum clock rate.
NVML_CLOCK_ID_COUNT
Count of Clock Ids.
enum nvmlDriverModel_t
Driver models.
Windows only.
Values
NVML_DRIVER_WDDM = 0
WDDM driver model -- GPU treated as a display device.
NVML_DRIVER_WDM = 1
WDM (TCC) model (deprecated) -- GPU treated as a generic compute device.
NVML_DRIVER_MCDM = 2
MCDM driver model -- GPU treated as a Microsoft compute device.
enum nvmlPstates_t
Allowed PStates.
37
Modules
Values
NVML_PSTATE_0 = 0
Performance state 0 -- Maximum Performance.
NVML_PSTATE_1 = 1
Performance state 1.
NVML_PSTATE_2 = 2
Performance state 2.
NVML_PSTATE_3 = 3
Performance state 3.
NVML_PSTATE_4 = 4
Performance state 4.
NVML_PSTATE_5 = 5
Performance state 5.
NVML_PSTATE_6 = 6
Performance state 6.
NVML_PSTATE_7 = 7
Performance state 7.
NVML_PSTATE_8 = 8
Performance state 8.
NVML_PSTATE_9 = 9
Performance state 9.
NVML_PSTATE_10 = 10
Performance state 10.
NVML_PSTATE_11 = 11
Performance state 11.
NVML_PSTATE_12 = 12
Performance state 12.
NVML_PSTATE_13 = 13
Performance state 13.
NVML_PSTATE_14 = 14
Performance state 14.
NVML_PSTATE_15 = 15
Performance state 15 -- Minimum Performance.
NVML_PSTATE_UNKNOWN = 32
Unknown performance state.
enum nvmlGpuOperationMode_t
GPU Operation Mode
GOM allows to reduce power usage and optimize GPU throughput by disabling GPU
features.
Each GOM is designed to meet specific user needs.
38
Modules
Values
NVML_GOM_ALL_ON = 0
Everything is enabled and running at full speed.
NVML_GOM_COMPUTE = 1
Designed for running only compute tasks. Graphics operations are not allowed
NVML_GOM_LOW_DP = 2
Designed for running graphics applications that don't require high bandwidth double
precision
enum nvmlInforomObject_t
Available infoROM objects.
Values
NVML_INFOROM_OEM = 0
An object defined by OEM.
NVML_INFOROM_ECC = 1
The ECC object determining the level of ECC support.
NVML_INFOROM_POWER = 2
The power management object.
NVML_INFOROM_DEN = 3
DRAM Encryption object.
NVML_INFOROM_COUNT
This counts the number of infoROM objects the driver knows about.
enum nvmlReturn_t
Return values for NVML API calls.
Values
NVML_SUCCESS = 0
The operation was successful.
NVML_ERROR_UNINITIALIZED = 1
NVML was not first initialized with nvmlInit().
NVML_ERROR_INVALID_ARGUMENT = 2
A supplied argument is invalid.
NVML_ERROR_NOT_SUPPORTED = 3
The requested operation is not available on target device.
NVML_ERROR_NO_PERMISSION = 4
The current user does not have permission for operation.
NVML_ERROR_ALREADY_INITIALIZED = 5
Deprecated: Multiple initializations are now allowed through ref counting.
39
Modules
NVML_ERROR_NOT_FOUND = 6
A query to find an object was unsuccessful.
NVML_ERROR_INSUFFICIENT_SIZE = 7
An input argument is not large enough.
NVML_ERROR_INSUFFICIENT_POWER = 8
A device's external power cables are not properly attached.
NVML_ERROR_DRIVER_NOT_LOADED = 9
NVIDIA driver is not loaded.
NVML_ERROR_TIMEOUT = 10
User provided timeout passed.
NVML_ERROR_IRQ_ISSUE = 11
NVIDIA Kernel detected an interrupt issue with a GPU.
NVML_ERROR_LIBRARY_NOT_FOUND = 12
NVML Shared Library couldn't be found or loaded.
NVML_ERROR_FUNCTION_NOT_FOUND = 13
Local version of NVML doesn't implement this function.
NVML_ERROR_CORRUPTED_INFOROM = 14
infoROM is corrupted
NVML_ERROR_GPU_IS_LOST = 15
The GPU has fallen off the bus or has otherwise become inaccessible.
NVML_ERROR_RESET_REQUIRED = 16
The GPU requires a reset before it can be used again.
NVML_ERROR_OPERATING_SYSTEM = 17
The GPU control device has been blocked by the operating system/cgroups.
NVML_ERROR_LIB_RM_VERSION_MISMATCH = 18
RM detects a driver/library version mismatch.
NVML_ERROR_IN_USE = 19
An operation cannot be performed because the GPU is currently in use.
NVML_ERROR_MEMORY = 20
Insufficient memory.
NVML_ERROR_NO_DATA = 21
No data.
NVML_ERROR_VGPU_ECC_NOT_SUPPORTED = 22
The requested vgpu operation is not available on target device, becasue ECC is
enabled.
NVML_ERROR_INSUFFICIENT_RESOURCES = 23
Ran out of critical resources, other than memory.
NVML_ERROR_FREQ_NOT_SUPPORTED = 24
Ran out of critical resources, other than memory.
NVML_ERROR_ARGUMENT_VERSION_MISMATCH = 25
The provided version is invalid/unsupported.
NVML_ERROR_DEPRECATED = 26
The requested functionality has been deprecated.
40
Modules
NVML_ERROR_NOT_READY = 27
The system is not ready for the request.
NVML_ERROR_GPU_NOT_FOUND = 28
No GPUs were found.
NVML_ERROR_INVALID_STATE = 29
Resource not in correct state to perform requested operation.
NVML_ERROR_UNKNOWN = 999
An internal driver error occurred.
enum nvmlMemoryLocation_t
See nvmlDeviceGetMemoryErrorCounter
Values
NVML_MEMORY_LOCATION_L1_CACHE = 0
GPU L1 Cache.
NVML_MEMORY_LOCATION_L2_CACHE = 1
GPU L2 Cache.
NVML_MEMORY_LOCATION_DRAM = 2
Turing+ DRAM.
NVML_MEMORY_LOCATION_DEVICE_MEMORY = 2
GPU Device Memory.
NVML_MEMORY_LOCATION_REGISTER_FILE = 3
GPU Register File.
NVML_MEMORY_LOCATION_TEXTURE_MEMORY = 4
GPU Texture Memory.
NVML_MEMORY_LOCATION_TEXTURE_SHM = 5
Shared memory.
NVML_MEMORY_LOCATION_CBU = 6
CBU.
NVML_MEMORY_LOCATION_SRAM = 7
Turing+ SRAM.
NVML_MEMORY_LOCATION_COUNT
This counts the number of memory locations the driver knows about.
enum nvmlPageRetirementCause_t
Causes for page retirement
Values
NVML_PAGE_RETIREMENT_CAUSE_MULTIPLE_SINGLE_BIT_ECC_ERRORS = 0
Page was retired due to multiple single bit ECC error.
41
Modules
NVML_PAGE_RETIREMENT_CAUSE_DOUBLE_BIT_ECC_ERROR = 1
Page was retired due to double bit ECC error.
NVML_PAGE_RETIREMENT_CAUSE_COUNT
enum nvmlRestrictedAPI_t
API types that allow changes to default permission restrictions
Values
NVML_RESTRICTED_API_SET_APPLICATION_CLOCKS = 0
APIs that change application clocks, see nvmlDeviceSetApplicationsClocks and see
nvmlDeviceResetApplicationsClocks
NVML_RESTRICTED_API_SET_AUTO_BOOSTED_CLOCKS = 1
APIs that enable/disable Auto Boosted clocks see
nvmlDeviceSetAutoBoostedClocksEnabled
NVML_RESTRICTED_API_COUNT
enum nvmlGpuUtilizationDomainId_t
Represents the GPU utilization domains
Values
NVML_GPU_UTILIZATION_DOMAIN_GPU = 0
Graphics engine domain.
NVML_GPU_UTILIZATION_DOMAIN_FB = 1
Frame buffer domain.
NVML_GPU_UTILIZATION_DOMAIN_VID = 2
Video engine domain.
NVML_GPU_UTILIZATION_DOMAIN_BUS = 3
Bus interface domain.
#define nvmlFlagDefault 0x00
Generic flag used to specify the default behavior of some functions. See description of
particular functions for details.
#define nvmlFlagForce 0x01
Generic flag used to force some behavior. See description of particular functions for
details.
#define MAX_CLK_DOMAINS 32
Max Clock Monitors available
42
Modules
#define nvmlEccBitType_t nvmlMemoryErrorType_t
ECC bit types.
Deprecated See nvmlMemoryErrorType_t for a more flexible type
#define NVML_SINGLE_BIT_ECC
NVML_MEMORY_ERROR_TYPE_CORRECTED
Single bit ECC errors
Deprecated Mapped to NVML_MEMORY_ERROR_TYPE_CORRECTED
#define NVML_DOUBLE_BIT_ECC
NVML_MEMORY_ERROR_TYPE_UNCORRECTED
Double bit ECC errors
Deprecated Mapped to NVML_MEMORY_ERROR_TYPE_UNCORRECTED
#define NVML_GSP_FIRMWARE_VERSION_BUF_SIZE 0x40
GSP firmware
#define NVML_DEVICE_ARCH_KEPLER 2
Simplified chip architecture
#define NVML_BUS_TYPE_UNKNOWN 0
PCI bus types
#define
NVML_FAN_POLICY_TEMPERATURE_CONTINOUS_SW 0
Device Power Modes Device Fan control policy
#define NVML_POWER_SOURCE_AC 0x00000000
Device Power Source
43
Modules
#define NVML_PCIE_LINK_MAX_SPEED_INVALID
0x00000000
Device PCIE link Max Speed
#define
NVML_ADAPTIVE_CLOCKING_INFO_STATUS_DISABLED
0x00000000
Adaptive clocking status
#define NVML_POWER_SCOPE_GPU 0U
Targets only GPU.
Device Scope - This is useful to retrieve the telemetry at GPU and module (e.g. GPU +
CPU) level
#define NVML_POWER_SCOPE_MODULE 1U
Targets the whole module.
#define NVML_POWER_SCOPE_MEMORY 2U
Targets the GPU Memory.
4.3. Field Value Enums
struct nvmlFieldValue_t
#define NVML_FI_DEV_ECC_CURRENT 1
Current ECC mode. 1=Active. 0=Inactive.
Field Identifiers.
All Identifiers pertain to a device. Each ID is only used once and is guaranteed never to
change.
#define NVML_FI_DEV_ECC_PENDING 2
Pending ECC mode. 1=Active. 0=Inactive.
44
Modules
#define NVML_FI_DEV_ECC_SBE_VOL_TOTAL 3
Total single bit volatile ECC errors.
#define NVML_FI_DEV_ECC_DBE_VOL_TOTAL 4
Total double bit volatile ECC errors.
#define NVML_FI_DEV_ECC_SBE_AGG_TOTAL 5
Total single bit aggregate (persistent) ECC errors.
#define NVML_FI_DEV_ECC_DBE_AGG_TOTAL 6
Total double bit aggregate (persistent) ECC errors.
#define NVML_FI_DEV_ECC_SBE_VOL_L1 7
L1 cache single bit volatile ECC errors.
#define NVML_FI_DEV_ECC_DBE_VOL_L1 8
L1 cache double bit volatile ECC errors.
#define NVML_FI_DEV_ECC_SBE_VOL_L2 9
L2 cache single bit volatile ECC errors.
#define NVML_FI_DEV_ECC_DBE_VOL_L2 10
L2 cache double bit volatile ECC errors.
#define NVML_FI_DEV_ECC_SBE_VOL_DEV 11
Device memory single bit volatile ECC errors.
#define NVML_FI_DEV_ECC_DBE_VOL_DEV 12
Device memory double bit volatile ECC errors.
#define NVML_FI_DEV_ECC_SBE_VOL_REG 13
Register file single bit volatile ECC errors.
45
Modules
#define NVML_FI_DEV_ECC_DBE_VOL_REG 14
Register file double bit volatile ECC errors.
#define NVML_FI_DEV_ECC_SBE_VOL_TEX 15
Texture memory single bit volatile ECC errors.
#define NVML_FI_DEV_ECC_DBE_VOL_TEX 16
Texture memory double bit volatile ECC errors.
#define NVML_FI_DEV_ECC_DBE_VOL_CBU 17
CBU double bit volatile ECC errors.
#define NVML_FI_DEV_ECC_SBE_AGG_L1 18
L1 cache single bit aggregate (persistent) ECC errors.
#define NVML_FI_DEV_ECC_DBE_AGG_L1 19
L1 cache double bit aggregate (persistent) ECC errors.
#define NVML_FI_DEV_ECC_SBE_AGG_L2 20
L2 cache single bit aggregate (persistent) ECC errors.
#define NVML_FI_DEV_ECC_DBE_AGG_L2 21
L2 cache double bit aggregate (persistent) ECC errors.
#define NVML_FI_DEV_ECC_SBE_AGG_DEV 22
Device memory single bit aggregate (persistent) ECC errors.
#define NVML_FI_DEV_ECC_DBE_AGG_DEV 23
Device memory double bit aggregate (persistent) ECC errors.
#define NVML_FI_DEV_ECC_SBE_AGG_REG 24
Register File single bit aggregate (persistent) ECC errors.
46
Modules
#define NVML_FI_DEV_ECC_DBE_AGG_REG 25
Register File double bit aggregate (persistent) ECC errors.
#define NVML_FI_DEV_ECC_SBE_AGG_TEX 26
Texture memory single bit aggregate (persistent) ECC errors.
#define NVML_FI_DEV_ECC_DBE_AGG_TEX 27
Texture memory double bit aggregate (persistent) ECC errors.
#define NVML_FI_DEV_ECC_DBE_AGG_CBU 28
CBU double bit aggregate ECC errors.
#define NVML_FI_DEV_RETIRED_SBE 29
Number of retired pages because of single bit errors.
#define NVML_FI_DEV_RETIRED_DBE 30
Number of retired pages because of double bit errors.
#define NVML_FI_DEV_RETIRED_PENDING 31
If any pages are pending retirement. 1=yes. 0=no.
#define
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L0 32
NVLink flow control CRC Error Counter for Lane 0.
NVLink Flit Error Counters
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
#define
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L1 33
NVLink flow control CRC Error Counter for Lane 1.
#define
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L2 34
NVLink flow control CRC Error Counter for Lane 2.
47
Modules
#define
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L3 35
NVLink flow control CRC Error Counter for Lane 3.
#define
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L4 36
NVLink flow control CRC Error Counter for Lane 4.
#define
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L5 37
NVLink flow control CRC Error Counter for Lane 5.
#define
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_TOTAL
38
NVLink flow control CRC Error Counter total for all Lanes.
#define
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L0 39
NVLink data CRC Error Counter for Lane 0.
NVLink CRC Data Error Counters
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
#define
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L1 40
NVLink data CRC Error Counter for Lane 1.
#define
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L2 41
NVLink data CRC Error Counter for Lane 2.
48
Modules
#define
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L3 42
NVLink data CRC Error Counter for Lane 3.
#define
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L4 43
NVLink data CRC Error Counter for Lane 4.
#define
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L5 44
NVLink data CRC Error Counter for Lane 5.
#define
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_TOTAL
45
NvLink data CRC Error Counter total for all Lanes.
#define
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L0 46
NVLink Replay Error Counter for Lane 0.
NVLink Replay Error Counters
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
#define
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L1 47
NVLink Replay Error Counter for Lane 1.
#define
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L2 48
NVLink Replay Error Counter for Lane 2.
49
Modules
#define
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L3 49
NVLink Replay Error Counter for Lane 3.
#define
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L4 50
NVLink Replay Error Counter for Lane 4.
#define
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L5 51
NVLink Replay Error Counter for Lane 5.
#define
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_TOTAL 52
NVLink Replay Error Counter total for all Lanes.
#define
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L0 53
NVLink Recovery Error Counter for Lane 0.
NVLink Recovery Error Counters
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
#define
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L1 54
NVLink Recovery Error Counter for Lane 1.
#define
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L2 55
NVLink Recovery Error Counter for Lane 2.
#define
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L3 56
NVLink Recovery Error Counter for Lane 3.
50
Modules
#define
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L4 57
NVLink Recovery Error Counter for Lane 4.
#define
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L5 58
NVLink Recovery Error Counter for Lane 5.
#define
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_TOTAL
59
NVLink Recovery Error Counter total for all Lanes.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L0 60
NVLink Bandwidth Counter for Counter Set 0, Lane 0.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L1 61
NVLink Bandwidth Counter for Counter Set 0, Lane 1.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L2 62
NVLink Bandwidth Counter for Counter Set 0, Lane 2.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L3 63
NVLink Bandwidth Counter for Counter Set 0, Lane 3.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L4 64
NVLink Bandwidth Counter for Counter Set 0, Lane 4.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L5 65
NVLink Bandwidth Counter for Counter Set 0, Lane 5.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C0_TOTAL
66
NVLink Bandwidth Counter Total for Counter Set 0, All Lanes.
51
Modules
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L0 67
NVLink Bandwidth Counter for Counter Set 1, Lane 0.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L1 68
NVLink Bandwidth Counter for Counter Set 1, Lane 1.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L2 69
NVLink Bandwidth Counter for Counter Set 1, Lane 2.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L3 70
NVLink Bandwidth Counter for Counter Set 1, Lane 3.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L4 71
NVLink Bandwidth Counter for Counter Set 1, Lane 4.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L5 72
NVLink Bandwidth Counter for Counter Set 1, Lane 5.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C1_TOTAL
73
NVLink Bandwidth Counter Total for Counter Set 1, All Lanes.
#define NVML_FI_DEV_PERF_POLICY_POWER 74
Perf Policy Counter for Power Policy.
#define NVML_FI_DEV_PERF_POLICY_THERMAL 75
Perf Policy Counter for Thermal Policy.
#define NVML_FI_DEV_PERF_POLICY_SYNC_BOOST 76
Perf Policy Counter for Sync boost Policy.
#define NVML_FI_DEV_PERF_POLICY_BOARD_LIMIT 77
Perf Policy Counter for Board Limit.
52
Modules
#define NVML_FI_DEV_PERF_POLICY_LOW_UTILIZATION
78
Perf Policy Counter for Low GPU Utilization Policy.
#define NVML_FI_DEV_PERF_POLICY_RELIABILITY 79
Perf Policy Counter for Reliability Policy.
#define
NVML_FI_DEV_PERF_POLICY_TOTAL_APP_CLOCKS 80
Perf Policy Counter for Total App Clock Policy.
#define
NVML_FI_DEV_PERF_POLICY_TOTAL_BASE_CLOCKS 81
Perf Policy Counter for Total Base Clocks Policy.
#define NVML_FI_DEV_MEMORY_TEMP 82
Memory temperature for the device.
#define NVML_FI_DEV_TOTAL_ENERGY_CONSUMPTION 83
Total energy consumption for the GPU in mJ since the driver was last reloaded.
#define NVML_FI_DEV_NVLINK_SPEED_MBPS_L0 84
NVLink Speed in MBps for Link 0.
NVLink Speed
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
#define NVML_FI_DEV_NVLINK_SPEED_MBPS_L1 85
NVLink Speed in MBps for Link 1.
#define NVML_FI_DEV_NVLINK_SPEED_MBPS_L2 86
NVLink Speed in MBps for Link 2.
#define NVML_FI_DEV_NVLINK_SPEED_MBPS_L3 87
NVLink Speed in MBps for Link 3.
53
Modules
#define NVML_FI_DEV_NVLINK_SPEED_MBPS_L4 88
NVLink Speed in MBps for Link 4.
#define NVML_FI_DEV_NVLINK_SPEED_MBPS_L5 89
NVLink Speed in MBps for Link 5.
#define NVML_FI_DEV_NVLINK_SPEED_MBPS_COMMON 90
Common NVLink Speed in MBps for active links.
#define NVML_FI_DEV_NVLINK_LINK_COUNT 91
Number of NVLinks present on the device.
#define NVML_FI_DEV_RETIRED_PENDING_SBE 92
If any pages are pending retirement due to SBE. 1=yes. 0=no.
#define NVML_FI_DEV_RETIRED_PENDING_DBE 93
If any pages are pending retirement due to DBE. 1=yes. 0=no.
#define NVML_FI_DEV_PCIE_REPLAY_COUNTER 94
PCIe replay counter.
#define
NVML_FI_DEV_PCIE_REPLAY_ROLLOVER_COUNTER 95
PCIe replay rollover counter.
#define
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L6 96
NVLink flow control CRC Error Counter for Lane 6.
NVLink Flit Error Counters
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
#define
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L7 97
NVLink flow control CRC Error Counter for Lane 7.
54
Modules
#define
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L8 98
NVLink flow control CRC Error Counter for Lane 8.
#define
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L9 99
NVLink flow control CRC Error Counter for Lane 9.
#define
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L10
100
NVLink flow control CRC Error Counter for Lane 10.
#define
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L11
101
NVLink flow control CRC Error Counter for Lane 11.
#define
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L6 102
NVLink data CRC Error Counter for Lane 6.
NVLink CRC Data Error Counters
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
#define
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L7 103
NVLink data CRC Error Counter for Lane 7.
#define
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L8 104
NVLink data CRC Error Counter for Lane 8.
55
Modules
#define
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L9 105
NVLink data CRC Error Counter for Lane 9.
#define
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L10
106
NVLink data CRC Error Counter for Lane 10.
#define
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L11
107
NVLink data CRC Error Counter for Lane 11.
#define
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L6 108
NVLink Replay Error Counter for Lane 6.
NVLink Replay Error Counters
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
#define
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L7 109
NVLink Replay Error Counter for Lane 7.
#define
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L8 110
NVLink Replay Error Counter for Lane 8.
#define
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L9 111
NVLink Replay Error Counter for Lane 9.
56
Modules
#define
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L10 112
NVLink Replay Error Counter for Lane 10.
#define
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L11 113
NVLink Replay Error Counter for Lane 11.
#define
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L6
114
NVLink Recovery Error Counter for Lane 6.
NVLink Recovery Error Counters
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
#define
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L7
115
NVLink Recovery Error Counter for Lane 7.
#define
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L8
116
NVLink Recovery Error Counter for Lane 8.
#define
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L9
117
NVLink Recovery Error Counter for Lane 9.
57
Modules
#define
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L10
118
NVLink Recovery Error Counter for Lane 10.
#define
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L11
119
NVLink Recovery Error Counter for Lane 11.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L6 120
NVLink Bandwidth Counter for Counter Set 0, Lane 6.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L7 121
NVLink Bandwidth Counter for Counter Set 0, Lane 7.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L8 122
NVLink Bandwidth Counter for Counter Set 0, Lane 8.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L9 123
NVLink Bandwidth Counter for Counter Set 0, Lane 9.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L10 124
NVLink Bandwidth Counter for Counter Set 0, Lane 10.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L11 125
NVLink Bandwidth Counter for Counter Set 0, Lane 11.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L6 126
NVLink Bandwidth Counter for Counter Set 1, Lane 6.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L7 127
NVLink Bandwidth Counter for Counter Set 1, Lane 7.
58
Modules
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L8 128
NVLink Bandwidth Counter for Counter Set 1, Lane 8.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L9 129
NVLink Bandwidth Counter for Counter Set 1, Lane 9.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L10 130
NVLink Bandwidth Counter for Counter Set 1, Lane 10.
#define NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L11 131
NVLink Bandwidth Counter for Counter Set 1, Lane 11.
#define NVML_FI_DEV_NVLINK_SPEED_MBPS_L6 132
NVLink Speed in MBps for Link 6.
NVLink Speed
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
#define NVML_FI_DEV_NVLINK_SPEED_MBPS_L7 133
NVLink Speed in MBps for Link 7.
#define NVML_FI_DEV_NVLINK_SPEED_MBPS_L8 134
NVLink Speed in MBps for Link 8.
#define NVML_FI_DEV_NVLINK_SPEED_MBPS_L9 135
NVLink Speed in MBps for Link 9.
#define NVML_FI_DEV_NVLINK_SPEED_MBPS_L10 136
NVLink Speed in MBps for Link 10.
#define NVML_FI_DEV_NVLINK_SPEED_MBPS_L11 137
NVLink Speed in MBps for Link 11.
59
Modules
#define NVML_FI_DEV_NVLINK_THROUGHPUT_DATA_TX
138
NVLink TX Data throughput in KiB.
NVLink throughput counters field values
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t. A scopeId of
UINT_MAX returns aggregate value summed up across all links for the specified
counter type in fieldId.
#define NVML_FI_DEV_NVLINK_THROUGHPUT_DATA_RX
139
NVLink RX Data throughput in KiB.
#define NVML_FI_DEV_NVLINK_THROUGHPUT_RAW_TX
140
NVLink TX Data + protocol overhead in KiB.
#define NVML_FI_DEV_NVLINK_THROUGHPUT_RAW_RX
141
NVLink RX Data + protocol overhead in KiB.
#define NVML_FI_DEV_REMAPPED_COR 142
Number of remapped rows due to correctable errors.
#define NVML_FI_DEV_REMAPPED_UNC 143
Number of remapped rows due to uncorrectable errors.
#define NVML_FI_DEV_REMAPPED_PENDING 144
If any rows are pending remapping. 1=yes 0=no.
#define NVML_FI_DEV_REMAPPED_FAILURE 145
If any rows failed to be remapped 1=yes 0=no.
60
Modules
#define NVML_FI_DEV_NVLINK_REMOTE_NVLINK_ID 146
Remote device NVLink ID.
Remote device NVLink ID
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
#define
NVML_FI_DEV_NVSWITCH_CONNECTED_LINK_COUNT 147
Number of NVLinks connected to NVSwitch.
NVSwitch: connected NVLink count
#define
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L0 148
NVLink data ECC Error Counter for Link 0.
#define
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L1 149
NVLink data ECC Error Counter for Link 1.
#define
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L2 150
NVLink data ECC Error Counter for Link 2.
#define
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L3 151
NVLink data ECC Error Counter for Link 3.
#define
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L4 152
NVLink data ECC Error Counter for Link 4.
#define
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L5 153
NVLink data ECC Error Counter for Link 5.
61
Modules
#define
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L6 154
NVLink data ECC Error Counter for Link 6.
#define
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L7 155
NVLink data ECC Error Counter for Link 7.
#define
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L8 156
NVLink data ECC Error Counter for Link 8.
#define
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L9 157
NVLink data ECC Error Counter for Link 9.
#define
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L10
158
NVLink data ECC Error Counter for Link 10.
#define
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L11
159
NVLink data ECC Error Counter for Link 11.
#define
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_TOTAL
160
NVLink data ECC Error Counter total for all Links.
#define NVML_FI_DEV_NVLINK_ERROR_DL_REPLAY 161
NVLink Error Replay
62
Modules
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
NVLink Replay Error Counter This is unsupported for Blackwell+. Please use
NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_*
#define NVML_FI_DEV_NVLINK_ERROR_DL_RECOVERY
162
NVLink Recovery Error Counter
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t. NVLink
Recovery Error Counter This is unsupported for Blackwell+ Please use
NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_*
#define NVML_FI_DEV_NVLINK_ERROR_DL_CRC 163
NVLink Recovery Error CRC Counter
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
NVLink CRC Error Counter This is unsupported for Blackwell+ Please use
NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_*
#define NVML_FI_DEV_NVLINK_GET_SPEED 164
NVLink Speed in MBps.
NVLink Speed, State and Version field id 164, 165, and 166
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
#define NVML_FI_DEV_NVLINK_GET_STATE 165
NVLink State - Active,Inactive.
#define NVML_FI_DEV_NVLINK_GET_VERSION 166
NVLink Version.
#define NVML_FI_DEV_NVLINK_GET_POWER_STATE 167
NVLink Power state. 0=HIGH_SPEED 1=LOW_SPEED.
#define NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD
168
NVLink length of idle period (units can be found from
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_UNITS) before transitioning
links to sleep state
63
Modules
#define NVML_FI_DEV_PCIE_L0_TO_RECOVERY_COUNTER
169
Device PEX error recovery counter.
#define NVML_FI_DEV_C2C_LINK_COUNT 170
Number of C2C Links present on the device.
#define NVML_FI_DEV_C2C_LINK_GET_STATUS 171
C2C Link Status 0=INACTIVE 1=ACTIVE.
#define NVML_FI_DEV_C2C_LINK_GET_MAX_BW 172
C2C Link Speed in MBps for active links.
#define
NVML_FI_DEV_PCIE_COUNT_CORRECTABLE_ERRORS 173
PCIe Correctable Errors Counter.
#define NVML_FI_DEV_PCIE_COUNT_NAKS_RECEIVED 174
PCIe NAK Receive Counter.
#define NVML_FI_DEV_PCIE_COUNT_RECEIVER_ERROR
175
PCIe Receiver Error Counter.
#define NVML_FI_DEV_PCIE_COUNT_BAD_TLP 176
PCIe Bad TLP Counter.
#define NVML_FI_DEV_PCIE_COUNT_NAKS_SENT 177
PCIe NAK Send Counter.
#define NVML_FI_DEV_PCIE_COUNT_BAD_DLLP 178
PCIe Bad DLLP Counter.
64
Modules
#define NVML_FI_DEV_PCIE_COUNT_NON_FATAL_ERROR
179
PCIe Non Fatal Error Counter.
#define NVML_FI_DEV_PCIE_COUNT_FATAL_ERROR 180
PCIe Fatal Error Counter.
#define NVML_FI_DEV_PCIE_COUNT_UNSUPPORTED_REQ
181
PCIe Unsupported Request Counter.
#define NVML_FI_DEV_PCIE_COUNT_LCRC_ERROR 182
PCIe LCRC Error Counter.
#define NVML_FI_DEV_PCIE_COUNT_LANE_ERROR 183
PCIe Per Lane Error Counter.
#define NVML_FI_DEV_IS_RESETLESS_MIG_SUPPORTED
184
Device's Restless MIG Capability.
#define NVML_FI_DEV_POWER_AVERAGE 185
GPU power averaged over 1 sec interval, supported on Ampere (except GA100) or
newer architectures.
Retrieves power usage for this GPU in milliwatts. It is only available if power
management mode is supported. See nvmlDeviceGetPowerManagementMode and
nvmlDeviceGetPowerUsage.
scopeId needs to be specified. It signifies: 0 - GPU Only Scope - Metrics for GPU are
retrieved 1 - Module scope - Metrics for the module (e.g. CPU + GPU) are retrieved.
Note: CPU here refers to NVIDIA CPU (e.g. Grace). x86 or non-NVIDIA ARM is not
supported
#define NVML_FI_DEV_POWER_INSTANT 186
Current GPU power, supported on all architectures.
65
Modules
#define NVML_FI_DEV_POWER_MIN_LIMIT 187
Minimum power limit in milliwatts.
#define NVML_FI_DEV_POWER_MAX_LIMIT 188
Maximum power limit in milliwatts.
#define NVML_FI_DEV_POWER_DEFAULT_LIMIT 189
Default power limit in milliwatts (limit which device boots with).
#define NVML_FI_DEV_POWER_CURRENT_LIMIT 190
Limit currently enforced in milliwatts (This includes other limits set elsewhere. E.g. Out-
of-band).
#define NVML_FI_DEV_ENERGY 191
Total energy consumption (in mJ) since the driver was last reloaded. Same as
NVML_FI_DEV_TOTAL_ENERGY_CONSUMPTION for the GPU.
#define NVML_FI_DEV_POWER_REQUESTED_LIMIT 192
Power limit requested by NVML or any other userspace client.
#define
NVML_FI_DEV_TEMPERATURE_SHUTDOWN_TLIMIT 193
T.Limit temperature after which GPU may shut down for HW protection.
GPU T.Limit temperature thresholds in degree Celsius
These fields are supported on Ada and later architectures and supersedes
nvmlDeviceGetTemperatureThreshold.
#define
NVML_FI_DEV_TEMPERATURE_SLOWDOWN_TLIMIT 194
T.Limit temperature after which GPU may begin HW slowdown.
#define NVML_FI_DEV_TEMPERATURE_MEM_MAX_TLIMIT
195
T.Limit temperature after which GPU may begin SW slowdown due to memory
temperature.
66
Modules
#define NVML_FI_DEV_TEMPERATURE_GPU_MAX_TLIMIT
196
T.Limit temperature after which GPU may be throttled below base clock.
#define NVML_FI_DEV_PCIE_COUNT_TX_BYTES 197
PCIe transmit bytes. Value can be wrapped.
#define NVML_FI_DEV_PCIE_COUNT_RX_BYTES 198
PCIe receive bytes. Value can be wrapped.
#define
NVML_FI_DEV_IS_MIG_MODE_INDEPENDENT_MIG_QUERY_CAPABLE
199
MIG mode independent, MIG query capable device. 1=yes. 0=no.
#define
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MAX
200
Max Nvlink Power Threshold. See
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD.
#define NVML_FI_DEV_NVLINK_COUNT_XMIT_PACKETS
201
Total Tx packets on the link in NVLink5.
NVLink counter field id 201-225
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
#define NVML_FI_DEV_NVLINK_COUNT_XMIT_BYTES 202
Total Tx bytes on the link in NVLink5.
#define NVML_FI_DEV_NVLINK_COUNT_RCV_PACKETS
203
Total Rx packets on the link in NVLink5.
67
Modules
#define NVML_FI_DEV_NVLINK_COUNT_RCV_BYTES 204
Total Rx bytes on the link in NVLink5.
#define NVML_FI_DEV_NVLINK_COUNT_VL15_DROPPED
205
Deprecated, do not use.
#define
NVML_FI_DEV_NVLINK_COUNT_MALFORMED_PACKET_ERRORS
206
Number of packets Rx on a link where packets are malformed.
#define
NVML_FI_DEV_NVLINK_COUNT_BUFFER_OVERRUN_ERRORS
207
Number of packets that were discarded on Rx due to buffer overrun.
#define NVML_FI_DEV_NVLINK_COUNT_RCV_ERRORS 208
Total number of packets with errors Rx on a link.
#define
NVML_FI_DEV_NVLINK_COUNT_RCV_REMOTE_ERRORS
209
Total number of packets Rx - stomp/EBP marker.
#define
NVML_FI_DEV_NVLINK_COUNT_RCV_GENERAL_ERRORS
210
Total number of packets Rx with header mismatch.
68
Modules
#define
NVML_FI_DEV_NVLINK_COUNT_LOCAL_LINK_INTEGRITY_ERRORS
211
Total number of times that the count of local errors exceeded a threshold.
#define NVML_FI_DEV_NVLINK_COUNT_XMIT_DISCARDS
212
Total number of tx error packets that were discarded.
#define
NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_SUCCESSFUL_EVEN
213
Number of times link went from Up to recovery, succeeded and link came back up.
#define
NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_FAILED_EVENTS
214
Number of times link went from Up to recovery, failed and link was declared down.
#define
NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_EVENTS
215
Number of times link went from Up to recovery, irrespective of the result.
#define NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE0
216
Deprecated, do not use.
#define NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE1
217
Deprecated, do not use.
69
Modules
#define NVML_FI_DEV_NVLINK_COUNT_RAW_BER 218
Deprecated, do not use.
#define
NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_ERRORS 219
Sum of the number of errors in each Nvlink packet.
#define NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_BER
220
Effective BER for effective errors.
NVLink Effective BER
Bit [0:7]: BER Exponent value Bit [8:11]: BER MANTISSA value Use macro
NVML_NVLINK_ERROR_COUNTER_BER_GET to extract the two fields
#define NVML_FI_DEV_NVLINK_COUNT_SYMBOL_ERRORS
221
Number of errors in rx symbols.
#define NVML_FI_DEV_NVLINK_COUNT_SYMBOL_BER 222
BER for symbol errors.
NVLink Symbol BER
Bit [0:7]: BER Exponent value Bit [8:11]: BER MANTISSA value Use macro
NVML_NVLINK_ERROR_COUNTER_BER_GET to extract the two fields
#define
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MIN
223
Min Nvlink Power Threshold. See
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD.
#define
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_UNITS
224
Values are in the form NVML_NVLINK_LOW_POWER_THRESHOLD_UNIT_*.
70
Modules
#define
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_SUPPORTED
225
Determine if Nvlink Power Threshold feature is supported.
#define NVML_FI_DEV_RESET_STATUS 226
Depracated, do not use (use NVML_FI_DEV_GET_GPU_RECOVERY_ACTION
instead).
#define NVML_FI_DEV_DRAIN_AND_RESET_STATUS 227
Deprecated, do not use (use NVML_FI_DEV_GET_GPU_RECOVERY_ACTION
instead).
#define NVML_FI_DEV_GET_GPU_RECOVERY_ACTION 230
GPU Recovery action - None/Reset/Reboot/Drain P2P/Drain and Reset.
#define NVML_FI_DEV_C2C_LINK_ERROR_INTR 231
C2C Link CRC Error Counter.
#define NVML_FI_DEV_C2C_LINK_ERROR_REPLAY 232
C2C Link Replay Error Counter.
#define NVML_FI_DEV_C2C_LINK_ERROR_REPLAY_B2B
233
C2C Link Back to Back Replay Error Counter.
#define NVML_FI_DEV_C2C_LINK_POWER_STATE 234
C2C Link Power state. See NVML_C2C_POWER_STATE_*.
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_0
235
Count of symbol errors that are corrected - bin 0.
NVLink counter field id 235-250
Link ID needs to be specified in the scopeId field in nvmlFieldValue_t.
71
Modules
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_1
236
Count of symbol errors that are corrected - bin 1.
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_2
237
Count of symbol errors that are corrected - bin 2.
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_3
238
Count of symbol errors that are corrected - bin 3.
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_4
239
Count of symbol errors that are corrected - bin 4.
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_5
240
Count of symbol errors that are corrected - bin 5.
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_6
241
Count of symbol errors that are corrected - bin 6.
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_7
242
Count of symbol errors that are corrected - bin 7.
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_8
243
Count of symbol errors that are corrected - bin 8.
72
Modules
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_9
244
Count of symbol errors that are corrected - bin 9.
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_10
245
Count of symbol errors that are corrected - bin 10.
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_11
246
Count of symbol errors that are corrected - bin 11.
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_12
247
Count of symbol errors that are corrected - bin 12.
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_13
248
Count of symbol errors that are corrected - bin 13.
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_14
249
Count of symbol errors that are corrected - bin 14.
#define NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_15
250
Count of symbol errors that are corrected - bin 15.
#define
NVML_FI_DEV_CLOCKS_EVENT_REASON_SW_POWER_CAP
NVML_FI_DEV_PERF_POLICY_POWER
Throttling to not exceed currently set power limits in ns.
Field values for Clock Throttle Reason Counters All counters are in nanoseconds
73
Modules
#define
NVML_FI_DEV_CLOCKS_EVENT_REASON_SYNC_BOOST
NVML_FI_DEV_PERF_POLICY_SYNC_BOOST
Throttling to match minimum possible clock across Sync Boost Group in ns.
#define
NVML_FI_DEV_CLOCKS_EVENT_REASON_SW_THERM_SLOWDOWN
251
Throttling to ensure ((GPU temp < GPU Max Operating Temp) && (Memory Temp <
Memory Max Operating Temp)) in ns.
#define
NVML_FI_DEV_CLOCKS_EVENT_REASON_HW_THERM_SLOWDOWN
252
Throttling due to temperature being too high (reducing core clocks by a factor of 2 or
more) in ns.
#define
NVML_FI_DEV_CLOCKS_EVENT_REASON_HW_POWER_BRAKE_SLOW
253
Throttling due to external power brake assertion trigger (reducing core clocks by a factor
of 2 or more) in ns.
#define NVML_FI_DEV_POWER_SYNC_BALANCING_FREQ
254
Accumulated frequency of the GPU to be used for averaging.
#define NVML_FI_DEV_POWER_SYNC_BALANCING_AF 255
Accumulated activity factor of the GPU to be used for averaging.
#define NVML_FI_PWR_SMOOTHING_ENABLED 256
Enablement (0/DISABLED or 1/ENABLED).
74
Modules
#define NVML_FI_PWR_SMOOTHING_PRIV_LVL 257
Current privilege level.
#define
NVML_FI_PWR_SMOOTHING_IMM_RAMP_DOWN_ENABLED
258
Immediate ramp down enablement (0/DISABLED or 1/ENABLED).
#define NVML_FI_PWR_SMOOTHING_APPLIED_TMP_CEIL
259
Applied TMP ceiling value in Watts.
#define
NVML_FI_PWR_SMOOTHING_APPLIED_TMP_FLOOR 260
Applied TMP floor value in Watts.
#define
NVML_FI_PWR_SMOOTHING_MAX_PERCENT_TMP_FLOOR_SETTING
261
Max % TMP Floor value.
#define
NVML_FI_PWR_SMOOTHING_MIN_PERCENT_TMP_FLOOR_SETTING
262
Min % TMP Floor value.
#define
NVML_FI_PWR_SMOOTHING_HW_CIRCUITRY_PERCENT_LIFETIME_R
263
HW Circuitry % lifetime remaining.
75
Modules
#define
NVML_FI_PWR_SMOOTHING_MAX_NUM_PRESET_PROFILES
264
Max number of preset profiles.
#define
NVML_FI_PWR_SMOOTHING_PROFILE_PERCENT_TMP_FLOOR
265
% TMP floor for a given profile
#define
NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_UP_RATE
266
Ramp up rate in mW/s for a given profile.
#define
NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_DOWN_RATE
267
Ramp down rate in mW/s for a given profile.
#define
NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_DOWN_HYST_VAL
268
Ramp down hysteresis value in ms for a given profile.
#define
NVML_FI_PWR_SMOOTHING_ACTIVE_PRESET_PROFILE
269
Active preset profile number.
76
Modules
#define
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_PERCENT_TMP_FLO
270
% TMP floor for a given profile
#define
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_UP_RATE
271
Ramp up rate in mW/s for a given profile.
#define
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_DOWN_RATE
272
Ramp down rate in mW/s for a given profile.
#define
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_DOWN_HYST
273
Ramp down hysteresis value in ms for a given profile.
#define NVML_FI_MAX 274
One greater than the largest field ID defined above.
#define
NVML_NVLINK_LOW_POWER_THRESHOLD_UNIT_100US
0x0
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_UNITS
#define NVML_NVLINK_POWER_STATE_HIGH_SPEED 0x0
NVML_NVLINK_POWER_STATES
4.4. Unit Structs
77
Modules
struct nvmlHwbcEntry_t
struct nvmlLedState_t
struct nvmlUnitInfo_t
struct nvmlPSUInfo_t
struct nvmlUnitFanInfo_t
struct nvmlUnitFanSpeeds_t
enum nvmlFanState_t
Fan state enum.
Values
NVML_FAN_NORMAL = 0
Fan is working properly.
NVML_FAN_FAILED = 1
Fan has failed.
enum nvmlLedColor_t
Led color enum.
Values
NVML_LED_COLOR_GREEN = 0
GREEN, indicates good health.
NVML_LED_COLOR_AMBER = 1
AMBER, indicates problem.
4.5. Accounting Statistics
Set of APIs designed to provide per process information about usage of GPU.
All accounting statistics and accounting mode live in nvidia driver and reset to
default (Disabled) when driver unloads. It is advised to run with persistence mode
enabled.
78
Modules
Enabling accounting mode has no negative impact on the GPU performance.
struct nvmlAccountingStats_t
NVLink
nvmlReturn_t nvmlDeviceGetAccountingMode
(nvmlDevice_t device, nvmlEnableState_t *mode)
Parameters
device
The identifier of the target device
mode
Reference in which to return the current accounting mode
Returns
NVML_SUCCESS if the mode has been successfully retrieved
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if device is invalid or mode are NULL
NVML_ERROR_NOT_SUPPORTED if the device doesn't support this feature
NVML_ERROR_UNKNOWN on any unexpected error
Description
Queries the state of per process accounting mode.
For Kepler or newer fully supported devices.
See nvmlDeviceGetAccountingStats for more details. See
nvmlDeviceSetAccountingMode
nvmlReturn_t nvmlDeviceGetAccountingStats
(nvmlDevice_t device, unsigned int pid,
nvmlAccountingStats_t *stats)
Parameters
device
The identifier of the target device
pid
Process Id of the target process to query stats for
79
Modules
stats
Reference in which to return the process's accounting stats
Returns
NVML_SUCCESS if stats have been successfully retrieved
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if device is invalid or stats are NULL
NVML_ERROR_NOT_FOUND if process stats were not found
NVML_ERROR_NOT_SUPPORTED if device doesn't support this feature or
accounting mode is disabled or on vGPU host.
NVML_ERROR_UNKNOWN on any unexpected error
Description
Queries process's accounting stats.
For Kepler or newer fully supported devices.
Accounting stats capture GPU utilization and other statistics across the lifetime of a
process. Accounting stats can be queried during life time of the process and after its
termination. The time field in nvmlAccountingStats_t is reported as 0 during the lifetime
of the process and updated to actual running time after its termination. Accounting stats
are kept in a circular buffer, newly created processes overwrite information about old
processes.
See nvmlAccountingStats_t for description of each returned metric. List of processes that
can be queried can be retrieved from nvmlDeviceGetAccountingPids.
Accounting Mode needs to be on. See nvmlDeviceGetAccountingMode.
Only compute and graphics applications stats can be queried. Monitoring
applications stats can't be queried since they don't contribute to GPU utilization.
In case of pid collision stats of only the latest process (that terminated last) will
be reported
See also:
nvmlDeviceGetAccountingBufferSize
80
Modules
nvmlReturn_t nvmlDeviceGetAccountingPids
(nvmlDevice_t device, unsigned int *count, unsigned int
*pids)
Parameters
device
The identifier of the target device
count
Reference in which to provide the pids array size, and to return the number of
elements ready to be queried
pids
Reference in which to return list of process ids
Returns
NVML_SUCCESS if pids were successfully retrieved
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if device is invalid or count is NULL
NVML_ERROR_NOT_SUPPORTED if device doesn't support this feature or
accounting mode is disabled or on vGPU host.
NVML_ERROR_INSUFFICIENT_SIZE if count is too small (count is set to expected
value)
NVML_ERROR_UNKNOWN on any unexpected error
Description
Queries list of processes that can be queried for accounting stats. The list of processes
returned can be in running or terminated state.
For Kepler or newer fully supported devices.
To query the number of processes under Accounting Mode, call this
function with *count = 0 and pids=NULL. The return code will be
NVML_ERROR_INSUFFICIENT_SIZE with an updated count value indicating the
number of processes.
For more details see nvmlDeviceGetAccountingStats.
In case of PID collision some processes might not be accessible before the circular
buffer is full.
See also:
81
Modules
nvmlDeviceGetAccountingBufferSize
nvmlReturn_t nvmlDeviceGetAccountingBufferSize
(nvmlDevice_t device, unsigned int *bufferSize)
Parameters
device
The identifier of the target device
bufferSize
Reference in which to provide the size (in number of elements) of the circular buffer
for accounting stats.
Returns
NVML_SUCCESS if buffer size was successfully retrieved
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if device is invalid or bufferSize is NULL
NVML_ERROR_NOT_SUPPORTED if the device doesn't support this feature or
accounting mode is disabled
NVML_ERROR_UNKNOWN on any unexpected error
Description
Returns the number of processes that the circular buffer with accounting pids can hold.
For Kepler or newer fully supported devices.
This is the maximum number of processes that accounting information will be stored
for before information about oldest processes will get overwritten by information about
new processes.
See also:
nvmlDeviceGetAccountingStats
nvmlDeviceGetAccountingPids
nvmlReturn_t nvmlDeviceSetAccountingMode
(nvmlDevice_t device, nvmlEnableState_t mode)
Parameters
device
The identifier of the target device
82
Modules
mode
The target accounting mode
Returns
NVML_SUCCESS if the new mode has been set
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if device or mode are invalid
NVML_ERROR_NOT_SUPPORTED if the device doesn't support this feature
NVML_ERROR_NO_PERMISSION if the user doesn't have permission to perform
this operation
NVML_ERROR_UNKNOWN on any unexpected error
Description
Enables or disables per process accounting.
For Kepler or newer fully supported devices. Requires root/admin permissions.
This setting is not persistent and will default to disabled after driver unloads.
Enable persistence mode to be sure the setting doesn't switch off to disabled.
Enabling accounting mode has no negative impact on the GPU performance.
Disabling accounting clears all accounting pids information.
On MIG-enabled GPUs, accounting mode would be set to DISABLED and changing it
is not supported.
See nvmlDeviceGetAccountingMode See nvmlDeviceGetAccountingStats See
nvmlDeviceClearAccountingPids
nvmlReturn_t nvmlDeviceClearAccountingPids
(nvmlDevice_t device)
Parameters
device
The identifier of the target device
Returns
NVML_SUCCESS if accounting information has been cleared
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if device are invalid
NVML_ERROR_NOT_SUPPORTED if the device doesn't support this feature
83
Modules
NVML_ERROR_NO_PERMISSION if the user doesn't have permission to perform
this operation
NVML_ERROR_UNKNOWN on any unexpected error
Description
Clears accounting information about all processes that have already terminated.
For Kepler or newer fully supported devices. Requires root/admin permissions.
See nvmlDeviceGetAccountingMode See nvmlDeviceGetAccountingStats See
nvmlDeviceSetAccountingMode
nvmlReturn_t nvmlDeviceSetPowerManagementLimit_v2
(nvmlDevice_t device, nvmlPowerValue_v2_t
*powerValue)
Parameters
device
The identifier of the target device
powerValue
Power management limit in milliwatts to set
Returns
NVML_SUCCESS if limit has been set
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if device is invalid or powerValue is NULL
or contains invalid values
NVML_ERROR_NOT_SUPPORTED if the device does not support this feature
NVML_ERROR_GPU_IS_LOST if the target GPU has fallen off the bus or is
otherwise inaccessible
NVML_ERROR_UNKNOWN on any unexpected error
Description
Set new power limit of this device.
For Kepler or newer fully supported devices. Requires root/admin permissions.
See nvmlDeviceGetPowerManagementLimitConstraints to check the allowed ranges of
values.
See nvmlPowerValue_v2_t for more information on the struct.
84
Modules
Limit is not persistent across reboots or driver unloads. Enable persistent mode to
prevent driver from unloading when no application is using the device.
This API replaces nvmlDeviceSetPowerManagementLimit. It can be used as a drop-in
replacement for the older version.
See also:
NVML_FI_DEV_POWER_AVERAGE
NVML_FI_DEV_POWER_INSTANT
NVML_FI_DEV_POWER_MIN_LIMIT
NVML_FI_DEV_POWER_MAX_LIMIT
NVML_FI_DEV_POWER_CURRENT_LIMIT
4.5.1. vGPU Migration
This chapter describes operations that are associated with vGPU Migration.
struct nvmlVgpuVersion_t
struct nvmlVgpuMetadata_t
struct nvmlVgpuPgpuMetadata_t
struct nvmlVgpuPgpuCompatibility_t
enum nvmlVgpuVmCompatibility_t
vGPU VM compatibility codes
Values
NVML_VGPU_VM_COMPATIBILITY_NONE = 0x0
vGPU is not runnable
NVML_VGPU_VM_COMPATIBILITY_COLD = 0x1
vGPU is runnable from a cold / powered-off state (ACPI S5)
NVML_VGPU_VM_COMPATIBILITY_HIBERNATE = 0x2
vGPU is runnable from a hibernated state (ACPI S4)
NVML_VGPU_VM_COMPATIBILITY_SLEEP = 0x4
vGPU is runnable from a sleeped state (ACPI S3)
NVML_VGPU_VM_COMPATIBILITY_LIVE = 0x8
vGPU is runnable from a live/paused (ACPI S0)
85
Modules
enum nvmlVgpuPgpuCompatibilityLimitCode_t
vGPU-pGPU compatibility limit codes
Values
NVML_VGPU_COMPATIBILITY_LIMIT_NONE = 0x0
Compatibility is not limited.
NVML_VGPU_COMPATIBILITY_LIMIT_HOST_DRIVER = 0x1
ompatibility is limited by host driver version.
NVML_VGPU_COMPATIBILITY_LIMIT_GUEST_DRIVER = 0x2
Compatibility is limited by guest driver version.
NVML_VGPU_COMPATIBILITY_LIMIT_GPU = 0x4
Compatibility is limited by GPU hardware.
NVML_VGPU_COMPATIBILITY_LIMIT_OTHER = 0x80000000
Compatibility is limited by an undefined factor.
nvmlReturn_t nvmlVgpuInstanceGetMetadata (nvmlVgpuInstance_t
vgpuInstance, nvmlVgpuMetadata_t *vgpuMetadata, unsigned int
*bufferSize)
Parameters
vgpuInstance
vGPU instance handle
vgpuMetadata
Pointer to caller-supplied buffer into which vGPU metadata is written
bufferSize
Size of vgpuMetadata buffer
Returns
NVML_SUCCESS vGPU metadata structure was successfully returned
NVML_ERROR_INSUFFICIENT_SIZE vgpuMetadata buffer is too small, required
size is returned in bufferSize
NVML_ERROR_INVALID_ARGUMENT if bufferSize is NULL or vgpuInstance is 0;
if vgpuMetadata is NULL and the value of bufferSize is not 0.
NVML_ERROR_NOT_FOUND if vgpuInstance does not match a valid active vGPU
instance on the system
NVML_ERROR_UNKNOWN on any unexpected error
Description
Returns vGPU metadata structure for a running vGPU. The structure contains
information about the vGPU and its associated VM such as the currently installed
86
Modules
NVIDIA guest driver version, together with host driver version and an opaque data
section containing internal state.
nvmlVgpuInstanceGetMetadata() may be called at any time for a vGPU instance.
Some fields in the returned structure are dependent on information obtained from
the guest VM, which may not yet have reached a state where that information is
available. The current state of these dependent fields is reflected in the info structure's
nvmlVgpuGuestInfoState_t field.
The VMM may choose to read and save the vGPU's VM info as persistent metadata
associated with the VM, and provide it to Virtual GPU Manager when creating a vGPU
for subsequent instances of the VM.
The caller passes in a buffer via vgpuMetadata, with the size of the buffer in bufferSize.
If the vGPU Metadata structure is too large to fit in the supplied buffer, the function
returns NVML_ERROR_INSUFFICIENT_SIZE with the size needed in bufferSize.
nvmlReturn_t nvmlDeviceGetVgpuMetadata (nvmlDevice_t device,
nvmlVgpuPgpuMetadata_t *pgpuMetadata, unsigned int *bufferSize)
Parameters
device
The identifier of the target device
pgpuMetadata
Pointer to caller-supplied buffer into which pgpuMetadata is written
bufferSize
Pointer to size of pgpuMetadata buffer
Returns
NVML_SUCCESS GPU metadata structure was successfully returned
NVML_ERROR_INSUFFICIENT_SIZE pgpuMetadata buffer is too small, required
size is returned in bufferSize
NVML_ERROR_INVALID_ARGUMENT if bufferSize is NULL or device is invalid;
if pgpuMetadata is NULL and the value of bufferSize is not 0.
NVML_ERROR_NOT_SUPPORTED vGPU is not supported by the system
NVML_ERROR_UNKNOWN on any unexpected error
Description
Returns a vGPU metadata structure for the physical GPU indicated by device. The
structure contains information about the GPU and the currently installed NVIDIA host
driver version that's controlling it, together with an opaque data section containing
internal state.
87
Modules
The caller passes in a buffer via pgpuMetadata, with the size of the buffer in bufferSize.
If the pgpuMetadata structure is too large to fit in the supplied buffer, the function
returns NVML_ERROR_INSUFFICIENT_SIZE with the size needed in bufferSize.
nvmlReturn_t nvmlGetVgpuCompatibility (nvmlVgpuMetadata_t
*vgpuMetadata, nvmlVgpuPgpuMetadata_t *pgpuMetadata,
nvmlVgpuPgpuCompatibility_t *compatibilityInfo)
Parameters
vgpuMetadata
Pointer to caller-supplied vGPU metadata structure
pgpuMetadata
Pointer to caller-supplied GPU metadata structure
compatibilityInfo
Pointer to caller-supplied buffer to hold compatibility info
Returns
NVML_SUCCESS vGPU metadata structure was successfully returned
NVML_ERROR_INVALID_ARGUMENT If vgpuMetadata or pgpuMetadata or
bufferSize are NULL
NVML_ERROR_UNKNOWN On any unexpected error
Description
Takes a vGPU instance metadata structure read from nvmlVgpuInstanceGetMetadata(),
and a vGPU metadata structure for a physical GPU read from
nvmlDeviceGetVgpuMetadata(), and returns compatibility information of the vGPU
instance and the physical GPU.
The caller passes in a buffer via compatibilityInfo, into which a compatibility
information structure is written. The structure defines the states in which the vGPU /
VM may be booted on the physical GPU. If the vGPU / VM compatibility with the
physical GPU is limited, a limit code indicates the factor limiting compatability. (see
nvmlVgpuPgpuCompatibilityLimitCode_t for details).
Note: vGPU compatibility does not take into account dynamic capacity conditions that
may limit a system's ability to boot a given vGPU or associated VM.
88
Modules
nvmlReturn_t nvmlDeviceGetPgpuMetadataString (nvmlDevice_t
device, char *pgpuMetadata, unsigned int *bufferSize)
Parameters
device
The identifier of the target device
pgpuMetadata
Pointer to caller-supplied buffer into which pgpuMetadata is written
bufferSize
Pointer to size of pgpuMetadata buffer
Returns
NVML_SUCCESS GPU metadata structure was successfully returned
NVML_ERROR_INSUFFICIENT_SIZE pgpuMetadata buffer is too small, required
size is returned in bufferSize
NVML_ERROR_INVALID_ARGUMENT If bufferSize is NULL or device is invalid;
if pgpuMetadata is NULL and the value of bufferSize is not 0.
NVML_ERROR_NOT_SUPPORTED If vGPU is not supported by the system
NVML_ERROR_UNKNOWN On any unexpected error
Description
Returns the properties of the physical GPU indicated by the device in an ascii-encoded
string format.
The caller passes in a buffer via pgpuMetadata, with the size of the buffer in
bufferSize. If the string is too large to fit in the supplied buffer, the function returns
NVML_ERROR_INSUFFICIENT_SIZE with the size needed in bufferSize.
nvmlReturn_t nvmlDeviceGetVgpuSchedulerLog (nvmlDevice_t
device, nvmlVgpuSchedulerLog_t *pSchedulerLog)
Parameters
device
The identifier of the target device
pSchedulerLog
Reference in which pSchedulerLog is written
Returns
NVML_SUCCESS vGPU scheduler logs were successfully obtained
89
Modules
NVML_ERROR_INVALID_ARGUMENT If pSchedulerLog is NULL or device is
invalid
NVML_ERROR_NOT_SUPPORTED If MIG is enabled or device not in vGPU host
mode
NVML_ERROR_UNKNOWN On any unexpected error
Description
Returns the vGPU Software scheduler logs. pSchedulerLog points to a caller-allocated
structure to contain the logs. The number of elements returned will never exceed
NVML_SCHEDULER_SW_MAX_LOG_ENTRIES.
To get the entire logs, call the function atleast 5 times a second.
For Pascal or newer fully supported devices.
nvmlReturn_t nvmlDeviceGetVgpuSchedulerState (nvmlDevice_t
device, nvmlVgpuSchedulerGetState_t *pSchedulerState)
Parameters
device
The identifier of the target device
pSchedulerState
Reference in which pSchedulerState is returned
Returns
NVML_SUCCESS vGPU scheduler state is successfully obtained
NVML_ERROR_INVALID_ARGUMENT If pSchedulerState is NULL or device is
invalid
NVML_ERROR_NOT_SUPPORTED If MIG is enabled or device not in vGPU host
mode
NVML_ERROR_UNKNOWN On any unexpected error
Description
Returns the vGPU scheduler state. The information returned in
nvmlVgpuSchedulerGetState_t is not relevant if the BEST EFFORT policy is set.
For Pascal or newer fully supported devices.
90
Modules
nvmlReturn_t nvmlDeviceGetVgpuSchedulerCapabilities
(nvmlDevice_t device, nvmlVgpuSchedulerCapabilities_t
*pCapabilities)
Parameters
device
The identifier of the target device
pCapabilities
Reference in which pCapabilities is written
Returns
NVML_SUCCESS vGPU scheduler capabilities were successfully obtained
NVML_ERROR_INVALID_ARGUMENT If pCapabilities is NULL or device is
invalid
NVML_ERROR_NOT_SUPPORTED The API is not supported in current state or
device not in vGPU host mode
NVML_ERROR_UNKNOWN On any unexpected error
Description
Returns the vGPU scheduler capabilities. The list of supported vGPU
schedulers returned in nvmlVgpuSchedulerCapabilities_t is from the
NVML_VGPU_SCHEDULER_POLICY_*. This list enumerates the supported
scheduler policies if the engine is Graphics type. The other values in
nvmlVgpuSchedulerCapabilities_t are also applicable if the engine is Graphics type.
For other engine types, it is BEST EFFORT policy. If ARR is supported and enabled,
scheduling frequency and averaging factor are applicable else timeSlice is applicable.
For Pascal or newer fully supported devices.
nvmlReturn_t nvmlDeviceSetVgpuSchedulerState (nvmlDevice_t
device, nvmlVgpuSchedulerSetState_t *pSchedulerState)
Parameters
device
The identifier of the target device
pSchedulerState
vGPU pSchedulerState to set
91
Modules
Returns
NVML_SUCCESS vGPU scheduler state has been successfully set
NVML_ERROR_INVALID_ARGUMENT If pSchedulerState is NULL or device is
invalid
NVML_ERROR_RESET_REQUIRED If setting pSchedulerState failed with fatal
error, reboot is required to overcome from this error.
NVML_ERROR_NOT_SUPPORTED If MIG is enabled or device not in vGPU host
mode or if any vGPU instance currently exists on the device
NVML_ERROR_UNKNOWN On any unexpected error
Description
Sets the vGPU scheduler state.
For Pascal or newer fully supported devices.
The scheduler state change won't persist across module load/unload. Scheduler
state and params will be allowed to set only when no VM is running. In
nvmlVgpuSchedulerSetState_t, IFF enableARRMode is enabled then provide
avgFactorForARR and frequency as input. If enableARRMode is disabled then provide
timeslice as input.
nvmlReturn_t nvmlGetVgpuVersion (nvmlVgpuVersion_t *supported,
nvmlVgpuVersion_t *current)
Parameters
supported
Pointer to the structure in which the preset range of vGPU versions supported by the
NVIDIA vGPU Manager is written
current
Pointer to the structure in which the range of supported vGPU versions set by an
administrator is written
Returns
NVML_SUCCESS The vGPU version range structures were successfully obtained.
NVML_ERROR_NOT_SUPPORTED The API is not supported.
NVML_ERROR_INVALID_ARGUMENT The supported parameter or the current
parameter is NULL.
NVML_ERROR_UNKNOWN An error occurred while the data was being fetched.
Description
Query the ranges of supported vGPU versions.
92
Modules
This function gets the linear range of supported vGPU versions that is preset for the
NVIDIA vGPU Manager and the range set by an administrator. If the preset range has
not been overridden by nvmlSetVgpuVersion, both ranges are the same.
The caller passes pointers to the following nvmlVgpuVersion_t structures, into which
the NVIDIA vGPU Manager writes the ranges: 1. supported structure that represents
the preset range of vGPU versions supported by the NVIDIA vGPU Manager. 2. current
structure that represents the range of supported vGPU versions set by an administrator.
By default, this range is the same as the preset range.
nvmlReturn_t nvmlSetVgpuVersion (nvmlVgpuVersion_t
*vgpuVersion)
Parameters
vgpuVersion
Pointer to a caller-supplied range of supported vGPU versions.
Returns
NVML_SUCCESS The preset range of supported vGPU versions was successfully
overridden.
NVML_ERROR_NOT_SUPPORTED The API is not supported.
NVML_ERROR_IN_USE The range was not overridden because a VM is running on
the host.
NVML_ERROR_INVALID_ARGUMENT The vgpuVersion parameter specifies
a range that is outside the range supported by the NVIDIA vGPU Manager or if
vgpuVersion is NULL.
Description
Override the preset range of vGPU versions supported by the NVIDIA vGPU Manager
with a range set by an administrator.
This function configures the NVIDIA vGPU Manager with a range of supported vGPU
versions set by an administrator. This range must be a subset of the preset range that
the NVIDIA vGPU Manager supports. The custom range set by an administrator takes
precedence over the preset range and is advertised to the guest VM for negotiating the
vGPU version. See nvmlGetVgpuVersion for details of how to query the preset range of
versions supported.
This function takes a pointer to vGPU version range structure nvmlVgpuVersion_t
as input to override the preset vGPU version range that the NVIDIA vGPU Manager
supports.
93
Modules
After host system reboot or driver reload, the range of supported versions reverts to the
range that is preset for the NVIDIA vGPU Manager.
1. The range set by the administrator must be a subset of the preset range that
the NVIDIA vGPU Manager supports. Otherwise, an error is returned. 2. If the
range of supported guest driver versions does not overlap the range set by the
administrator, the guest driver fails to load. 3. If the range of supported guest driver
versions overlaps the range set by the administrator, the guest driver will load with a
negotiated vGPU version that is the maximum value in the overlapping range. 4. No
VMs must be running on the host when this function is called. If a VM is running on the
host, the call to this function fails.
4.6. Encoder Structs
struct nvmlEncoderSessionInfo_t
enum nvmlEncoderType_t
Represents type of encoder for capacity can be queried
Values
NVML_ENCODER_QUERY_H264 = 0x00
H264 encoder.
NVML_ENCODER_QUERY_HEVC = 0x01
HEVC encoder.
NVML_ENCODER_QUERY_AV1 = 0x02
AV1 encoder.
NVML_ENCODER_QUERY_UNKNOWN = 0xFF
Unknown encoder.
4.7. Frame Buffer Capture Structures
94
Modules
struct nvmlFBCStats_t
struct nvmlFBCSessionInfo_t
enum nvmlFBCSessionType_t
Represents frame buffer capture session type
Values
NVML_FBC_SESSION_TYPE_UNKNOWN = 0
Unknown.
NVML_FBC_SESSION_TYPE_TOSYS
ToSys.
NVML_FBC_SESSION_TYPE_CUDA
Cuda.
NVML_FBC_SESSION_TYPE_VID
Vid.
NVML_FBC_SESSION_TYPE_HWENC
HEnc.
#define NVML_NVFBC_SESSION_FLAG_DIFFMAP_ENABLED
0x00000001
Bit specifying differential map state.
#define
NVML_NVFBC_SESSION_FLAG_CLASSIFICATIONMAP_ENABLED
0x00000002
Bit specifying classification map state.
#define
NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_NO_WAIT
0x00000004
Bit specifying if capture was requested as non-blocking call.
95
Modules
#define
NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_INFINITE
0x00000008
Bit specifying if capture was requested as blocking call.
#define
NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_TIMEOUT
0x00000010
Bit specifying if capture was requested as blocking call with timeout period.
4.8. Drain State definitions
enum nvmlDetachGpuState_t
Is the GPU device to be removed from the kernel by nvmlDeviceRemoveGpu()
Values
NVML_DETACH_GPU_KEEP = 0
NVML_DETACH_GPU_REMOVE
enum nvmlPcieLinkState_t
Parent bridge PCIe link state requested by nvmlDeviceRemoveGpu()
Values
NVML_PCIE_LINK_KEEP = 0
NVML_PCIE_LINK_SHUT_DOWN
4.9. Confidential Computing definitions
96
Modules
struct nvmlSystemConfComputeSettings_v1_t
struct nvmlConfComputeMemSizeInfo_t
#define NVML_CC_SYSTEM_CPU_CAPS_NONE 0
Confidential Compute CPU Capabilities values
#define NVML_CC_SYSTEM_GPUS_CC_NOT_CAPABLE 0
Confidenial Compute GPU Capabilities values
#define NVML_CC_SYSTEM_DEVTOOLS_MODE_OFF 0
Confidential Compute DevTools Mode values
#define NVML_CC_SYSTEM_ENVIRONMENT_UNAVAILABLE
0
Confidential Compute Environment values
#define NVML_CC_SYSTEM_FEATURE_DISABLED 0
Confidential Compute Feature Status values
#define NVML_CC_SYSTEM_MULTIGPU_NONE 0
Confidential Compute Multigpu mode values
#define NVML_CC_ACCEPTING_CLIENT_REQUESTS_FALSE
0
Confidential Compute GPUs/System Ready State values
#define NVML_GPU_CERT_CHAIN_SIZE 0x1000
GPU Certificate Details
#define NVML_CC_GPU_CEC_NONCE_SIZE 0x20
GPU Attestation Report
97
Modules
4.10. Fabric definitions
struct nvmlGpuFabricInfo_t
struct nvmlGpuFabricInfo_v2_t
#define NVML_GPU_FABRIC_HEALTH_GET (((var) >>
NVML_GPU_FABRIC_HEALTH_MASK_SHIFT##type) & \
(NVML_GPU_FABRIC_HEALTH_MASK_WIDTH##type))
GPU Fabric Health Status Mask for various fields can be obtained using the below
macro. Ex - NVML_GPU_FABRIC_HEALTH_GET( var, _DEGRADED_BW)
#define NVML_GPU_FABRIC_HEALTH_TEST
(NVML_GPU_FABRIC_HEALTH_GET(var, type) == \
NVML_GPU_FABRIC_HEALTH_MASK##type##val)
GPU Fabric Health Status Mask for various fields can be tested using the below macro.
Ex - NVML_GPU_FABRIC_HEALTH_TEST( var, _DEGRADED_BW, _TRUE)
#define nvmlGpuFabricInfo_v2
NVML_STRUCT_VERSION(GpuFabricInfo, 2)
Version identifier value for nvmlGpuFabricInfo_v2_t::version.
4.11. Initialization and Cleanup
This chapter describes the methods that handle NVML initialization and cleanup. It
is the user's responsibility to call nvmlInit_v2() before calling any other methods, and
nvmlShutdown() once NVML is no longer being used.
nvmlReturn_t nvmlInit_v2 (void)
Returns
NVML_SUCCESS if NVML has been properly initialized
NVML_ERROR_DRIVER_NOT_LOADED if NVIDIA driver is not running
98
Modules
NVML_ERROR_NO_PERMISSION if NVML does not have permission to talk to the
driver
NVML_ERROR_UNKNOWN on any unexpected error
Description
Initialize NVML, but don't initialize any GPUs yet.
nvmlInit_v3 introduces a "flags" argument, that allows passing boolean values
modifying the behaviour of nvmlInit().
In NVML 5.319 new nvmlInit_v2 has replaced nvmlInit"_v1" (default in NVML 4.304
and older) that did initialize all GPU devices in the system.
This allows NVML to communicate with a GPU when other GPUs in the system are
unstable or in a bad state. When using this API, GPUs are discovered and initialized in
nvmlDeviceGetHandleBy* functions instead.
To contrast nvmlInit_v2 with nvmlInit"_v1", NVML 4.304 nvmlInit"_v1" will fail when
any detected GPU is in a bad or unstable state.
For all products.
This method, should be called once before invoking any other methods in the library.
A reference count of the number of initializations is maintained. Shutdown only occurs
when the reference count reaches zero.
nvmlReturn_t nvmlInitWithFlags (unsigned int flags)
Parameters
flags
behaviour modifier flags
Returns
NVML_SUCCESS if NVML has been properly initialized
NVML_ERROR_DRIVER_NOT_LOADED if NVIDIA driver is not running
NVML_ERROR_NO_PERMISSION if NVML does not have permission to talk to the
driver
NVML_ERROR_UNKNOWN on any unexpected error
99
Modules
Description
nvmlInitWithFlags is a variant of nvmlInit(), that allows passing a set of boolean values
modifying the behaviour of nvmlInit(). Other than the "flags" parameter it is completely
similar to nvmlInit_v2.
For all products.
nvmlReturn_t nvmlShutdown (void)
Returns
NVML_SUCCESS if NVML has been properly shut down
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_UNKNOWN on any unexpected error
Description
Shut down NVML by releasing all GPU resources previously allocated with
nvmlInit_v2().
For all products.
This method should be called after NVML work is done, once for each call to
nvmlInit_v2() A reference count of the number of initializations is maintained.
Shutdown only occurs when the reference count reaches zero. For backwards
compatibility, no error is reported if nvmlShutdown() is called more times than
nvmlInit().
#define NVML_INIT_FLAG_NO_GPUS 1
Don't fail nvmlInit() when no GPUs are found.
#define NVML_INIT_FLAG_NO_ATTACH 2
Don't attach GPUs.
4.12. Error reporting
This chapter describes helper functions for error reporting routines.
100
Modules
const DECLDIR char *nvmlErrorString (nvmlReturn_t
result)
Parameters
result
NVML error code to convert
Returns
String representation of the error.
Description
Helper method for converting NVML error codes into readable strings.
For all products.
4.13. Constants
#define NVML_DEVICE_INFOROM_VERSION_BUFFER_SIZE
16
Buffer size guaranteed to be large enough for nvmlDeviceGetInforomVersion and
nvmlDeviceGetInforomImageVersion
#define NVML_DEVICE_UUID_BUFFER_SIZE 80
Buffer size guaranteed to be large enough for storing GPU identifiers.
#define NVML_DEVICE_UUID_V2_BUFFER_SIZE 96
Buffer size guaranteed to be large enough for nvmlDeviceGetUUID
#define NVML_DEVICE_PART_NUMBER_BUFFER_SIZE 80
Buffer size guaranteed to be large enough for nvmlDeviceGetBoardPartNumber
#define NVML_SYSTEM_DRIVER_VERSION_BUFFER_SIZE
80
Buffer size guaranteed to be large enough for nvmlSystemGetDriverVersion
101
Modules
#define NVML_SYSTEM_NVML_VERSION_BUFFER_SIZE 80
Buffer size guaranteed to be large enough for nvmlSystemGetNVMLVersion
#define NVML_DEVICE_NAME_BUFFER_SIZE 64
Buffer size guaranteed to be large enough for storing GPU device names.
#define NVML_DEVICE_NAME_V2_BUFFER_SIZE 96
Buffer size guaranteed to be large enough for nvmlDeviceGetName
#define NVML_DEVICE_SERIAL_BUFFER_SIZE 30
Buffer size guaranteed to be large enough for nvmlDeviceGetSerial
#define NVML_DEVICE_VBIOS_VERSION_BUFFER_SIZE 32
Buffer size guaranteed to be large enough for nvmlDeviceGetVbiosVersion
4.14. System Queries
This chapter describes the queries that NVML can perform against the local system.
These queries are not device-specific.
struct nvmlSystemDriverBranchInfo_v1_t
nvmlReturn_t nvmlSystemGetDriverVersion (char
*version, unsigned int length)
Parameters
version
Reference in which to return the version identifier
length
The maximum allowed length of the string returned in version
Returns
NVML_SUCCESS if version has been set
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if version is NULL
102
Modules
NVML_ERROR_INSUFFICIENT_SIZE if length is too small
Description
Retrieves the version of the system's graphics driver.
For all products.
The version identifier is an alphanumeric string. It will not exceed
80 characters in length (including the NULL terminator). See
nvmlConstants::NVML_SYSTEM_DRIVER_VERSION_BUFFER_SIZE.
nvmlReturn_t nvmlSystemGetNVMLVersion (char
*version, unsigned int length)
Parameters
version
Reference in which to return the version identifier
length
The maximum allowed length of the string returned in version
Returns
NVML_SUCCESS if version has been set
NVML_ERROR_INVALID_ARGUMENT if version is NULL
NVML_ERROR_INSUFFICIENT_SIZE if length is too small
Description
Retrieves the version of the NVML library.
For all products.
The version identifier is an alphanumeric string. It will not exceed
80 characters in length (including the NULL terminator). See
nvmlConstants::NVML_SYSTEM_NVML_VERSION_BUFFER_SIZE.
nvmlReturn_t nvmlSystemGetCudaDriverVersion (int
*cudaDriverVersion)
Parameters
cudaDriverVersion
Reference in which to return the version identifier
103
Modules
Returns
NVML_SUCCESS if cudaDriverVersion has been set
NVML_ERROR_INVALID_ARGUMENT if cudaDriverVersion is NULL
Description
Retrieves the version of the CUDA driver.
For all products.
The CUDA driver version returned will be retreived from the currently installed version
of CUDA. If the cuda library is not found, this function will return a known supported
version number.
nvmlReturn_t nvmlSystemGetCudaDriverVersion_v2 (int
*cudaDriverVersion)
Parameters
cudaDriverVersion
Reference in which to return the version identifier
Returns
NVML_SUCCESS if cudaDriverVersion has been set
NVML_ERROR_INVALID_ARGUMENT if cudaDriverVersion is NULL
NVML_ERROR_LIBRARY_NOT_FOUND if libcuda.so.1 or libcuda.dll is not found
NVML_ERROR_FUNCTION_NOT_FOUND if cuDriverGetVersion() is not found in
the shared library
Description
Retrieves the version of the CUDA driver from the shared library.
For all products.
The returned CUDA driver version by calling cuDriverGetVersion()
nvmlReturn_t nvmlSystemGetProcessName (unsigned int
pid, char *name, unsigned int length)
Parameters
pid
The identifier of the process
104
Modules
name
Reference in which to return the process name
length
The maximum allowed length of the string returned in name
Returns
NVML_SUCCESS if name has been set
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if name is NULL or length is 0.
NVML_ERROR_NOT_FOUND if process doesn't exists
NVML_ERROR_NO_PERMISSION if the user doesn't have permission to perform
this operation
NVML_ERROR_UNKNOWN on any unexpected error
Description
Gets name of the process with provided process id
For all products.
Returned process name is cropped to provided length. name string is encoded in ANSI.
nvmlReturn_t nvmlSystemGetHicVersion (unsigned int
*hwbcCount, nvmlHwbcEntry_t *hwbcEntries)
Parameters
hwbcCount
Size of hwbcEntries array
hwbcEntries
Array holding information about hwbc
Returns
NVML_SUCCESS if hwbcCount and hwbcEntries have been populated
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if either hwbcCount or hwbcEntries is
NULL
NVML_ERROR_INSUFFICIENT_SIZE if hwbcCount indicates that the hwbcEntries
array is too small
105
Modules
Description
Retrieves the IDs and firmware versions for any Host Interface Cards (HICs) in the
system.
For S-class products.
The hwbcCount argument is expected to be set to the size of the input hwbcEntries
array. The HIC must be connected to an S-class system for it to be reported by this
function.
nvmlReturn_t nvmlSystemGetTopologyGpuSet (unsigned
int cpuNumber, unsigned int *count, nvmlDevice_t
*deviceArray)
Parameters
cpuNumber
The CPU number
count
When zero, is set to the number of matching GPUs such that deviceArray can be
malloc'd. When non-zero, deviceArray will be filled with count number of device
handles.
deviceArray
An array of device handles for GPUs found with affinity to cpuNumber
Returns
NVML_SUCCESS if deviceArray or count (if initially zero) has been set
NVML_ERROR_INVALID_ARGUMENT if cpuNumber, or count is invalid, or
deviceArray is NULL with a non-zero count
NVML_ERROR_NOT_SUPPORTED if the device or OS does not support this
feature
NVML_ERROR_UNKNOWN an error has occurred in underlying topology
discovery
Description
Retrieve the set of GPUs that have a CPU affinity with the given CPU number For all
products. Supported on Linux only.
106
Modules
nvmlReturn_t nvmlSystemGetDriverBranch
(nvmlSystemDriverBranchInfo_t *branchInfo, unsigned
int length)
Parameters
branchInfo
Pointer to the driver branch information structure nvmlSystemDriverBranchInfo_t
length
The maximum allowed length of the driver branch string
Returns
NVML_SUCCESS successful completion
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if branchInfo is NULL
NVML_ERROR_INSUFFICIENT_SIZE if length is too small
NVML_ERROR_UNKNOWN on any unexpected error
Description
Retrieves the driver branch of the NVIDIA driver installed on the system.
For all products.
The branch identifier is an alphanumeric string. It will not exceed
80 characters in length (including the NULL terminator). See
nvmlConstants::NVML_SYSTEM_DRIVER_VERSION_BUFFER_SIZE.
#define NVML_CUDA_DRIVER_VERSION_MAJOR
((v)/1000)
Macros for converting the CUDA driver version number to Major and Minor version
numbers.
4.15. Unit Queries
This chapter describes that queries that NVML can perform against each unit. For S-
class systems only. In each case the device is identified with an nvmlUnit_t handle. This
handle is obtained by calling nvmlUnitGetHandleByIndex().
107
Modules
nvmlReturn_t nvmlUnitGetCount (unsigned int
*unitCount)
Parameters
unitCount
Reference in which to return the number of units
Returns
NVML_SUCCESS if unitCount has been set
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if unitCount is NULL
NVML_ERROR_UNKNOWN on any unexpected error
Description
Retrieves the number of units in the system.
For S-class products.
nvmlReturn_t nvmlUnitGetHandleByIndex (unsigned int
index, nvmlUnit_t *unit)
Parameters
index
The index of the target unit, >= 0 and < unitCount
unit
Reference in which to return the unit handle
Returns
NVML_SUCCESS if unit has been set
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if index is invalid or unit is NULL
NVML_ERROR_UNKNOWN on any unexpected error
Description
Acquire the handle for a particular unit, based on its index.
For S-class products.
108
Modules
Valid indices are derived from the unitCount returned by nvmlUnitGetCount(). For
example, if unitCount is 2 the valid indices are 0 and 1, corresponding to UNIT 0 and
UNIT 1.
The order in which NVML enumerates units has no guarantees of consistency between
reboots.
nvmlReturn_t nvmlUnitGetUnitInfo (nvmlUnit_t unit,
nvmlUnitInfo_t *info)
Parameters
unit
The identifier of the target unit
info
Reference in which to return the unit information
Returns
NVML_SUCCESS if info has been populated
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if unit is invalid or info is NULL
Description
Retrieves the static information associated with a unit.
For S-class products.
See nvmlUnitInfo_t for details on available unit info.
nvmlReturn_t nvmlUnitGetLedState (nvmlUnit_t unit,
nvmlLedState_t *state)
Parameters
unit
The identifier of the target unit
state
Reference in which to return the current LED state
Returns
NVML_SUCCESS if state has been set
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
109
Modules
NVML_ERROR_INVALID_ARGUMENT if unit is invalid or state is NULL
NVML_ERROR_NOT_SUPPORTED if this is not an S-class product
NVML_ERROR_UNKNOWN on any unexpected error
Description
Retrieves the LED state associated with this unit.
For S-class products.
See nvmlLedState_t for details on allowed states.
See also:
nvmlUnitSetLedState()
nvmlReturn_t nvmlUnitGetPsuInfo (nvmlUnit_t unit,
nvmlPSUInfo_t *psu)
Parameters
unit
The identifier of the target unit
psu
Reference in which to return the PSU information
Returns
NVML_SUCCESS if psu has been populated
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if unit is invalid or psu is NULL
NVML_ERROR_NOT_SUPPORTED if this is not an S-class product
NVML_ERROR_UNKNOWN on any unexpected error
Description
Retrieves the PSU stats for the unit.
For S-class products.
See nvmlPSUInfo_t for details on available PSU info.
110
Modules
nvmlReturn_t nvmlUnitGetTemperature (nvmlUnit_t
unit, unsigned int type, unsigned int *temp)
Parameters
unit
The identifier of the target unit
type
The type of reading to take
temp
Reference in which to return the intake temperature
Returns
NVML_SUCCESS if temp has been populated
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if unit or type is invalid or temp is NULL
NVML_ERROR_NOT_SUPPORTED if this is not an S-class product
NVML_ERROR_UNKNOWN on any unexpected error
Description
Retrieves the temperature readings for the unit, in degrees C.
For S-class products.
Depending on the product, readings may be available for intake (type=0), exhaust
(type=1) and board (type=2).
nvmlReturn_t nvmlUnitGetFanSpeedInfo (nvmlUnit_t
unit, nvmlUnitFanSpeeds_t *fanSpeeds)
Parameters
unit
The identifier of the target unit
fanSpeeds
Reference in which to return the fan speed information
Returns
NVML_SUCCESS if fanSpeeds has been populated
NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
NVML_ERROR_INVALID_ARGUMENT if unit is invalid or fanSpeeds is NULL
111

 

 

 

 

 

 

 

Content      ..      1      2      3      ..