Device Enums#

Macros#

MAX_CLK_DOMAINS

Max Clock Monitors available.

NVML_ADAPTIVE_CLOCKING_INFO_STATUS_DISABLED

Adaptive clocking status.

NVML_ADAPTIVE_CLOCKING_INFO_STATUS_ENABLED

Adaptive clocking is enabled.

NVML_BUS_TYPE_AGP

AGP bus.

NVML_BUS_TYPE_FPCI

FPCI bus.

NVML_BUS_TYPE_PCI

PCI bus.

NVML_BUS_TYPE_PCIE

PCI-Express bus.

NVML_BUS_TYPE_UNKNOWN

PCI bus types.

NVML_DEVICE_ARCH_ADA

Devices based on the NVIDIA Ada architecture.

NVML_DEVICE_ARCH_AMPERE

Devices based on the NVIDIA Ampere architecture.

NVML_DEVICE_ARCH_BLACKWELL

Devices based on the NVIDIA Blackwell architecture.

NVML_DEVICE_ARCH_DLA

Devices based on the NVIDIA DLA architecture.

NVML_DEVICE_ARCH_DLA2

Devices based on the NVIDIA DLA2 architecture.

NVML_DEVICE_ARCH_HOPPER

Devices based on the NVIDIA Hopper architecture.

NVML_DEVICE_ARCH_KEPLER

Simplified chip architecture.

NVML_DEVICE_ARCH_MAXWELL

Devices based on the NVIDIA Maxwell architecture.

NVML_DEVICE_ARCH_NPU3

Devices based on the NVIDIA NPU3 architecture.

NVML_DEVICE_ARCH_PASCAL

Devices based on the NVIDIA Pascal architecture.

NVML_DEVICE_ARCH_RUBIN

Devices based on the NVIDIA Rubin architecture.

NVML_DEVICE_ARCH_TURING

Devices based on the NVIDIA Turing architecture.

NVML_DEVICE_ARCH_UNKNOWN

Anything else, presumably something newer.

NVML_DEVICE_ARCH_VOLTA

Devices based on the NVIDIA Volta architecture.

NVML_DEVICE_HOSTNAME_BUFFER_SIZE

Structure to store hostname information.

NVML_DOUBLE_BIT_ECC

Double bit ECC errors.

NVML_FAN_POLICY_MANUAL

Manual fan control policy.

NVML_FAN_POLICY_TEMPERATURE_CONTINOUS_SW

Device Power Modes.

NVML_GSP_FIRMWARE_VERSION_BUF_SIZE

GSP firmware.

NVML_MAX_GPU_PERF_PSTATES

Maximum number of GPU performance states.

NVML_MAX_GPU_UTILIZATIONS

Maximum number of GPU utilization domains.

NVML_PCIE_ATOMICS_CAP_CAS128

128-bit compare and swap.

NVML_PCIE_ATOMICS_CAP_CAS32

32-bit compare and swap.

NVML_PCIE_ATOMICS_CAP_CAS64

64-bit compare and swap.

NVML_PCIE_ATOMICS_CAP_FETCHADD32

32-bit fetch and add.

NVML_PCIE_ATOMICS_CAP_FETCHADD64

64-bit fetch and add.

NVML_PCIE_ATOMICS_CAP_SWAP32

32-bit swap.

NVML_PCIE_ATOMICS_CAP_SWAP64

64-bit swap.

NVML_PCIE_ATOMICS_OPS_MAX

Maximum number of PCIe atomics operations.

NVML_PCIE_LINK_MAX_SPEED_16000MBPS

16000 MB/s PCIe link speed.

NVML_PCIE_LINK_MAX_SPEED_2500MBPS

2500 MB/s PCIe link speed.

NVML_PCIE_LINK_MAX_SPEED_32000MBPS

32000 MB/s PCIe link speed.

NVML_PCIE_LINK_MAX_SPEED_5000MBPS

5000 MB/s PCIe link speed.

NVML_PCIE_LINK_MAX_SPEED_64000MBPS

64000 MB/s PCIe link speed.

NVML_PCIE_LINK_MAX_SPEED_8000MBPS

8000 MB/s PCIe link speed.

NVML_PCIE_LINK_MAX_SPEED_INVALID

Device PCIE link Max Speed.

NVML_PERF_MODES_BUFFER_SIZE

Buffer size for performance modes strings.

