[][src]Module nvml_binding::bindings

Re-exports

pub use self::nvmlBridgeChipType_enum as nvmlBridgeChipType_t;
pub use self::nvmlNvLinkUtilizationCountUnits_enum as nvmlNvLinkUtilizationCountUnits_t;
pub use self::nvmlNvLinkUtilizationCountPktTypes_enum as nvmlNvLinkUtilizationCountPktTypes_t;
pub use self::nvmlNvLinkCapability_enum as nvmlNvLinkCapability_t;
pub use self::nvmlNvLinkErrorCounter_enum as nvmlNvLinkErrorCounter_t;
pub use self::nvmlGpuLevel_enum as nvmlGpuTopologyLevel_t;
pub use self::nvmlGpuP2PStatus_enum as nvmlGpuP2PStatus_t;
pub use self::nvmlGpuP2PCapsIndex_enum as nvmlGpuP2PCapsIndex_t;
pub use self::nvmlSamplingType_enum as nvmlSamplingType_t;
pub use self::nvmlPcieUtilCounter_enum as nvmlPcieUtilCounter_t;
pub use self::nvmlValueType_enum as nvmlValueType_t;
pub use self::nvmlPerfPolicyType_enum as nvmlPerfPolicyType_t;
pub use self::nvmlEnableState_enum as nvmlEnableState_t;
pub use self::nvmlBrandType_enum as nvmlBrandType_t;
pub use self::nvmlTemperatureThresholds_enum as nvmlTemperatureThresholds_t;
pub use self::nvmlTemperatureSensors_enum as nvmlTemperatureSensors_t;
pub use self::nvmlComputeMode_enum as nvmlComputeMode_t;
pub use self::nvmlMemoryErrorType_enum as nvmlMemoryErrorType_t;
pub use self::nvmlEccCounterType_enum as nvmlEccCounterType_t;
pub use self::nvmlClockType_enum as nvmlClockType_t;
pub use self::nvmlClockId_enum as nvmlClockId_t;
pub use self::nvmlDriverModel_enum as nvmlDriverModel_t;
pub use self::nvmlPStates_enum as nvmlPstates_t;
pub use self::nvmlGom_enum as nvmlGpuOperationMode_t;
pub use self::nvmlInforomObject_enum as nvmlInforomObject_t;
pub use self::nvmlReturn_enum as nvmlReturn_t;
pub use self::nvmlMemoryLocation_enum as nvmlMemoryLocation_t;
pub use self::nvmlPageRetirementCause_enum as nvmlPageRetirementCause_t;
pub use self::nvmlRestrictedAPI_enum as nvmlRestrictedAPI_t;
pub use self::nvmlGpuVirtualizationMode as nvmlGpuVirtualizationMode_t;
pub use self::nvmlFanState_enum as nvmlFanState_t;
pub use self::nvmlLedColor_enum as nvmlLedColor_t;
pub use self::nvmlVgpuVmIdType as nvmlVgpuVmIdType_t;
pub use self::nvmlVgpuGuestInfoState_enum as nvmlVgpuGuestInfoState_t;
pub use self::nvmlEncoderQueryType_enum as nvmlEncoderType_t;
pub use self::nvmlFBCSessionType_enum as nvmlFBCSessionType_t;
pub use self::nvmlDetachGpuState_enum as nvmlDetachGpuState_t;
pub use self::nvmlPcieLinkState_enum as nvmlPcieLinkState_t;
pub use self::nvmlVgpuVmCompatibility_enum as nvmlVgpuVmCompatibility_t;
pub use self::nvmlVgpuPgpuCompatibilityLimitCode_enum as nvmlVgpuPgpuCompatibilityLimitCode_t;

Structs

nvmlAccountingStats_st

Describes accounting statistics of a process.

nvmlBAR1Memory_st

BAR1 Memory allocation Information for a device

nvmlBlacklistDeviceInfo_st

Blacklist GPU device information

nvmlBridgeChipHierarchy_st

This structure stores the complete Hierarchy of the Bridge Chip within the board. The immediate bridge is stored at index 0 of bridgeInfoList, parent to immediate bridge is at index 1 and so forth.

nvmlBridgeChipInfo_st

Information about the Bridge Chip Firmware

nvmlDevice_st
nvmlEccErrorCounts_st

Detailed ECC error counts for a device.

nvmlEncoderSessionInfo_st

Structure to hold encoder session data

nvmlEventData_st

Information about occurred event

nvmlEventSet_st
nvmlFBCSessionInfo_st

Structure to hold FBC session data

nvmlFBCStats_st

Structure to hold frame buffer capture sessions stats

nvmlFieldValue_st

Information for a Field Value Sample

nvmlGridLicensableFeature_st

Structure containing GRID licensable feature information

nvmlGridLicensableFeatures_st

Structure to store GRID licensable features

nvmlHwbcEntry_st

Description of HWBC entry

nvmlLedState_st

LED states for an S-class unit.

nvmlMemory_st

Memory allocation information for a device.

nvmlNvLinkUtilizationControl_st

Struct to define the NVLINK counter controls

nvmlPSUInfo_st

Power usage information for an S-class unit. The power supply state is a human readable string that equals "Normal" or contains a combination of "Abnormal" plus one or more of the following:

nvmlPciInfo_st

PCI information about a GPU device.

nvmlProcessInfo_st

Information about running compute processes on the GPU

nvmlProcessUtilizationSample_st

Structure to store utilization value and process Id

nvmlSample_st

Information for Sample

nvmlUnitFanInfo_st

Fan speed reading for a single fan in an S-class unit.

nvmlUnitFanSpeeds_st

Fan speed readings for an entire S-class unit.

nvmlUnitInfo_st

Static S-class unit info.

nvmlUnit_st
nvmlUtilization_st

Utilization information for a device. Each sample period may be between 1 second and 1/6 second, depending on the product being queried.

nvmlVgpuInstanceUtilizationSample_st

Structure to store Utilization Value and vgpuInstance

nvmlVgpuMetadata_st

vGPU metadata structure.

nvmlVgpuPgpuCompatibility_st

vGPU-pGPU compatibility structure

nvmlVgpuPgpuMetadata_st

Physical GPU metadata structure

nvmlVgpuProcessUtilizationSample_st

Structure to store Utilization Value, vgpuInstance and subprocess information

nvmlVgpuVersion_st

Structure representing a range of vGPU version

nvmlViolationTime_st

Struct to hold perf policy violation status data

Constants

NVML_API_VERSION
NVML_API_VERSION_STR
NVML_DEVICE_INFOROM_VERSION_BUFFER_SIZE
NVML_DEVICE_NAME_BUFFER_SIZE
NVML_DEVICE_PART_NUMBER_BUFFER_SIZE
NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE
NVML_DEVICE_PCI_BUS_ID_BUFFER_V2_SIZE
NVML_DEVICE_PCI_BUS_ID_FMT
NVML_DEVICE_PCI_BUS_ID_LEGACY_FMT
NVML_DEVICE_SERIAL_BUFFER_SIZE
NVML_DEVICE_UUID_BUFFER_SIZE
NVML_DEVICE_VBIOS_VERSION_BUFFER_SIZE
NVML_FI_DEV_ECC_CURRENT
NVML_FI_DEV_ECC_DBE_AGG_CBU
NVML_FI_DEV_ECC_DBE_AGG_DEV
NVML_FI_DEV_ECC_DBE_AGG_L1
NVML_FI_DEV_ECC_DBE_AGG_L2
NVML_FI_DEV_ECC_DBE_AGG_REG
NVML_FI_DEV_ECC_DBE_AGG_TEX
NVML_FI_DEV_ECC_DBE_AGG_TOTAL
NVML_FI_DEV_ECC_DBE_VOL_CBU
NVML_FI_DEV_ECC_DBE_VOL_DEV
NVML_FI_DEV_ECC_DBE_VOL_L1
NVML_FI_DEV_ECC_DBE_VOL_L2
NVML_FI_DEV_ECC_DBE_VOL_REG
NVML_FI_DEV_ECC_DBE_VOL_TEX
NVML_FI_DEV_ECC_DBE_VOL_TOTAL
NVML_FI_DEV_ECC_PENDING
NVML_FI_DEV_ECC_SBE_AGG_DEV
NVML_FI_DEV_ECC_SBE_AGG_L1
NVML_FI_DEV_ECC_SBE_AGG_L2
NVML_FI_DEV_ECC_SBE_AGG_REG
NVML_FI_DEV_ECC_SBE_AGG_TEX
NVML_FI_DEV_ECC_SBE_AGG_TOTAL
NVML_FI_DEV_ECC_SBE_VOL_DEV
NVML_FI_DEV_ECC_SBE_VOL_L1
NVML_FI_DEV_ECC_SBE_VOL_L2
NVML_FI_DEV_ECC_SBE_VOL_REG
NVML_FI_DEV_ECC_SBE_VOL_TEX
NVML_FI_DEV_ECC_SBE_VOL_TOTAL
NVML_FI_DEV_MEMORY_TEMP
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_TOTAL
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_TOTAL
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L0
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L1
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L2
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L3
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L4
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L5
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L0
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L1
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L2
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L3
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L4
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L5
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L0
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L1
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L2
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L3
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L4
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L5
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_TOTAL
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L0
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L1
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L2
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L3
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L4
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L5
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_TOTAL
NVML_FI_DEV_NVLINK_LINK_COUNT
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L0
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L1
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L2
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L3
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L4
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L5
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_TOTAL
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L0
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L1
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L2
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L3
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L4
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L5
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_TOTAL
NVML_FI_DEV_NVLINK_SPEED_MBPS_COMMON
NVML_FI_DEV_NVLINK_SPEED_MBPS_L0
NVML_FI_DEV_NVLINK_SPEED_MBPS_L1
NVML_FI_DEV_NVLINK_SPEED_MBPS_L2
NVML_FI_DEV_NVLINK_SPEED_MBPS_L3
NVML_FI_DEV_NVLINK_SPEED_MBPS_L4
NVML_FI_DEV_NVLINK_SPEED_MBPS_L5
NVML_FI_DEV_PCIE_REPLAY_COUNTER
NVML_FI_DEV_PCIE_REPLAY_ROLLOVER_COUNTER
NVML_FI_DEV_PERF_POLICY_BOARD_LIMIT
NVML_FI_DEV_PERF_POLICY_LOW_UTILIZATION
NVML_FI_DEV_PERF_POLICY_POWER
NVML_FI_DEV_PERF_POLICY_RELIABILITY
NVML_FI_DEV_PERF_POLICY_SYNC_BOOST
NVML_FI_DEV_PERF_POLICY_THERMAL
NVML_FI_DEV_PERF_POLICY_TOTAL_APP_CLOCKS
NVML_FI_DEV_PERF_POLICY_TOTAL_BASE_CLOCKS
NVML_FI_DEV_RETIRED_DBE
NVML_FI_DEV_RETIRED_PENDING
NVML_FI_DEV_RETIRED_PENDING_DBE
NVML_FI_DEV_RETIRED_PENDING_SBE
NVML_FI_DEV_RETIRED_SBE
NVML_FI_DEV_TOTAL_ENERGY_CONSUMPTION
NVML_FI_MAX
NVML_GRID_LICENSE_BUFFER_SIZE
NVML_GRID_LICENSE_FEATURE_MAX_COUNT
NVML_INIT_FLAG_NO_ATTACH
NVML_INIT_FLAG_NO_GPUS
NVML_MAX_PHYSICAL_BRIDGE
NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_INFINITE
NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_NO_WAIT
NVML_NVFBC_SESSION_FLAG_CAPTURE_WITH_WAIT_TIMEOUT
NVML_NVFBC_SESSION_FLAG_CLASSIFICATIONMAP_ENABLED
NVML_NVFBC_SESSION_FLAG_DIFFMAP_ENABLED
NVML_NVLINK_MAX_LINKS
NVML_SYSTEM_DRIVER_VERSION_BUFFER_SIZE
NVML_SYSTEM_NVML_VERSION_BUFFER_SIZE
NVML_VALUE_NOT_AVAILABLE
NVML_VGPU_NAME_BUFFER_SIZE
NVML_VGPU_PGPU_VIRTUALIZATION_CAP_MIGRATION_NO
NVML_VGPU_PGPU_VIRTUALIZATION_CAP_MIGRATION_YES
nvmlBrandType_enum_NVML_BRAND_COUNT
nvmlBrandType_enum_NVML_BRAND_GEFORCE
nvmlBrandType_enum_NVML_BRAND_GRID
nvmlBrandType_enum_NVML_BRAND_NVS
nvmlBrandType_enum_NVML_BRAND_QUADRO
nvmlBrandType_enum_NVML_BRAND_TESLA
nvmlBrandType_enum_NVML_BRAND_TITAN
nvmlBrandType_enum_NVML_BRAND_UNKNOWN
nvmlBridgeChipType_enum_NVML_BRIDGE_CHIP_BRO4
nvmlBridgeChipType_enum_NVML_BRIDGE_CHIP_PLX
nvmlClockId_enum_NVML_CLOCK_ID_APP_CLOCK_DEFAULT

!< Default application clock target

nvmlClockId_enum_NVML_CLOCK_ID_APP_CLOCK_TARGET

!< Target application clock

nvmlClockId_enum_NVML_CLOCK_ID_COUNT

!< Count of Clock Ids.

nvmlClockId_enum_NVML_CLOCK_ID_CURRENT

!< Current actual clock value

nvmlClockId_enum_NVML_CLOCK_ID_CUSTOMER_BOOST_MAX

!< OEM-defined maximum clock rate

nvmlClockType_enum_NVML_CLOCK_COUNT

!< Count of clock types

nvmlClockType_enum_NVML_CLOCK_GRAPHICS

!< Graphics clock domain

nvmlClockType_enum_NVML_CLOCK_MEM

!< Memory clock domain

nvmlClockType_enum_NVML_CLOCK_SM

!< SM clock domain

nvmlClockType_enum_NVML_CLOCK_VIDEO

!< Video encoder/decoder clock domain

nvmlClocksThrottleReasonApplicationsClocksSetting
nvmlClocksThrottleReasonDisplayClockSetting
nvmlClocksThrottleReasonGpuIdle
nvmlClocksThrottleReasonHwPowerBrakeSlowdown
nvmlClocksThrottleReasonHwSlowdown
nvmlClocksThrottleReasonHwThermalSlowdown
nvmlClocksThrottleReasonNone
nvmlClocksThrottleReasonSwPowerCap
nvmlClocksThrottleReasonSwThermalSlowdown
nvmlClocksThrottleReasonSyncBoost
nvmlClocksThrottleReasonUserDefinedClocks
nvmlComputeMode_enum_NVML_COMPUTEMODE_COUNT
nvmlComputeMode_enum_NVML_COMPUTEMODE_DEFAULT

!< Default compute mode -- multiple contexts per device

nvmlComputeMode_enum_NVML_COMPUTEMODE_EXCLUSIVE_PROCESS

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

nvmlComputeMode_enum_NVML_COMPUTEMODE_EXCLUSIVE_THREAD

!< Support Removed

nvmlComputeMode_enum_NVML_COMPUTEMODE_PROHIBITED