NVML_POWER_MIZER_MODE_ADAPTIVE

Device powerMizer modes.

NVML_POWER_MIZER_MODE_AUTO

PowerMizer mode is driver controlled.

NVML_POWER_MIZER_MODE_PREFER_CONSISTENT_PERFORMANCE

lock to GPU base clocks

NVML_POWER_MIZER_MODE_PREFER_MAXIMUM_PERFORMANCE

raise GPU clocks to favor maximum performance, to the extent that thermal and other constraints allow

NVML_POWER_SCOPE_COUNT

Maximum number of power scopes.

NVML_POWER_SCOPE_GPU

Device Scope - This is useful to retrieve the telemetry at GPU and module (e.g.

NVML_POWER_SCOPE_GPU_BASE

Targets base GPU power.

NVML_POWER_SCOPE_MEMORY

Targets the GPU Memory.

NVML_POWER_SCOPE_MODULE

Targets the whole module.

NVML_POWER_SOURCE_AC

Device Power Source.

NVML_POWER_SOURCE_BATTERY

Battery power source.

NVML_POWER_SOURCE_UNDERSIZED

Undersized power source.

NVML_RUSD_POLL_ALL

Enable RUSD polling on all groups.

NVML_RUSD_POLL_CLOCK

Enable RUSD polling on clock group.

NVML_RUSD_POLL_FAN

Enable RUSD polling on fan group.

NVML_RUSD_POLL_MEMORY

Enable RUSD polling on memory group.

NVML_RUSD_POLL_NONE

Disable RUSD polling on all metric groups.

NVML_RUSD_POLL_PCI

Enable RUSD polling on pci group.

NVML_RUSD_POLL_PERF

Enable RUSD polling on performance group.

NVML_RUSD_POLL_POWER

Enable RUSD polling on power group.

NVML_RUSD_POLL_PROC_UTIL

Enable RUSD polling on process utilization group.

NVML_RUSD_POLL_THERMAL

Enable RUSD polling on thermal group.

NVML_SINGLE_BIT_ECC

Single bit ECC errors.

nvmlClockOffset_v1

Version macro for nvmlClockOffset_v1_t .

nvmlDeviceCurrentClockFreqs_v1

Version macro for nvmlDeviceCurrentClockFreqs_v1_t .

nvmlDevicePerfModes_v1

Version macro for nvmlDevicePerfModes_v1_t .

nvmlDramEncryptionInfo_v1

Version macro for nvmlDramEncryptionInfo_v1_t .

nvmlEccBitType_t

ECC bit types.

nvmlEccSramErrorStatus_v1

Version macro for nvmlEccSramErrorStatus_v1_t .

nvmlEccSramUniqueUncorrectedErrorCounts_v1

Version macro for nvmlEccSramUniqueUncorrectedErrorCounts_v1_t .

nvmlFanSpeedInfo_v1

Version macro for nvmlFanSpeedInfo_v1_t .

nvmlFlagDefault

Generic flag used to specify the default behavior of some functions. See description of particular functions for details.

nvmlFlagForce

Force flag.

nvmlMarginTemperature_v1

Version macro for nvmlMarginTemperature_v1_t .

nvmlPlatformInfo_v1

Version macro for nvmlPlatformInfo_v1_t .

nvmlPlatformInfo_v2

Version macro for nvmlPlatformInfo_v2_t .

nvmlPowerValue_v2

Version macro for nvmlPowerValue_v2_t .

nvmlProcessesUtilizationInfo_v1

nvmlRusdSettings_v1

Version macro for nvmlRusdSettings_v1_t .

Enumerations#

nvmlBrandType_t

nvmlClockId_t

Clock Ids.

nvmlClockType_t

Clock types.

nvmlComputeMode_t

Compute mode.

nvmlDriverModel_t

Driver models.

nvmlEccCounterType_t

ECC counter types.

nvmlEnableState_t

Generic enable/disable enum.

nvmlGpuOperationMode_t

GPU Operation Mode.

nvmlGpuUtilizationDomainId_t

Represents the GPU utilization domains.

nvmlInforomObject_t

Available infoROM objects.

nvmlMemoryErrorType_t

Memory error types.

nvmlMemoryLocation_t

See nvmlDeviceGetMemoryErrorCounter .

nvmlPageRetirementCause_t

Causes for page retirement.

nvmlPstates_t

Allowed PStates.

nvmlRestrictedAPI_t

API types that allow changes to default permission restrictions.

nvmlReturn_t

Return values for NVML API calls.

nvmlTemperatureSensors_t

Temperature sensors.

nvmlTemperatureThresholds_t

Temperature thresholds.

Structs#

nvmlAdaptiveTgpModeInfo_v1_t

Contains Adaptive TGP Mode state and telemetry information.

nvmlClkMonFaultInfo_t

Clock Monitor error types.

nvmlClkMonStatus_t

Clock Monitor Status.

nvmlClockOffset_v1_t

Clock offset info.

nvmlDeviceCurrentClockFreqs_v1_t

Device current clocks string.

nvmlDevicePerfModes_v1_t

Device performance modes string.

nvmlDevicePowerMizerModes_v1_t

nvmlDramEncryptionInfo_v1_t

DRAM Encryption Info.

nvmlEccSramErrorStatus_v1_t

Structure to store SRAM uncorrectable error counters.

nvmlEccSramUniqueUncorrectedErrorCounts_v1_t

nvmlEccSramUniqueUncorrectedErrorEntry_v1_t

nvmlFanSpeedInfo_v1_t

Fan speed info.

nvmlGpuDynamicPstatesInfo_t

nvmlHostname_v1_t

nvmlMarginTemperature_v1_t

Margin temperature values.

nvmlPlatformInfo_v1_t

Structure to store platform information.

nvmlPlatformInfo_v2_t

Structure to store platform information (v2)

nvmlPowerValue_v2_t

Contains the power management limit.

nvmlProcessUtilizationInfo_v1_t

Structure to store utilization value and process Id version 1.

nvmlProcessUtilizationSample_t

Structure to store utilization value and process Id.

nvmlProcessesUtilizationInfo_v1_t

Structure to store utilization and process ID for each running process version 1.

nvmlRemappedRowsInfo_v2_t

nvmlRusdSettings_v1_t

Typedefs#

Macros#

MAX_CLK_DOMAINS#

Max Clock Monitors available.

Maximum number of clock domains.

NVML_ADAPTIVE_CLOCKING_INFO_STATUS_DISABLED#

Adaptive clocking status.

Adaptive clocking is disabled.

NVML_ADAPTIVE_CLOCKING_INFO_STATUS_ENABLED#

Adaptive clocking is enabled.

NVML_BUS_TYPE_AGP#

AGP bus.

NVML_BUS_TYPE_FPCI#

FPCI bus.

NVML_BUS_TYPE_PCI#

PCI bus.

NVML_BUS_TYPE_PCIE#

PCI-Express bus.

NVML_BUS_TYPE_UNKNOWN#

PCI bus types.

Unknown bus type.

NVML_DEVICE_ARCH_ADA#

Devices based on the NVIDIA Ada architecture.

NVML_DEVICE_ARCH_AMPERE#

Devices based on the NVIDIA Ampere architecture.

NVML_DEVICE_ARCH_BLACKWELL#

Devices based on the NVIDIA Blackwell architecture.

NVML_DEVICE_ARCH_DLA#

Devices based on the NVIDIA DLA architecture.

NVML_DEVICE_ARCH_DLA2#

Devices based on the NVIDIA DLA2 architecture.

NVML_DEVICE_ARCH_HOPPER#

Devices based on the NVIDIA Hopper architecture.

NVML_DEVICE_ARCH_KEPLER#

Simplified chip architecture.

Devices based on the NVIDIA Kepler architecture

NVML_DEVICE_ARCH_MAXWELL#

Devices based on the NVIDIA Maxwell architecture.

NVML_DEVICE_ARCH_NPU3#

Devices based on the NVIDIA NPU3 architecture.

NVML_DEVICE_ARCH_PASCAL#

Devices based on the NVIDIA Pascal architecture.

NVML_DEVICE_ARCH_RUBIN#

Devices based on the NVIDIA Rubin architecture.

NVML_DEVICE_ARCH_TURING#

Devices based on the NVIDIA Turing architecture.

NVML_DEVICE_ARCH_UNKNOWN#

Anything else, presumably something newer.

NVML_DEVICE_ARCH_VOLTA#

Devices based on the NVIDIA Volta architecture.

NVML_DEVICE_HOSTNAME_BUFFER_SIZE#

Structure to store hostname information.

Buffer size for hostname string.

NVML_DOUBLE_BIT_ECC#

Double bit ECC errors.

Deprecated:

Mapped to NVML_MEMORY_ERROR_TYPE_UNCORRECTED

Deprecated double bit ECC error. See NVML_MEMORY_ERROR_TYPE_UNCORRECTED.

NVML_FAN_POLICY_MANUAL#

Manual fan control policy.

NVML_FAN_POLICY_TEMPERATURE_CONTINOUS_SW#

Device Power Modes.

Device Fan control policy Temperature-controlled fan policy.

NVML_GSP_FIRMWARE_VERSION_BUF_SIZE#

GSP firmware.

Buffer size for GSP firmware version string.

NVML_MAX_GPU_PERF_PSTATES#

Maximum number of GPU performance states.

NVML_MAX_GPU_UTILIZATIONS#

Maximum number of GPU utilization domains.

NVML_PCIE_ATOMICS_CAP_CAS128#

128-bit compare and swap.

NVML_PCIE_ATOMICS_CAP_CAS32#

32-bit compare and swap.

NVML_PCIE_ATOMICS_CAP_CAS64#

64-bit compare and swap.

NVML_PCIE_ATOMICS_CAP_FETCHADD32#

32-bit fetch and add.

NVML_PCIE_ATOMICS_CAP_FETCHADD64#

64-bit fetch and add.

NVML_PCIE_ATOMICS_CAP_SWAP32#

32-bit swap.

NVML_PCIE_ATOMICS_CAP_SWAP64#

64-bit swap.

NVML_PCIE_ATOMICS_OPS_MAX#

Maximum number of PCIe atomics operations.

16000 MB/s PCIe link speed.

2500 MB/s PCIe link speed.

32000 MB/s PCIe link speed.

5000 MB/s PCIe link speed.

64000 MB/s PCIe link speed.

8000 MB/s PCIe link speed.

Device PCIE link Max Speed.

Invalid PCIe link speed.

NVML_PERF_MODES_BUFFER_SIZE#

Buffer size for performance modes strings.

NVML_POWER_MIZER_MODE_ADAPTIVE#

Device powerMizer modes.

adjust GPU clocks based on GPU utilization

NVML_POWER_MIZER_MODE_AUTO#

PowerMizer mode is driver controlled.

NVML_POWER_MIZER_MODE_PREFER_CONSISTENT_PERFORMANCE#

lock to GPU base clocks

NVML_POWER_MIZER_MODE_PREFER_MAXIMUM_PERFORMANCE#

raise GPU clocks to favor maximum performance, to the extent that thermal and other constraints allow

NVML_POWER_SCOPE_COUNT#

Maximum number of power scopes.

NVML_POWER_SCOPE_GPU#

Device Scope - This is useful to retrieve the telemetry at GPU and module (e.g.

GPU + CPU) level Targets only GPU

NVML_POWER_SCOPE_GPU_BASE#

Targets base GPU power.

NVML_POWER_SCOPE_MEMORY#

Targets the GPU Memory.

NVML_POWER_SCOPE_MODULE#

Targets the whole module.

NVML_POWER_SOURCE_AC#

Device Power Source.

AC power source.

NVML_POWER_SOURCE_BATTERY#

Battery power source.

NVML_POWER_SOURCE_UNDERSIZED#

Undersized power source.

NVML_RUSD_POLL_ALL#

Enable RUSD polling on all groups.

NVML_RUSD_POLL_CLOCK#

Enable RUSD polling on clock group.

NVML_RUSD_POLL_FAN#

Enable RUSD polling on fan group.

NVML_RUSD_POLL_MEMORY#

Enable RUSD polling on memory group.

NVML_RUSD_POLL_NONE#

Disable RUSD polling on all metric groups.

NVML_RUSD_POLL_PCI#

Enable RUSD polling on pci group.

NVML_RUSD_POLL_PERF#

Enable RUSD polling on performance group.

NVML_RUSD_POLL_POWER#

Enable RUSD polling on power group.

NVML_RUSD_POLL_PROC_UTIL#

Enable RUSD polling on process utilization group.

NVML_RUSD_POLL_THERMAL#

Enable RUSD polling on thermal group.

NVML_SINGLE_BIT_ECC#

Single bit ECC errors.

Deprecated:

Mapped to NVML_MEMORY_ERROR_TYPE_CORRECTED

Deprecated single bit ECC error. See NVML_MEMORY_ERROR_TYPE_CORRECTED.

nvmlClockOffset_v1#

Version macro for nvmlClockOffset_v1_t.

nvmlDeviceCurrentClockFreqs_v1#

Version macro for nvmlDeviceCurrentClockFreqs_v1_t.

nvmlDevicePerfModes_v1#

Version macro for nvmlDevicePerfModes_v1_t.

nvmlDramEncryptionInfo_v1#

Version macro for nvmlDramEncryptionInfo_v1_t.

nvmlEccBitType_t#

ECC bit types.

Deprecated:

See nvmlMemoryErrorType_t for a more flexible type

Deprecated ECC bit type. See nvmlMemoryErrorType_t.

nvmlEccSramErrorStatus_v1#

Version macro for nvmlEccSramErrorStatus_v1_t.

nvmlEccSramUniqueUncorrectedErrorCounts_v1#

Version macro for nvmlEccSramUniqueUncorrectedErrorCounts_v1_t.

nvmlFanSpeedInfo_v1#

Version macro for nvmlFanSpeedInfo_v1_t.

nvmlFlagDefault#

Generic flag used to specify the default behavior of some functions. See description of particular functions for details.

Default flag. Generic flag used to force some behavior. See description of particular functions for details.

nvmlFlagForce#

Force flag.

nvmlMarginTemperature_v1#

Version macro for nvmlMarginTemperature_v1_t.

nvmlPlatformInfo_v1#

Version macro for nvmlPlatformInfo_v1_t.

nvmlPlatformInfo_v2#

Version macro for nvmlPlatformInfo_v2_t.

nvmlPowerValue_v2#

Version macro for nvmlPowerValue_v2_t.

nvmlProcessesUtilizationInfo_v1#
nvmlRusdSettings_v1#

Version macro for nvmlRusdSettings_v1_t.

Enumerations#

enum nvmlBrandType_t#

  • The Brand of the GPU

Values:

enumerator NVML_BRAND_UNKNOWN#
enumerator NVML_BRAND_QUADRO#
enumerator NVML_BRAND_TESLA#
enumerator NVML_BRAND_NVS#
enumerator NVML_BRAND_GRID#
enumerator NVML_BRAND_GEFORCE#
enumerator NVML_BRAND_TITAN#
enumerator NVML_BRAND_NVIDIA_VAPPS#
enumerator NVML_BRAND_NVIDIA_VPC#
enumerator NVML_BRAND_NVIDIA_VCS#
enumerator NVML_BRAND_NVIDIA_VWS#
enumerator NVML_BRAND_NVIDIA_CLOUD_GAMING#
enumerator NVML_BRAND_NVIDIA_VGAMING#
enumerator NVML_BRAND_QUADRO_RTX#
enumerator NVML_BRAND_NVIDIA_RTX#
enumerator NVML_BRAND_NVIDIA#
enumerator NVML_BRAND_GEFORCE_RTX#
enumerator NVML_BRAND_TITAN_RTX#
enumerator NVML_BRAND_NVIDIA_DLA#
enumerator NVML_BRAND_NVIDIA_VGAMEDEV#
enumerator NVML_BRAND_NVIDIA_NPU#
enumerator NVML_BRAND_COUNT#
enum nvmlClockId_t#

Clock Ids.

These are used in combination with nvmlClockType_t to specify a single clock value.

Values:

enumerator NVML_CLOCK_ID_CURRENT#

Current actual clock value.

enumerator NVML_CLOCK_ID_APP_CLOCK_TARGET#

Target application clock. Deprecated, do not use.

enumerator NVML_CLOCK_ID_APP_CLOCK_DEFAULT#

Default application clock target Deprecated, do not use.

enumerator NVML_CLOCK_ID_CUSTOMER_BOOST_MAX#

OEM-defined maximum clock rate.

enumerator NVML_CLOCK_ID_COUNT#

Count of Clock Ids.

enum nvmlClockType_t#

Clock types.

All speeds are in Mhz.

Values:

enumerator NVML_CLOCK_GRAPHICS#

Graphics clock domain.

enumerator NVML_CLOCK_SM#

SM clock domain.

enumerator NVML_CLOCK_MEM#

Memory clock domain.

enumerator NVML_CLOCK_VIDEO#

Video encoder/decoder clock domain.

enumerator NVML_CLOCK_COUNT#

Count of clock types.

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:

enumerator NVML_COMPUTEMODE_DEFAULT#

Default compute mode — multiple contexts per device.

enumerator NVML_COMPUTEMODE_EXCLUSIVE_THREAD#

Support Removed.

enumerator NVML_COMPUTEMODE_PROHIBITED#

Compute-prohibited mode — no contexts per device.

enumerator NVML_COMPUTEMODE_EXCLUSIVE_PROCESS#

Compute-exclusive-process mode — only one context per device, usable from multiple threads at a time.

enumerator NVML_COMPUTEMODE_COUNT#
enum nvmlDriverModel_t#

Driver models.

Windows only.

Values:

enumerator NVML_DRIVER_WDDM#

WDDM driver model — GPU treated as a display device.

enumerator NVML_DRIVER_WDM#

WDM (TCC) model (deprecated) — GPU treated as a generic compute device.

enumerator NVML_DRIVER_MCDM#

MCDM driver model — GPU treated as a Microsoft compute device.

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:

enumerator NVML_VOLATILE_ECC#

Volatile counts are reset each time the driver loads.

enumerator NVML_AGGREGATE_ECC#

Aggregate counts persist across reboots (i.e. for the lifetime of the device)

enumerator NVML_ECC_COUNTER_TYPE_COUNT#

Count of memory counter types.

enum nvmlEnableState_t#

Generic enable/disable enum.

Values:

enumerator NVML_FEATURE_DISABLED#

Feature disabled.

enumerator NVML_FEATURE_ENABLED#

Feature enabled.

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.

Values:

enumerator NVML_GOM_ALL_ON#

Everything is enabled and running at full speed.

enumerator NVML_GOM_COMPUTE#

Designed for running only compute tasks. Graphics operations are not allowed.

enumerator NVML_GOM_LOW_DP#

Designed for running graphics applications that don’t require high bandwidth double precision.

enum nvmlGpuUtilizationDomainId_t#

Represents the GPU utilization domains.

Values:

enumerator NVML_GPU_UTILIZATION_DOMAIN_GPU#

Graphics engine domain.

enumerator NVML_GPU_UTILIZATION_DOMAIN_FB#

Frame buffer domain.

enumerator NVML_GPU_UTILIZATION_DOMAIN_VID#

Video engine domain.

enumerator NVML_GPU_UTILIZATION_DOMAIN_BUS#

Bus interface domain.

enum nvmlInforomObject_t#

Available infoROM objects.

Values:

enumerator NVML_INFOROM_OEM#

An object defined by OEM.

enumerator NVML_INFOROM_ECC#

The ECC object determining the level of ECC support.

enumerator NVML_INFOROM_POWER#

The power management object.

enumerator NVML_INFOROM_DEN#

DRAM Encryption object.

enumerator NVML_INFOROM_COUNT#

This counts the number of infoROM objects the driver knows about.

enum nvmlMemoryErrorType_t#

Memory error types.

Values:

enumerator NVML_MEMORY_ERROR_TYPE_CORRECTED#

A memory error that was corrected.

For ECC errors, these are single bit errors For Texture memory, these are errors fixed by resend

enumerator NVML_MEMORY_ERROR_TYPE_UNCORRECTED#

A memory error that was not corrected.

For ECC errors, these are double bit errors For Texture memory, these are errors where the resend fails

enumerator NVML_MEMORY_ERROR_TYPE_COUNT#

Count of memory error types.

enum nvmlMemoryLocation_t#

See nvmlDeviceGetMemoryErrorCounter.

Values:

enumerator NVML_MEMORY_LOCATION_L1_CACHE#

GPU L1 Cache.

enumerator NVML_MEMORY_LOCATION_L2_CACHE#

GPU L2 Cache.

enumerator NVML_MEMORY_LOCATION_DRAM#

Turing+ DRAM.

enumerator NVML_MEMORY_LOCATION_DEVICE_MEMORY#

GPU Device Memory.

enumerator NVML_MEMORY_LOCATION_REGISTER_FILE#

GPU Register File.

enumerator NVML_MEMORY_LOCATION_TEXTURE_MEMORY#

GPU Texture Memory.

enumerator NVML_MEMORY_LOCATION_TEXTURE_SHM#

Shared memory.

enumerator NVML_MEMORY_LOCATION_CBU#

CBU.

enumerator NVML_MEMORY_LOCATION_SRAM#

Turing+ SRAM.

enumerator NVML_MEMORY_LOCATION_COUNT#

This counts the number of memory locations the driver knows about.

enum nvmlPageRetirementCause_t#

Causes for page retirement.

Values:

enumerator NVML_PAGE_RETIREMENT_CAUSE_MULTIPLE_SINGLE_BIT_ECC_ERRORS#

Page was retired due to multiple single bit ECC error.

enumerator NVML_PAGE_RETIREMENT_CAUSE_DOUBLE_BIT_ECC_ERROR#

Page was retired due to double bit ECC error.

enumerator NVML_PAGE_RETIREMENT_CAUSE_COUNT#
enum nvmlPstates_t#

Allowed PStates.

Values:

enumerator NVML_PSTATE_0#

Performance state 0 — Maximum Performance.

enumerator NVML_PSTATE_1#

Performance state 1.

enumerator NVML_PSTATE_2#

Performance state 2.

enumerator NVML_PSTATE_3#

Performance state 3.

enumerator NVML_PSTATE_4#

Performance state 4.

enumerator NVML_PSTATE_5#

Performance state 5.

enumerator NVML_PSTATE_6#

Performance state 6.

enumerator NVML_PSTATE_7#

Performance state 7.

enumerator NVML_PSTATE_8#

Performance state 8.

enumerator NVML_PSTATE_9#

Performance state 9.

enumerator NVML_PSTATE_10#

Performance state 10.

enumerator NVML_PSTATE_11#

Performance state 11.

enumerator NVML_PSTATE_12#

Performance state 12.

enumerator NVML_PSTATE_13#

Performance state 13.

enumerator NVML_PSTATE_14#

Performance state 14.

enumerator NVML_PSTATE_15#

Performance state 15 — Minimum Performance.

enumerator NVML_PSTATE_UNKNOWN#

Unknown performance state.

enum nvmlRestrictedAPI_t#

API types that allow changes to default permission restrictions.

Values:

enumerator NVML_RESTRICTED_API_SET_APPLICATION_CLOCKS#

APIs that change application clocks, see nvmlDeviceSetApplicationsClocks and see nvmlDeviceResetApplicationsClocks. Deprecated, keeping definition for backward compatibility.

enumerator NVML_RESTRICTED_API_SET_AUTO_BOOSTED_CLOCKS#

APIs that enable/disable Auto Boosted clocks see nvmlDeviceSetAutoBoostedClocksEnabled.

enumerator NVML_RESTRICTED_API_COUNT#
enum nvmlReturn_t#

Return values for NVML API calls.

Values:

enumerator NVML_SUCCESS#

The operation was successful.

enumerator NVML_ERROR_UNINITIALIZED#

NVML was not first initialized with nvmlInit()

enumerator NVML_ERROR_INVALID_ARGUMENT#

A supplied argument is invalid.

enumerator NVML_ERROR_NOT_SUPPORTED#

The requested operation is not available on target device.

enumerator NVML_ERROR_NO_PERMISSION#

The current user does not have permission for operation.

enumerator NVML_ERROR_ALREADY_INITIALIZED#

Deprecated: Multiple initializations are now allowed through ref counting.

enumerator NVML_ERROR_NOT_FOUND#

A query to find an object was unsuccessful.

enumerator NVML_ERROR_INSUFFICIENT_SIZE#

An input argument is not large enough.

enumerator NVML_ERROR_INSUFFICIENT_POWER#

A device’s external power cables are not properly attached.

enumerator NVML_ERROR_DRIVER_NOT_LOADED#

NVIDIA driver is not loaded.

enumerator NVML_ERROR_TIMEOUT#

User provided timeout passed.

enumerator NVML_ERROR_IRQ_ISSUE#

NVIDIA Kernel detected an interrupt issue with a GPU.

enumerator NVML_ERROR_LIBRARY_NOT_FOUND#

NVML Shared Library couldn’t be found or loaded.

enumerator NVML_ERROR_FUNCTION_NOT_FOUND#

Local version of NVML doesn’t implement this function.

enumerator NVML_ERROR_CORRUPTED_INFOROM#

infoROM is corrupted

enumerator NVML_ERROR_GPU_IS_LOST#

The GPU has fallen off the bus or has otherwise become inaccessible.

enumerator NVML_ERROR_RESET_REQUIRED#

The GPU requires a reset before it can be used again.

enumerator NVML_ERROR_OPERATING_SYSTEM#

The GPU control device has been blocked by the operating system/cgroups.

enumerator NVML_ERROR_LIB_RM_VERSION_MISMATCH#

RM detects a driver/library version mismatch.

enumerator NVML_ERROR_IN_USE#

An operation cannot be performed because the GPU is currently in use.

enumerator NVML_ERROR_MEMORY#

Insufficient memory.

enumerator NVML_ERROR_NO_DATA#

No data.

enumerator NVML_ERROR_VGPU_ECC_NOT_SUPPORTED#

The requested vgpu operation is not available on target device, becasue ECC is enabled.

enumerator NVML_ERROR_INSUFFICIENT_RESOURCES#

Ran out of critical resources, other than memory.

enumerator NVML_ERROR_FREQ_NOT_SUPPORTED#

Ran out of critical resources, other than memory.

enumerator NVML_ERROR_ARGUMENT_VERSION_MISMATCH#

The provided version is invalid/unsupported.

enumerator NVML_ERROR_DEPRECATED#

The requested functionality has been deprecated.

enumerator NVML_ERROR_NOT_READY#

The system is not ready for the request.

enumerator NVML_ERROR_GPU_NOT_FOUND#

No GPUs were found.

enumerator NVML_ERROR_INVALID_STATE#

Resource not in correct state to perform requested operation.

enumerator NVML_ERROR_RESET_TYPE_NOT_SUPPORTED#

Reset not supported for given device/parameters.

enumerator NVML_ERROR_UNKNOWN#

An internal driver error occurred.

enum nvmlTemperatureSensors_t#

Temperature sensors.

Values:

enumerator NVML_TEMPERATURE_GPU#

Temperature sensor for the GPU die.

enumerator NVML_TEMPERATURE_GPU_MAX#

Temperature from the hottest part of the GPU die.

enumerator NVML_TEMPERATURE_COUNT#
enum nvmlTemperatureThresholds_t#

Temperature thresholds.

Values:

enumerator NVML_TEMPERATURE_THRESHOLD_SHUTDOWN#

Temperature at which the GPU will shut down for HW protection.

enumerator NVML_TEMPERATURE_THRESHOLD_SLOWDOWN#

Temperature at which the GPU will begin HW slowdown.

enumerator NVML_TEMPERATURE_THRESHOLD_MEM_MAX#

Memory Temperature at which the GPU will begin SW slowdown.

enumerator NVML_TEMPERATURE_THRESHOLD_GPU_MAX#

GPU Temperature at which the GPU can be throttled below base clock.

enumerator NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_MIN#

Minimum GPU Temperature that can be set as acoustic threshold.

enumerator NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_CURR#

Current temperature that is set as acoustic threshold.

enumerator NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_MAX#

Maximum GPU temperature that can be set as acoustic threshold.

enumerator NVML_TEMPERATURE_THRESHOLD_GPS_CURR#

Current temperature that is set as gps threshold.

enumerator NVML_TEMPERATURE_THRESHOLD_COUNT#

Typedefs#

typedef unsigned int nvmlBusType_t#
typedef nvmlClockOffset_v1_t nvmlClockOffset_t#
typedef unsigned int nvmlDeviceArchitecture_t#
typedef nvmlDeviceCurrentClockFreqs_v1_t nvmlDeviceCurrentClockFreqs_t#
typedef nvmlDevicePerfModes_v1_t nvmlDevicePerfModes_t#
typedef nvmlDramEncryptionInfo_v1_t nvmlDramEncryptionInfo_t#
typedef nvmlEccSramErrorStatus_v1_t nvmlEccSramErrorStatus_t#
typedef nvmlEccSramUniqueUncorrectedErrorCounts_v1_t nvmlEccSramUniqueUncorrectedErrorCounts_t#
typedef unsigned int nvmlFanControlPolicy_t#
typedef nvmlFanSpeedInfo_v1_t nvmlFanSpeedInfo_t#
typedef nvmlMarginTemperature_v1_t nvmlMarginTemperature_t#
typedef nvmlPlatformInfo_v2_t nvmlPlatformInfo_t#
typedef unsigned char nvmlPowerScopeType_t#
typedef unsigned int nvmlPowerSource_t#
typedef nvmlProcessesUtilizationInfo_v1_t nvmlProcessesUtilizationInfo_t#