!< Compute-prohibited mode -- no contexts per device

nvmlDetachGpuState_enum_NVML_DETACH_GPU_KEEP
nvmlDetachGpuState_enum_NVML_DETACH_GPU_REMOVE
nvmlDriverModel_enum_NVML_DRIVER_WDDM

!< WDDM driver model -- GPU treated as a display device

nvmlDriverModel_enum_NVML_DRIVER_WDM

!< WDM (TCC) model (recommended) -- GPU treated as a generic device

nvmlEccCounterType_enum_NVML_AGGREGATE_ECC

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

nvmlEccCounterType_enum_NVML_ECC_COUNTER_TYPE_COUNT

!< Count of memory counter types

nvmlEccCounterType_enum_NVML_VOLATILE_ECC

!< Volatile counts are reset each time the driver loads.

nvmlEnableState_enum_NVML_FEATURE_DISABLED

!< Feature disabled

nvmlEnableState_enum_NVML_FEATURE_ENABLED

!< Feature enabled

nvmlEncoderQueryType_enum_NVML_ENCODER_QUERY_H264

!< H264 encoder

nvmlEncoderQueryType_enum_NVML_ENCODER_QUERY_HEVC

!< HEVC encoder

nvmlEventTypeAll
nvmlEventTypeClock
nvmlEventTypeDoubleBitEccError
nvmlEventTypeNone
nvmlEventTypePState
nvmlEventTypeSingleBitEccError
nvmlEventTypeXidCriticalError
nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_CUDA

!< Cuda

nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_HWENC

!< HEnc

nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_TOSYS

!< ToSys

nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_UNKNOWN

!< Unknwon

nvmlFBCSessionType_enum_NVML_FBC_SESSION_TYPE_VID

!< Vid

nvmlFanState_enum_NVML_FAN_FAILED

!< Fan has failed

nvmlFanState_enum_NVML_FAN_NORMAL

!< Fan is working properly

nvmlFlagDefault
nvmlFlagForce
nvmlGom_enum_NVML_GOM_ALL_ON

!< Everything is enabled and running at full speed

nvmlGom_enum_NVML_GOM_COMPUTE

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

nvmlGom_enum_NVML_GOM_LOW_DP

!< Designed for running graphics applications that don't require !< high bandwidth double precision

nvmlGpuLevel_enum_NVML_TOPOLOGY_HOSTBRIDGE
nvmlGpuLevel_enum_NVML_TOPOLOGY_INTERNAL
nvmlGpuLevel_enum_NVML_TOPOLOGY_MULTIPLE
nvmlGpuLevel_enum_NVML_TOPOLOGY_NODE
nvmlGpuLevel_enum_NVML_TOPOLOGY_SINGLE
nvmlGpuLevel_enum_NVML_TOPOLOGY_SYSTEM
nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_READ
nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_WRITE
nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_NVLINK
nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_ATOMICS
nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_PROP
nvmlGpuP2PCapsIndex_enum_NVML_P2P_CAPS_INDEX_UNKNOWN
nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_OK
nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_CHIPSET_NOT_SUPPORED
nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_GPU_NOT_SUPPORTED
nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_IOH_TOPOLOGY_NOT_SUPPORTED
nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_DISABLED_BY_REGKEY
nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_NOT_SUPPORTED
nvmlGpuP2PStatus_enum_NVML_P2P_STATUS_UNKNOWN
nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_HOST_VGPU

!< Device is associated with VGX hypervisor in vGPU mode

nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_HOST_VSGA

!< Device is associated with VGX hypervisor in vSGA mode

nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_NONE

!< Represents Bare Metal GPU

nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_PASSTHROUGH

!< Device is associated with GPU-Passthorugh

nvmlGpuVirtualizationMode_NVML_GPU_VIRTUALIZATION_MODE_VGPU

!< Device is associated with vGPU inside virtual machine.

nvmlGridLicenseFeatureCode_t_NVML_GRID_LICENSE_FEATURE_CODE_VGPU

!< Virtual GPU

nvmlGridLicenseFeatureCode_t_NVML_GRID_LICENSE_FEATURE_CODE_VWORKSTATION

!< Virtual Workstation

nvmlInforomObject_enum_NVML_INFOROM_COUNT

!< This counts the number of infoROM objects the driver knows about

nvmlInforomObject_enum_NVML_INFOROM_ECC

!< The ECC object determining the level of ECC support

nvmlInforomObject_enum_NVML_INFOROM_OEM

!< An object defined by OEM

nvmlInforomObject_enum_NVML_INFOROM_POWER

!< The power management object

nvmlLedColor_enum_NVML_LED_COLOR_AMBER

!< AMBER, indicates problem

nvmlLedColor_enum_NVML_LED_COLOR_GREEN

!< GREEN, indicates good health

nvmlMemoryErrorType_enum_NVML_MEMORY_ERROR_TYPE_CORRECTED

A memory error that was corrected

nvmlMemoryErrorType_enum_NVML_MEMORY_ERROR_TYPE_COUNT

!< Count of memory error types

nvmlMemoryErrorType_enum_NVML_MEMORY_ERROR_TYPE_UNCORRECTED

A memory error that was not corrected

nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_CBU

!< CBU

nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_COUNT

!< This counts the number of memory locations the driver knows about

nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_DEVICE_MEMORY

!< GPU Device Memory

nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_DRAM

!< Turing+ DRAM

nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_L1_CACHE

!< GPU L1 Cache

nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_L2_CACHE

!< GPU L2 Cache

nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_REGISTER_FILE

!< GPU Register File

nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_SRAM

!< Turing+ SRAM

nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_TEXTURE_MEMORY

!< GPU Texture Memory

nvmlMemoryLocation_enum_NVML_MEMORY_LOCATION_TEXTURE_SHM

!< Shared memory

nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_COUNT
nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_P2P_SUPPORTED
nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_P2P_ATOMICS
nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_SLI_BRIDGE
nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_SYSMEM_ACCESS
nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_SYSMEM_ATOMICS
nvmlNvLinkCapability_enum_NVML_NVLINK_CAP_VALID
nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_COUNT
nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_DL_CRC_DATA
nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_DL_CRC_FLIT
nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_DL_RECOVERY
nvmlNvLinkErrorCounter_enum_NVML_NVLINK_ERROR_DL_REPLAY
nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_ALL
nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_FLUSH
nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_NOP
nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_NRATOM
nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_RATOM
nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_READ
nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_RESPDATA
nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_RESPNODATA
nvmlNvLinkUtilizationCountPktTypes_enum_NVML_NVLINK_COUNTER_PKTFILTER_WRITE
nvmlNvLinkUtilizationCountUnits_enum_NVML_NVLINK_COUNTER_UNIT_BYTES
nvmlNvLinkUtilizationCountUnits_enum_NVML_NVLINK_COUNTER_UNIT_COUNT
nvmlNvLinkUtilizationCountUnits_enum_NVML_NVLINK_COUNTER_UNIT_CYCLES
nvmlNvLinkUtilizationCountUnits_enum_NVML_NVLINK_COUNTER_UNIT_PACKETS
nvmlPStates_enum_NVML_PSTATE_0

!< Performance state 0 -- Maximum Performance

nvmlPStates_enum_NVML_PSTATE_1

!< Performance state 1

nvmlPStates_enum_NVML_PSTATE_2

!< Performance state 2

nvmlPStates_enum_NVML_PSTATE_3

!< Performance state 3

nvmlPStates_enum_NVML_PSTATE_4

!< Performance state 4

nvmlPStates_enum_NVML_PSTATE_5

!< Performance state 5

nvmlPStates_enum_NVML_PSTATE_6

!< Performance state 6

nvmlPStates_enum_NVML_PSTATE_7

!< Performance state 7

nvmlPStates_enum_NVML_PSTATE_8

!< Performance state 8

nvmlPStates_enum_NVML_PSTATE_9

!< Performance state 9

nvmlPStates_enum_NVML_PSTATE_10

!< Performance state 10

nvmlPStates_enum_NVML_PSTATE_11

!< Performance state 11

nvmlPStates_enum_NVML_PSTATE_12

!< Performance state 12

nvmlPStates_enum_NVML_PSTATE_13

!< Performance state 13

nvmlPStates_enum_NVML_PSTATE_14

!< Performance state 14

nvmlPStates_enum_NVML_PSTATE_15

!< Performance state 15 -- Minimum Performance

nvmlPStates_enum_NVML_PSTATE_UNKNOWN

!< Unknown performance state

nvmlPageRetirementCause_enum_NVML_PAGE_RETIREMENT_CAUSE_COUNT
nvmlPageRetirementCause_enum_NVML_PAGE_RETIREMENT_CAUSE_DOUBLE_BIT_ECC_ERROR

!< Page was retired due to double bit ECC error

nvmlPageRetirementCause_enum_NVML_PAGE_RETIREMENT_CAUSE_MULTIPLE_SINGLE_BIT_ECC_ERRORS

!< Page was retired due to multiple single bit ECC error

nvmlPcieLinkState_enum_NVML_PCIE_LINK_KEEP
nvmlPcieLinkState_enum_NVML_PCIE_LINK_SHUT_DOWN
nvmlPcieUtilCounter_enum_NVML_PCIE_UTIL_COUNT
nvmlPcieUtilCounter_enum_NVML_PCIE_UTIL_RX_BYTES
nvmlPcieUtilCounter_enum_NVML_PCIE_UTIL_TX_BYTES
nvmlPerfPolicyType_enum_NVML_PERF_POLICY_BOARD_LIMIT

!< How long did the board limit cause the GPU to be below application clocks

nvmlPerfPolicyType_enum_NVML_PERF_POLICY_COUNT
nvmlPerfPolicyType_enum_NVML_PERF_POLICY_LOW_UTILIZATION

!< How long did low utilization cause the GPU to be below application clocks

nvmlPerfPolicyType_enum_NVML_PERF_POLICY_POWER

!< How long did power violations cause the GPU to be below application clocks

nvmlPerfPolicyType_enum_NVML_PERF_POLICY_RELIABILITY

!< How long did the board reliability limit cause the GPU to be below application clocks

nvmlPerfPolicyType_enum_NVML_PERF_POLICY_SYNC_BOOST

!< How long did sync boost cause the GPU to be below application clocks

nvmlPerfPolicyType_enum_NVML_PERF_POLICY_THERMAL

!< How long did thermal violations cause the GPU to be below application clocks

nvmlPerfPolicyType_enum_NVML_PERF_POLICY_TOTAL_APP_CLOCKS

!< Total time the GPU was held below application clocks by any limiter (0 - 5 above)

nvmlPerfPolicyType_enum_NVML_PERF_POLICY_TOTAL_BASE_CLOCKS

!< Total time the GPU was held below base clocks

nvmlRestrictedAPI_enum_NVML_RESTRICTED_API_COUNT
nvmlRestrictedAPI_enum_NVML_RESTRICTED_API_SET_APPLICATION_CLOCKS

!< APIs that change application clocks, see nvmlDeviceSetApplicationsClocks !< and see nvmlDeviceResetApplicationsClocks

nvmlRestrictedAPI_enum_NVML_RESTRICTED_API_SET_AUTO_BOOSTED_CLOCKS

!< APIs that enable/disable Auto Boosted clocks !< see nvmlDeviceSetAutoBoostedClocksEnabled

nvmlReturn_enum_NVML_ERROR_ALREADY_INITIALIZED

!< Deprecated: Multiple initializations are now allowed through ref counting

nvmlReturn_enum_NVML_ERROR_CORRUPTED_INFOROM

!< infoROM is corrupted

nvmlReturn_enum_NVML_ERROR_DRIVER_NOT_LOADED

!< NVIDIA driver is not loaded

nvmlReturn_enum_NVML_ERROR_FUNCTION_NOT_FOUND

!< Local version of NVML doesn't implement this function

nvmlReturn_enum_NVML_ERROR_GPU_IS_LOST

!< The GPU has fallen off the bus or has otherwise become inaccessible

nvmlReturn_enum_NVML_ERROR_INSUFFICIENT_POWER

!< A device's external power cables are not properly attached

nvmlReturn_enum_NVML_ERROR_INSUFFICIENT_SIZE

!< An input argument is not large enough

nvmlReturn_enum_NVML_ERROR_INVALID_ARGUMENT

!< A supplied argument is invalid

nvmlReturn_enum_NVML_ERROR_IN_USE

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

nvmlReturn_enum_NVML_ERROR_IRQ_ISSUE

!< NVIDIA Kernel detected an interrupt issue with a GPU

nvmlReturn_enum_NVML_ERROR_LIBRARY_NOT_FOUND

!< NVML Shared Library couldn't be found or loaded

nvmlReturn_enum_NVML_ERROR_LIB_RM_VERSION_MISMATCH

!< RM detects a driver/library version mismatch

nvmlReturn_enum_NVML_ERROR_MEMORY

!< Insufficient memory

nvmlReturn_enum_NVML_ERROR_NOT_FOUND

!< A query to find an object was unsuccessful

nvmlReturn_enum_NVML_ERROR_NOT_SUPPORTED

!< The requested operation is not available on target device

nvmlReturn_enum_NVML_ERROR_NO_DATA

!<No data

nvmlReturn_enum_NVML_ERROR_NO_PERMISSION

!< The current user does not have permission for operation

nvmlReturn_enum_NVML_ERROR_OPERATING_SYSTEM

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

nvmlReturn_enum_NVML_ERROR_RESET_REQUIRED

!< The GPU requires a reset before it can be used again

nvmlReturn_enum_NVML_ERROR_TIMEOUT

!< User provided timeout passed

nvmlReturn_enum_NVML_ERROR_UNINITIALIZED

!< NVML was not first initialized with nvmlInit()

nvmlReturn_enum_NVML_ERROR_UNKNOWN

!< An internal driver error occurred

nvmlReturn_enum_NVML_ERROR_VGPU_ECC_NOT_SUPPORTED

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

nvmlReturn_enum_NVML_SUCCESS

!< The operation was successful

nvmlSamplingType_enum_NVML_DEC_UTILIZATION_SAMPLES

!< To represent percent of time during which NVDEC remains busy

nvmlSamplingType_enum_NVML_ENC_UTILIZATION_SAMPLES

!< To represent percent of time during which NVENC remains busy

nvmlSamplingType_enum_NVML_GPU_UTILIZATION_SAMPLES

!< To represent percent of time during which one or more kernels was executing on the GPU

nvmlSamplingType_enum_NVML_MEMORY_CLK_SAMPLES

!< To represent memory clock samples

nvmlSamplingType_enum_NVML_MEMORY_UTILIZATION_SAMPLES

!< To represent percent of time during which global (device) memory was being read or written

nvmlSamplingType_enum_NVML_PROCESSOR_CLK_SAMPLES

!< To represent processor clock samples

nvmlSamplingType_enum_NVML_SAMPLINGTYPE_COUNT
nvmlSamplingType_enum_NVML_TOTAL_POWER_SAMPLES

!< To represent total power drawn by GPU

nvmlTemperatureSensors_enum_NVML_TEMPERATURE_COUNT
nvmlTemperatureSensors_enum_NVML_TEMPERATURE_GPU

!< Temperature sensor for the GPU die

nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_COUNT
nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_GPU_MAX
nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_MEM_MAX
nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_SHUTDOWN
nvmlTemperatureThresholds_enum_NVML_TEMPERATURE_THRESHOLD_SLOWDOWN
nvmlValueType_enum_NVML_VALUE_TYPE_COUNT
nvmlValueType_enum_NVML_VALUE_TYPE_DOUBLE
nvmlValueType_enum_NVML_VALUE_TYPE_SIGNED_LONG_LONG
nvmlValueType_enum_NVML_VALUE_TYPE_UNSIGNED_INT
nvmlValueType_enum_NVML_VALUE_TYPE_UNSIGNED_LONG
nvmlValueType_enum_NVML_VALUE_TYPE_UNSIGNED_LONG_LONG
nvmlVgpuGuestInfoState_enum_NVML_VGPU_INSTANCE_GUEST_INFO_STATE_INITIALIZED

!< Guest-dependent fields initialized

nvmlVgpuGuestInfoState_enum_NVML_VGPU_INSTANCE_GUEST_INFO_STATE_UNINITIALIZED

!< Guest-dependent fields uninitialized

nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_GPU

!< Compatibility is limited by GPU hardware.

nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_GUEST_DRIVER

!< Compatibility is limited by guest driver version.

nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_HOST_DRIVER

!< ompatibility is limited by host driver version.

nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_NONE

!< Compatibility is not limited.

nvmlVgpuPgpuCompatibilityLimitCode_enum_NVML_VGPU_COMPATIBILITY_LIMIT_OTHER

!< Compatibility is limited by an undefined factor.

nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_COLD

!< vGPU is runnable from a cold / powered-off state (ACPI S5)

nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_HIBERNATE

!< vGPU is runnable from a hibernated state (ACPI S4)

nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_LIVE

!< vGPU is runnable from a live/paused (ACPI S0)

nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_NONE

!< vGPU is not runnable

nvmlVgpuVmCompatibility_enum_NVML_VGPU_VM_COMPATIBILITY_SLEEP

!< vGPU is runnable from a sleeped state (ACPI S3)

nvmlVgpuVmIdType_NVML_VGPU_VM_ID_DOMAIN_ID

!< VM ID represents DOMAIN ID

nvmlVgpuVmIdType_NVML_VGPU_VM_ID_UUID

!< VM ID represents UUID

Functions

nvmlDeviceClearAccountingPids

Clears accounting information about all processes that have already terminated.

nvmlDeviceClearCpuAffinity

Clear all affinity bindings for the calling thread. Note, this is a change as of version 8.0 as older versions cleared the affinity for a calling process and all children.

nvmlDeviceClearEccErrorCounts

Clear the ECC error and other memory error counts for the device.

nvmlDeviceDiscoverGpus

Request the OS and the NVIDIA kernel driver to rediscover a portion of the PCI subsystem looking for GPUs that were previously removed. The portion of the PCI tree can be narrowed by specifying a domain, bus, and device. If all are zeroes then the entire PCI tree will be searched. Please note that for long-running NVML processes the enumeration will change based on how many GPUs are discovered and where they are inserted in bus order.

nvmlDeviceFreezeNvLinkUtilizationCounter

Freeze the NVLINK utilization counters Both the receive and transmit counters are operated on by this function

nvmlDeviceGetAPIRestriction

Retrieves the root/admin permissions on the target API. See \a nvmlRestrictedAPI_t for the list of supported APIs. If an API is restricted only root users can call that API. See \a nvmlDeviceSetAPIRestriction to change current permissions.

nvmlDeviceGetAccountingBufferSize

Returns the number of processes that the circular buffer with accounting pids can hold.

nvmlDeviceGetAccountingMode

Queries the state of per process accounting mode.

nvmlDeviceGetAccountingPids

Queries list of processes that can be queried for accounting stats. The list of processes returned can be in running or terminated state.

nvmlDeviceGetAccountingStats

Queries process's accounting stats.

nvmlDeviceGetActiveVgpus

Retrieve the active vGPU instances on a device.

nvmlDeviceGetApplicationsClock

Retrieves the current setting of a clock that applications will use unless an overspec situation occurs. Can be changed using \ref nvmlDeviceSetApplicationsClocks.

nvmlDeviceGetAutoBoostedClocksEnabled

Retrieve the current state of Auto Boosted clocks on a device and store it in \a isEnabled

nvmlDeviceGetBAR1MemoryInfo

Gets Total, Available and Used size of BAR1 memory.

nvmlDeviceGetBoardId

Retrieves the device boardId from 0-N. Devices with the same boardId indicate GPUs connected to the same PLX. Use in conjunction with \ref nvmlDeviceGetMultiGpuBoard() to decide if they are on the same board as well. The boardId returned is a unique ID for the current configuration. Uniqueness and ordering across reboots and system configurations is not guaranteed (i.e. if a Tesla K40c returns 0x100 and the two GPUs on a Tesla K10 in the same system returns 0x200 it is not guaranteed they will always return those values but they will always be different from each other).

nvmlDeviceGetBoardPartNumber

Retrieves the the device board part number which is programmed into the board's InfoROM

nvmlDeviceGetBrand

Retrieves the brand of this device.

nvmlDeviceGetBridgeChipInfo

Get Bridge Chip Information for all the bridge chips on the board.

nvmlDeviceGetClock

Retrieves the clock speed for the clock specified by the clock type and clock ID.

nvmlDeviceGetClockInfo

Retrieves the current clock speeds for the device.

nvmlDeviceGetComputeMode

Retrieves the current compute mode for the device.

nvmlDeviceGetComputeRunningProcesses

Get information about processes with a compute context on a device

nvmlDeviceGetCount_v2
nvmlDeviceGetCpuAffinity

Retrieves an array of unsigned ints (sized to cpuSetSize) of bitmasks with the ideal CPU affinity for the device For example, if processors 0, 1, 32, and 33 are ideal for the device and cpuSetSize == 2, result[0] = 0x3, result[1] = 0x3

nvmlDeviceGetCreatableVgpus

Retrieve the currently creatable vGPU types on a physical GPU (device).

nvmlDeviceGetCudaComputeCapability

Retrieves the CUDA compute capability of the device.

nvmlDeviceGetCurrPcieLinkGeneration

Retrieves the current PCIe link generation

nvmlDeviceGetCurrPcieLinkWidth

Retrieves the current PCIe link width

nvmlDeviceGetCurrentClocksThrottleReasons

Retrieves current clocks throttling reasons.

nvmlDeviceGetDecoderUtilization

Retrieves the current utilization and sampling size in microseconds for the Decoder

nvmlDeviceGetDefaultApplicationsClock

Retrieves the default applications clock that GPU boots with or defaults to after \ref nvmlDeviceResetApplicationsClocks call.

nvmlDeviceGetDetailedEccErrors

Retrieves the detailed ECC error counts for the device.

nvmlDeviceGetDisplayActive

Retrieves the display active state for the device.

nvmlDeviceGetDisplayMode

Retrieves the display mode for the device.

nvmlDeviceGetDriverModel

Retrieves the current and pending driver model for the device.

nvmlDeviceGetEccMode

Retrieves the current and pending ECC modes for the device.

nvmlDeviceGetEncoderCapacity

Retrieves the current capacity of the device's encoder, as a percentage of maximum encoder capacity with valid values in the range 0-100.

nvmlDeviceGetEncoderSessions

Retrieves information about active encoder sessions on a target device.

nvmlDeviceGetEncoderStats

Retrieves the current encoder statistics for a given device.

nvmlDeviceGetEncoderUtilization

Retrieves the current utilization and sampling size in microseconds for the Encoder

nvmlDeviceGetEnforcedPowerLimit

Get the effective power limit that the driver enforces after taking into account all limiters

nvmlDeviceGetFBCSessions

Retrieves information about active frame buffer capture sessions on a target device.

nvmlDeviceGetFBCStats

Retrieves the active frame buffer capture sessions statistics for a given device.

nvmlDeviceGetFanSpeed

Retrieves the intended operating speed of the device's fan.

nvmlDeviceGetFanSpeed_v2

Retrieves the intended operating speed of the device's specified fan.

nvmlDeviceGetFieldValues

Request values for a list of fields for a device. This API allows multiple fields to be queried at once. If any of the underlying fieldIds are populated by the same driver call, the results for those field IDs will be populated from a single call rather than making a driver call for each fieldId.

nvmlDeviceGetGpuOperationMode

Retrieves the current GOM and pending GOM (the one that GPU will switch to after reboot).

nvmlDeviceGetGraphicsRunningProcesses

Get information about processes with a graphics context on a device

nvmlDeviceGetGridLicensableFeatures_v2
nvmlDeviceGetHandleByIndex_v2
nvmlDeviceGetHandleByPciBusId_v2
nvmlDeviceGetHandleBySerial

Acquire the handle for a particular device, based on its board serial number.

nvmlDeviceGetHandleByUUID

Acquire the handle for a particular device, based on its globally unique immutable UUID associated with each device.

nvmlDeviceGetIndex

Retrieves the NVML index of this device.

nvmlDeviceGetInforomConfigurationChecksum

Retrieves the checksum of the configuration stored in the device's infoROM.

nvmlDeviceGetInforomImageVersion

Retrieves the global infoROM image version

nvmlDeviceGetInforomVersion

Retrieves the version information for the device's infoROM object.

nvmlDeviceGetMaxClockInfo

Retrieves the maximum clock speeds for the device.

nvmlDeviceGetMaxCustomerBoostClock

Retrieves the customer defined maximum boost clock speed specified by the given clock type.

nvmlDeviceGetMaxPcieLinkGeneration

Retrieves the maximum PCIe link generation possible with this device and system

nvmlDeviceGetMaxPcieLinkWidth

Retrieves the maximum PCIe link width possible with this device and system

nvmlDeviceGetMemoryErrorCounter

Retrieves the requested memory error counter for the device.

nvmlDeviceGetMemoryInfo

Retrieves the amount of used, free and total memory available on the device, in bytes.

nvmlDeviceGetMinorNumber

Retrieves minor number for the device. The minor number for the device is such that the Nvidia device node file for each GPU will have the form /dev/nvidia[minor number].

nvmlDeviceGetMultiGpuBoard

Retrieves whether the device is on a Multi-GPU Board Devices that are on multi-GPU boards will set \a multiGpuBool to a non-zero value.

nvmlDeviceGetName

Retrieves the name of this device.

nvmlDeviceGetNvLinkCapability

Retrieves the requested capability from the device's NvLink for the link specified Please refer to the \a nvmlNvLinkCapability_t structure for the specific caps that can be queried The return value should be treated as a boolean.

nvmlDeviceGetNvLinkErrorCounter

Retrieves the specified error counter value Please refer to \a nvmlNvLinkErrorCounter_t for error counters that are available

nvmlDeviceGetNvLinkRemotePciInfo_v2
nvmlDeviceGetNvLinkState

Retrieves the state of the device's NvLink for the link specified

nvmlDeviceGetNvLinkUtilizationControl

Get the NVLINK utilization counter control information for the specified counter, 0 or 1. Please refer to \a nvmlNvLinkUtilizationControl_t for the structure definition

nvmlDeviceGetNvLinkUtilizationCounter

Retrieve the NVLINK utilization counter based on the current control for a specified counter. In general it is good practice to use \a nvmlDeviceSetNvLinkUtilizationControl before reading the utilization counters as they have no default state

nvmlDeviceGetNvLinkVersion

Retrieves the version of the device's NvLink for the link specified

nvmlDeviceGetP2PStatus

Retrieve the status for a given p2p capability index between a given pair of GPU

nvmlDeviceGetPciInfo_v3
nvmlDeviceGetPcieReplayCounter

Retrieve the PCIe replay counter.

nvmlDeviceGetPcieThroughput

Retrieve PCIe utilization information. This function is querying a byte counter over a 20ms interval and thus is the PCIe throughput over that interval.

nvmlDeviceGetPerformanceState

Retrieves the current performance state for the device.

nvmlDeviceGetPersistenceMode

Retrieves the persistence mode associated with this device.

nvmlDeviceGetPowerManagementDefaultLimit

Retrieves default power management limit on this device, in milliwatts. Default power management limit is a power management limit that the device boots with.

nvmlDeviceGetPowerManagementLimit

Retrieves the power management limit associated with this device.

nvmlDeviceGetPowerManagementLimitConstraints

Retrieves information about possible values of power management limits on this device.

nvmlDeviceGetPowerManagementMode

This API has been deprecated.

nvmlDeviceGetPowerState

Deprecated: Use \ref nvmlDeviceGetPerformanceState. This function exposes an incorrect generalization.

nvmlDeviceGetPowerUsage

Retrieves power usage for this GPU in milliwatts and its associated circuitry (e.g. memory)

nvmlDeviceGetProcessUtilization

Retrieves the current utilization and process ID

nvmlDeviceGetRetiredPages

Returns the list of retired pages by source, including pages that are pending retirement The address information provided from this API is the hardware address of the page that was retired. Note that this does not match the virtual address used in CUDA, but will match the address information in XID 63

nvmlDeviceGetRetiredPagesPendingStatus

Check if any pages are pending retirement and need a reboot to fully retire.

nvmlDeviceGetRetiredPages_v2

Returns the list of retired pages by source, including pages that are pending retirement The address information provided from this API is the hardware address of the page that was retired. Note that this does not match the virtual address used in CUDA, but will match the address information in XID 63

nvmlDeviceGetSamples

Gets recent samples for the GPU.

nvmlDeviceGetSerial

Retrieves the globally unique board serial number associated with this device's board.

nvmlDeviceGetSupportedClocksThrottleReasons

Retrieves bitmask of supported clocks throttle reasons that can be returned by \ref nvmlDeviceGetCurrentClocksThrottleReasons

nvmlDeviceGetSupportedEventTypes

Returns information about events supported on device

nvmlDeviceGetSupportedGraphicsClocks

Retrieves the list of possible graphics clocks that can be used as an argument for \ref nvmlDeviceSetApplicationsClocks.

nvmlDeviceGetSupportedMemoryClocks

Retrieves the list of possible memory clocks that can be used as an argument for \ref nvmlDeviceSetApplicationsClocks.

nvmlDeviceGetSupportedVgpus

Retrieve the supported vGPU types on a physical GPU (device).

nvmlDeviceGetTemperature

Retrieves the current temperature readings for the device, in degrees C.

nvmlDeviceGetTemperatureThreshold

Retrieves the temperature threshold for the GPU with the specified threshold type in degrees C.

nvmlDeviceGetTopologyCommonAncestor

Retrieve the common ancestor for two devices For all products. Supported on Linux only.

nvmlDeviceGetTopologyNearestGpus

Retrieve the set of GPUs that are nearest to a given device at a specific interconnectivity level For all products. Supported on Linux only.

nvmlDeviceGetTotalEccErrors

Retrieves the total ECC error counts for the device.

nvmlDeviceGetTotalEnergyConsumption

Retrieves total energy consumption for this GPU in millijoules (mJ) since the driver was last reloaded

nvmlDeviceGetUUID

Retrieves the globally unique immutable UUID associated with this device, as a 5 part hexadecimal string, that augments the immutable, board serial identifier.

nvmlDeviceGetUtilizationRates

Retrieves the current utilization rates for the device's major subsystems.

nvmlDeviceGetVbiosVersion

Get VBIOS version of the device.

nvmlDeviceGetVgpuMetadata

Returns a vGPU metadata structure for the physical GPU indicated by \a 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.

nvmlDeviceGetVgpuProcessUtilization

Retrieves current utilization for processes running on vGPUs on a physical GPU (device).

nvmlDeviceGetVgpuUtilization

Retrieves current utilization for vGPUs on a physical GPU (device).

nvmlDeviceGetViolationStatus

Gets the duration of time during which the device was throttled (lower than requested clocks) due to power or thermal constraints.

nvmlDeviceGetVirtualizationMode

This method is used to get the virtualization mode corresponding to the GPU.

nvmlDeviceModifyDrainState

Modify the drain state of a GPU. This method forces a GPU to no longer accept new incoming requests. Any new NVML process will no longer see this GPU. Persistence mode for this GPU must be turned off before this call is made. Must be called as administrator. For Linux only.

nvmlDeviceOnSameBoard

Check if the GPU devices are on the same physical board.

nvmlDeviceQueryDrainState

Query the drain state of a GPU. This method is used to check if a GPU is in a currently draining state. For Linux only.

nvmlDeviceRegisterEvents

Starts recording of events on a specified devices and add the events to specified \ref nvmlEventSet_t

nvmlDeviceRemoveGpu_v2
nvmlDeviceResetApplicationsClocks

Resets the application clock to the default value

nvmlDeviceResetGpuLockedClocks

Resets the gpu clock to the default value

nvmlDeviceResetNvLinkErrorCounters

Resets all error counters to zero Please refer to \a nvmlNvLinkErrorCounter_t for the list of error counters that are reset

nvmlDeviceResetNvLinkUtilizationCounter

Reset the NVLINK utilization counters Both the receive and transmit counters are operated on by this function

nvmlDeviceSetAPIRestriction

Changes the root/admin restructions on certain APIs. See \a nvmlRestrictedAPI_t for the list of supported APIs. This method can be used by a root/admin user to give non-root/admin access to certain otherwise-restricted APIs. The new setting lasts for the lifetime of the NVIDIA driver; it is not persistent. See \a nvmlDeviceGetAPIRestriction to query the current restriction settings.

nvmlDeviceSetAccountingMode

Enables or disables per process accounting.

nvmlDeviceSetApplicationsClocks

Set clocks that applications will lock to.

nvmlDeviceSetAutoBoostedClocksEnabled

Try to set the current state of Auto Boosted clocks on a device.

nvmlDeviceSetComputeMode

Set the compute mode for the device.

nvmlDeviceSetCpuAffinity

Sets the ideal affinity for the calling thread and device using the guidelines given in nvmlDeviceGetCpuAffinity(). Note, this is a change as of version 8.0. Older versions set the affinity for a calling process and all children. Currently supports up to 64 processors.

nvmlDeviceSetDefaultAutoBoostedClocksEnabled

Try to set the default state of Auto Boosted clocks on a device. This is the default state that Auto Boosted clocks will return to when no compute running processes (e.g. CUDA application which have an active context) are running

nvmlDeviceSetDriverModel

Set the driver model for the device.

nvmlDeviceSetEccMode

Set the ECC mode for the device.

nvmlDeviceSetGpuLockedClocks

Set clocks that device will lock to.

nvmlDeviceSetGpuOperationMode

Sets new GOM. See \a nvmlGpuOperationMode_t for details.

nvmlDeviceSetNvLinkUtilizationControl

Set the NVLINK utilization counter control information for the specified counter, 0 or 1. Please refer to \a nvmlNvLinkUtilizationControl_t for the structure definition. Performs a reset of the counters if the reset parameter is non-zero.

nvmlDeviceSetPersistenceMode

Set the persistence mode for the device.

nvmlDeviceSetPowerManagementLimit

Set new power limit of this device.

nvmlDeviceSetVirtualizationMode

This method is used to set the virtualization mode corresponding to the GPU.

nvmlDeviceValidateInforom

Reads the infoROM from the flash and verifies the checksums.

nvmlErrorString

Helper method for converting NVML error codes into readable strings.

nvmlEventSetCreate

Create an empty set of events. Event set should be freed by \ref nvmlEventSetFree

nvmlEventSetFree

Releases events in the set

nvmlEventSetWait

Waits on events and delivers events

nvmlGetBlacklistDeviceCount

Retrieves the number of blacklisted GPU devices in the system.

nvmlGetBlacklistDeviceInfoByIndex

Acquire the device information for a blacklisted device, based on its index.

nvmlGetVgpuCompatibility

Takes a vGPU instance metadata structure read from \ref nvmlVgpuInstanceGetMetadata(), and a vGPU metadata structure for a physical GPU read from \ref nvmlDeviceGetVgpuMetadata(), and returns compatibility information of the vGPU instance and the physical GPU.

nvmlGetVgpuVersion

Returns the following two version range structures \ref nvmlVgpuVersion_t :

nvmlInitWithFlags

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 \ref nvmlInit.

nvmlInit_v2
nvmlSetVgpuVersion

Takes a vGPU version range structure \ref nvmlVgpuVersion_t and set the vGPU compatible version range to the one provided as input. The caller should call the \ref nvmlGetVgpuVersion() to get the range of supported version by the host driver.

nvmlShutdown

Shut down NVML by releasing all GPU resources previously allocated with \ref nvmlInit().

nvmlSystemGetCudaDriverVersion

Retrieves the version of the CUDA driver.

nvmlSystemGetCudaDriverVersion_v2

Retrieves the version of the CUDA driver from the shared library.

nvmlSystemGetDriverVersion

Retrieves the version of the system's graphics driver.

nvmlSystemGetHicVersion

Retrieves the IDs and firmware versions for any Host Interface Cards (HICs) in the system.

nvmlSystemGetNVMLVersion

Retrieves the version of the NVML library.

nvmlSystemGetProcessName

Gets name of the process with provided process id

nvmlSystemGetTopologyGpuSet

Retrieve the set of GPUs that have a CPU affinity with the given CPU number For all products. Supported on Linux only.

nvmlUnitGetCount

Retrieves the number of units in the system.

nvmlUnitGetDevices

Retrieves the set of GPU devices that are attached to the specified unit.

nvmlUnitGetFanSpeedInfo

Retrieves the fan speed readings for the unit.

nvmlUnitGetHandleByIndex

Acquire the handle for a particular unit, based on its index.

nvmlUnitGetLedState

Retrieves the LED state associated with this unit.

nvmlUnitGetPsuInfo

Retrieves the PSU stats for the unit.

nvmlUnitGetTemperature

Retrieves the temperature readings for the unit, in degrees C.

nvmlUnitGetUnitInfo

Retrieves the static information associated with a unit.

nvmlUnitSetLedState

Set the LED state for the unit. The LED can be either green (0) or amber (1).

nvmlVgpuInstanceGetAccountingMode

Queries the state of per process accounting mode on vGPU.

nvmlVgpuInstanceGetAccountingPids

Queries list of processes running on vGPU that can be queried for accounting stats. The list of processes returned can be in running or terminated state.

nvmlVgpuInstanceGetAccountingStats

Queries process's accounting stats.

nvmlVgpuInstanceGetEncoderCapacity

Retrieve the encoder capacity of a vGPU instance, as a percentage of maximum encoder capacity with valid values in the range 0-100.

nvmlVgpuInstanceGetEncoderSessions

Retrieves information about all active encoder sessions on a vGPU Instance.

nvmlVgpuInstanceGetEncoderStats

Retrieves the current encoder statistics of a vGPU Instance

nvmlVgpuInstanceGetFBCSessions

Retrieves information about active frame buffer capture sessions on a vGPU Instance.

nvmlVgpuInstanceGetFBCStats

Retrieves the active frame buffer capture sessions statistics of a vGPU Instance

nvmlVgpuInstanceGetFbUsage

Retrieve the framebuffer usage in bytes.

nvmlVgpuInstanceGetFrameRateLimit

Retrieve the frame rate limit set for the vGPU instance.

nvmlVgpuInstanceGetLicenseStatus

Retrieve the current licensing state of the vGPU instance.

nvmlVgpuInstanceGetMetadata

Returns vGPU metadata structure for a running vGPU. The structure contains information about the vGPU and its associated VM such as the currently installed NVIDIA guest driver version, together with host driver version and an opaque data section containing internal state.

nvmlVgpuInstanceGetType

Retrieve the vGPU type of a vGPU instance.

nvmlVgpuInstanceGetUUID

Retrieve the UUID of a vGPU instance.

nvmlVgpuInstanceGetVmDriverVersion

Retrieve the NVIDIA driver version installed in the VM associated with a vGPU.

nvmlVgpuInstanceGetVmID

Retrieve the VM ID associated with a vGPU instance.

nvmlVgpuInstanceSetEncoderCapacity

Set the encoder capacity of a vGPU instance, as a percentage of maximum encoder capacity with valid values in the range 0-100.

nvmlVgpuTypeGetClass

Retrieve the class of a vGPU type. It will not exceed 64 characters in length (including the NUL terminator). See \ref nvmlConstants::NVML_DEVICE_NAME_BUFFER_SIZE.

nvmlVgpuTypeGetDeviceID

Retrieve the device ID of a vGPU type.

nvmlVgpuTypeGetFrameRateLimit

Retrieve the static frame rate limit value of the vGPU type

nvmlVgpuTypeGetFramebufferSize

Retrieve the vGPU framebuffer size in bytes.

nvmlVgpuTypeGetLicense

Retrieve license requirements for a vGPU type

nvmlVgpuTypeGetMaxInstances

Retrieve the maximum number of vGPU instances creatable on a device for given vGPU type

nvmlVgpuTypeGetMaxInstancesPerVm

Retrieve the maximum number of vGPU instances supported per VM for given vGPU type

nvmlVgpuTypeGetName

Retrieve the vGPU type name.

nvmlVgpuTypeGetNumDisplayHeads

Retrieve count of vGPU's supported display heads.

nvmlVgpuTypeGetResolution

Retrieve vGPU display head's maximum supported resolution.

Type Definitions

nvmlAccountingStats_t
nvmlBAR1Memory_t
nvmlBlacklistDeviceInfo_t
nvmlBrandType_enum

  • The Brand of the GPU
  • nvmlBridgeChipHierarchy_t
    nvmlBridgeChipInfo_t
    nvmlBridgeChipType_enum

    Enum to represent type of bridge chip

    nvmlClockId_enum

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

    nvmlClockType_enum

    Clock types.

    nvmlComputeMode_enum

    Compute mode.

    nvmlDetachGpuState_enum

    Is the GPU device to be removed from the kernel by nvmlDeviceRemoveGpu()

    nvmlDevice_t
    nvmlDriverModel_enum

    Driver models.

    nvmlEccCounterType_enum

    ECC counter types.

    nvmlEccErrorCounts_t
    nvmlEnableState_enum

    Generic enable/disable enum.

    nvmlEncoderQueryType_enum

    Represents type of encoder for capacity can be queried

    nvmlEncoderSessionInfo_t
    nvmlEventData_t
    nvmlEventSet_t

    Handle to an event set

    nvmlFBCSessionInfo_t
    nvmlFBCSessionType_enum

    Represents frame buffer capture session type

    nvmlFBCStats_t
    nvmlFanState_enum

    Fan state enum.

    nvmlFieldValue_t
    nvmlGom_enum

    GPU Operation Mode

    nvmlGpuLevel_enum

    Represents level relationships within a system between two GPUs The enums are spaced to allow for future relationships

    nvmlGpuP2PStatus_enum
    nvmlGpuP2PCapsIndex_enum
    nvmlGpuVirtualizationMode

    GPU virtualization mode types.

    nvmlGridLicensableFeature_t
    nvmlGridLicensableFeatures_t
    nvmlGridLicenseFeatureCode_t

    GRID license feature code

    nvmlHwbcEntry_t
    nvmlInforomObject_enum

    Available infoROM objects.

    nvmlLedColor_enum

    Led color enum.

    nvmlLedState_t
    nvmlMemoryErrorType_enum

    Memory error types

    nvmlMemoryLocation_enum

    See \ref nvmlDeviceGetMemoryErrorCounter

    nvmlMemory_t
    nvmlNvLinkCapability_enum

    Enum to represent NvLink queryable capabilities

    nvmlNvLinkErrorCounter_enum

    Enum to represent NvLink queryable error counters

    nvmlNvLinkUtilizationControl_t
    nvmlNvLinkUtilizationCountPktTypes_enum

    Enum to represent the NvLink utilization counter packet types to count ** this is ONLY applicable with the units as packets or bytes ** as specified in \a nvmlNvLinkUtilizationCountUnits_t ** all packet filter descriptions are target GPU centric ** these can be "OR'd" together

    nvmlNvLinkUtilizationCountUnits_enum

    Enum to represent the NvLink utilization counter packet units

    nvmlPSUInfo_t
    nvmlPStates_enum

    Allowed PStates.

    nvmlPageRetirementCause_enum

    Causes for page retirement

    nvmlPciInfo_t
    nvmlPcieLinkState_enum

    Parent bridge PCIe link state requested by nvmlDeviceRemoveGpu()

    nvmlPcieUtilCounter_enum

    Represents the queryable PCIe utilization counters

    nvmlPerfPolicyType_enum

    Represents type of perf policy for which violation times can be queried

    nvmlProcessInfo_t
    nvmlProcessUtilizationSample_t
    nvmlRestrictedAPI_enum

    API types that allow changes to default permission restrictions

    nvmlReturn_enum

    Return values for NVML API calls.

    nvmlSample_t
    nvmlSamplingType_enum

    Represents Type of Sampling Event

    nvmlTemperatureSensors_enum

    Temperature sensors.

    nvmlTemperatureThresholds_enum

    Temperature thresholds.

    nvmlUnitFanInfo_t
    nvmlUnitFanSpeeds_t
    nvmlUnitInfo_t
    nvmlUnit_t

    @{

    nvmlUtilization_t
    nvmlValueType_enum

    Represents the type for sample value returned

    nvmlValue_t
    nvmlVgpuGuestInfoState_enum

    vGPU GUEST info state.

    nvmlVgpuInstanceUtilizationSample_t
    nvmlVgpuInstance_t
    nvmlVgpuMetadata_t
    nvmlVgpuPgpuCompatibilityLimitCode_enum

    vGPU-pGPU compatibility limit codes

    nvmlVgpuPgpuCompatibility_t
    nvmlVgpuPgpuMetadata_t
    nvmlVgpuProcessUtilizationSample_t
    nvmlVgpuTypeId_t

    @{

    nvmlVgpuVersion_t
    nvmlVgpuVmCompatibility_enum

    vGPU VM compatibility codes

    nvmlVgpuVmIdType

    Types of VM identifiers

    nvmlViolationTime_t

    Unions

    nvmlValue_st

    Union to represent different types of Value