"""
This type stub file was generated by pyright.
"""

import sys
import os
import threading
import string
from ctypes import *
from ctypes import _Pointer
from ctypes.util import find_library
from functools import wraps

_nvmlEnableState_t = c_uint
NVML_FEATURE_DISABLED = ...
NVML_FEATURE_ENABLED = ...
_nvmlBrandType_t = c_uint
NVML_BRAND_UNKNOWN = ...
NVML_BRAND_QUADRO = ...
NVML_BRAND_TESLA = ...
NVML_BRAND_NVS = ...
NVML_BRAND_GRID = ...
NVML_BRAND_GEFORCE = ...
NVML_BRAND_TITAN = ...
NVML_BRAND_NVIDIA_VAPPS = ...
NVML_BRAND_NVIDIA_VPC = ...
NVML_BRAND_NVIDIA_VCS = ...
NVML_BRAND_NVIDIA_VWS = ...
NVML_BRAND_NVIDIA_CLOUD_GAMING = ...
NVML_BRAND_NVIDIA_VGAMING = ...
NVML_BRAND_QUADRO_RTX = ...
NVML_BRAND_NVIDIA_RTX = ...
NVML_BRAND_NVIDIA = ...
NVML_BRAND_GEFORCE_RTX = ...
NVML_BRAND_TITAN_RTX = ...
NVML_BRAND_COUNT = ...
_nvmlTemperatureThresholds_t = c_uint
NVML_TEMPERATURE_THRESHOLD_SHUTDOWN = ...
NVML_TEMPERATURE_THRESHOLD_SLOWDOWN = ...
NVML_TEMPERATURE_THRESHOLD_MEM_MAX = ...
NVML_TEMPERATURE_THRESHOLD_GPU_MAX = ...
NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_MIN = ...
NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_CURR = ...
NVML_TEMPERATURE_THRESHOLD_ACOUSTIC_MAX = ...
NVML_TEMPERATURE_THRESHOLD_GPS_CURR = ...
NVML_TEMPERATURE_THRESHOLD_COUNT = ...
_nvmlTemperatureSensors_t = c_uint
NVML_TEMPERATURE_GPU: int = ...
NVML_TEMPERATURE_COUNT = ...
_nvmlComputeMode_t = c_uint
NVML_COMPUTEMODE_DEFAULT = ...
NVML_COMPUTEMODE_EXCLUSIVE_THREAD = ...
NVML_COMPUTEMODE_PROHIBITED = ...
NVML_COMPUTEMODE_EXCLUSIVE_PROCESS = ...
NVML_COMPUTEMODE_COUNT = ...
_nvmlMemoryLocation_t = c_uint
NVML_MEMORY_LOCATION_L1_CACHE = ...
NVML_MEMORY_LOCATION_L2_CACHE = ...
NVML_MEMORY_LOCATION_DEVICE_MEMORY = ...
NVML_MEMORY_LOCATION_DRAM = ...
NVML_MEMORY_LOCATION_REGISTER_FILE = ...
NVML_MEMORY_LOCATION_TEXTURE_MEMORY = ...
NVML_MEMORY_LOCATION_TEXTURE_SHM = ...
NVML_MEMORY_LOCATION_CBU = ...
NVML_MEMORY_LOCATION_SRAM = ...
NVML_MEMORY_LOCATION_COUNT = ...
NVML_NVLINK_MAX_LINKS = ...
NVML_NVLINK_MAX_LANES = ...
_nvmlNvLinkErrorCounter_t = c_uint
NVML_NVLINK_ERROR_DL_REPLAY = ...
NVML_NVLINK_ERROR_DL_RECOVERY = ...
NVML_NVLINK_ERROR_DL_CRC_FLIT = ...
NVML_NVLINK_ERROR_DL_CRC_DATA = ...
NVML_NVLINK_ERROR_DL_ECC_DATA = ...
NVML_NVLINK_ERROR_COUNT = ...
_nvmlNvLinkEccLaneErrorCounter_t = c_uint
NVML_NVLINK_ERROR_DL_ECC_LANE0 = ...
NVML_NVLINK_ERROR_DL_ECC_LANE1 = ...
NVML_NVLINK_ERROR_DL_ECC_LANE2 = ...
NVML_NVLINK_ERROR_DL_ECC_LANE3 = ...
NVML_NVLINK_ERROR_DL_ECC_COUNT = ...
_nvmlNvLinkCapability_t = c_uint
NVML_NVLINK_CAP_P2P_SUPPORTED = ...
NVML_NVLINK_CAP_SYSMEM_ACCESS = ...
NVML_NVLINK_CAP_P2P_ATOMICS = ...
NVML_NVLINK_CAP_SYSMEM_ATOMICS = ...
NVML_NVLINK_CAP_SLI_BRIDGE = ...
NVML_NVLINK_CAP_VALID = ...
NVML_NVLINK_CAP_COUNT = ...
_nvmlNvLinkUtilizationCountPktTypes_t = c_uint
NVML_NVLINK_COUNTER_PKTFILTER_NOP = ...
NVML_NVLINK_COUNTER_PKTFILTER_READ = ...
NVML_NVLINK_COUNTER_PKTFILTER_WRITE = ...
NVML_NVLINK_COUNTER_PKTFILTER_RATOM = ...
NVML_NVLINK_COUNTER_PKTFILTER_NRATOM = ...
NVML_NVLINK_COUNTER_PKTFILTER_FLUSH = ...
NVML_NVLINK_COUNTER_PKTFILTER_RESPDATA = ...
NVML_NVLINK_COUNTER_PKTFILTER_RESPNODATA = ...
NVML_NVLINK_COUNTER_PKTFILTER_ALL = ...
_nvmlNvLinkUtilizationCountUnits_t = c_uint
NVML_NVLINK_COUNTER_UNIT_CYCLES = ...
NVML_NVLINK_COUNTER_UNIT_PACKETS = ...
NVML_NVLINK_COUNTER_UNIT_BYTES = ...
NVML_NVLINK_COUNTER_UNIT_RESERVED = ...
NVML_NVLINK_COUNTER_UNIT_COUNT = ...
_nvmlNvLinkDeviceType_t = c_uint
NVML_NVLINK_DEVICE_TYPE_GPU = ...
NVML_NVLINK_DEVICE_TYPE_IBMNPU = ...
NVML_NVLINK_DEVICE_TYPE_SWITCH = ...
NVML_NVLINK_DEVICE_TYPE_UNKNOWN = ...
_nvmlEccBitType_t = c_uint
NVML_SINGLE_BIT_ECC = ...
NVML_DOUBLE_BIT_ECC = ...
NVML_ECC_ERROR_TYPE_COUNT = ...
_nvmlEccCounterType_t = c_uint
NVML_VOLATILE_ECC = ...
NVML_AGGREGATE_ECC = ...
NVML_ECC_COUNTER_TYPE_COUNT = ...
_nvmlMemoryErrorType_t = c_uint
NVML_MEMORY_ERROR_TYPE_CORRECTED = ...
NVML_MEMORY_ERROR_TYPE_UNCORRECTED = ...
NVML_MEMORY_ERROR_TYPE_COUNT = ...
_nvmlClockType_t = c_uint
NVML_CLOCK_GRAPHICS = ...
NVML_CLOCK_SM = ...
NVML_CLOCK_MEM = ...
NVML_CLOCK_VIDEO = ...
NVML_CLOCK_COUNT = ...
_nvmlClockId_t = c_uint
NVML_CLOCK_ID_CURRENT = ...
NVML_CLOCK_ID_APP_CLOCK_TARGET = ...
NVML_CLOCK_ID_APP_CLOCK_DEFAULT = ...
NVML_CLOCK_ID_CUSTOMER_BOOST_MAX = ...
NVML_CLOCK_ID_COUNT = ...
_nvmlDriverModel_t = c_uint
NVML_DRIVER_WDDM = ...
NVML_DRIVER_WDM = ...
NVML_DRIVER_MCDM = ...
NVML_MAX_GPU_PERF_PSTATES = ...
_nvmlPstates_t = c_uint
NVML_PSTATE_0 = ...
NVML_PSTATE_1 = ...
NVML_PSTATE_2 = ...
NVML_PSTATE_3 = ...
NVML_PSTATE_4 = ...
NVML_PSTATE_5 = ...
NVML_PSTATE_6 = ...
NVML_PSTATE_7 = ...
NVML_PSTATE_8 = ...
NVML_PSTATE_9 = ...
NVML_PSTATE_10 = ...
NVML_PSTATE_11 = ...
NVML_PSTATE_12 = ...
NVML_PSTATE_13 = ...
NVML_PSTATE_14 = ...
NVML_PSTATE_15 = ...
NVML_PSTATE_UNKNOWN = ...
_nvmlInforomObject_t = c_uint
NVML_INFOROM_OEM = ...
NVML_INFOROM_ECC = ...
NVML_INFOROM_POWER = ...
NVML_INFOROM_DEN = ...
NVML_INFOROM_COUNT = ...
_nvmlReturn_t = c_uint
NVML_SUCCESS = ...
NVML_ERROR_UNINITIALIZED = ...
NVML_ERROR_INVALID_ARGUMENT = ...
NVML_ERROR_NOT_SUPPORTED = ...
NVML_ERROR_NO_PERMISSION = ...
NVML_ERROR_ALREADY_INITIALIZED = ...
NVML_ERROR_NOT_FOUND = ...
NVML_ERROR_INSUFFICIENT_SIZE = ...
NVML_ERROR_INSUFFICIENT_POWER = ...
NVML_ERROR_DRIVER_NOT_LOADED = ...
NVML_ERROR_TIMEOUT = ...
NVML_ERROR_IRQ_ISSUE = ...
NVML_ERROR_LIBRARY_NOT_FOUND = ...
NVML_ERROR_FUNCTION_NOT_FOUND = ...
NVML_ERROR_CORRUPTED_INFOROM = ...
NVML_ERROR_GPU_IS_LOST = ...
NVML_ERROR_RESET_REQUIRED = ...
NVML_ERROR_OPERATING_SYSTEM = ...
NVML_ERROR_LIB_RM_VERSION_MISMATCH = ...
NVML_ERROR_IN_USE = ...
NVML_ERROR_MEMORY = ...
NVML_ERROR_NO_DATA = ...
NVML_ERROR_VGPU_ECC_NOT_SUPPORTED = ...
NVML_ERROR_INSUFFICIENT_RESOURCES = ...
NVML_ERROR_FREQ_NOT_SUPPORTED = ...
NVML_ERROR_ARGUMENT_VERSION_MISMATCH = ...
NVML_ERROR_DEPRECATED = ...
NVML_ERROR_NOT_READY = ...
NVML_ERROR_GPU_NOT_FOUND = ...
NVML_ERROR_INVALID_STATE = ...
NVML_ERROR_RESET_TYPE_NOT_SUPPORTED = ...
NVML_ERROR_UNKNOWN = ...
_nvmlFanState_t = c_uint
NVML_FAN_NORMAL = ...
NVML_FAN_FAILED = ...
_nvmlFanControlPolicy_t = c_uint
NVML_FAN_POLICY_TEMPERATURE_CONTINOUS_SW = ...
NVML_FAN_POLICY_MANUAL = ...
_nvmlLedColor_t = c_uint
NVML_LED_COLOR_GREEN = ...
NVML_LED_COLOR_AMBER = ...
_nvmlGpuOperationMode_t = c_uint
NVML_GOM_ALL_ON = ...
NVML_GOM_COMPUTE = ...
NVML_GOM_LOW_DP = ...
_nvmlPageRetirementCause_t = c_uint
NVML_PAGE_RETIREMENT_CAUSE_MULTIPLE_SINGLE_BIT_ECC_ERRORS = ...
NVML_PAGE_RETIREMENT_CAUSE_DOUBLE_BIT_ECC_ERROR = ...
NVML_PAGE_RETIREMENT_CAUSE_COUNT = ...
_nvmlRestrictedAPI_t = c_uint
NVML_RESTRICTED_API_SET_APPLICATION_CLOCKS = ...
NVML_RESTRICTED_API_SET_AUTO_BOOSTED_CLOCKS = ...
NVML_RESTRICTED_API_COUNT = ...
_nvmlBridgeChipType_t = c_uint
NVML_BRIDGE_CHIP_PLX = ...
NVML_BRIDGE_CHIP_BRO4 = ...
NVML_MAX_PHYSICAL_BRIDGE = ...
_nvmlValueType_t = c_uint
NVML_VALUE_TYPE_DOUBLE = ...
NVML_VALUE_TYPE_UNSIGNED_INT = ...
NVML_VALUE_TYPE_UNSIGNED_LONG = ...
NVML_VALUE_TYPE_UNSIGNED_LONG_LONG = ...
NVML_VALUE_TYPE_SIGNED_LONG_LONG = ...
NVML_VALUE_TYPE_SIGNED_INT = ...
NVML_VALUE_TYPE_UNSIGNED_SHORT = ...
NVML_VALUE_TYPE_COUNT = ...
_nvmlNvlinkVersion_t = c_uint
NVML_NVLINK_VERSION_INVALID = ...
NVML_NVLINK_VERSION_1_0 = ...
NVML_NVLINK_VERSION_2_0 = ...
NVML_NVLINK_VERSION_2_2 = ...
NVML_NVLINK_VERSION_3_0 = ...
NVML_NVLINK_VERSION_3_1 = ...
NVML_NVLINK_VERSION_4_0 = ...
NVML_NVLINK_VERSION_5_0 = ...
_nvmlPerfPolicyType_t = c_uint
NVML_PERF_POLICY_POWER = ...
NVML_PERF_POLICY_THERMAL = ...
NVML_PERF_POLICY_SYNC_BOOST = ...
NVML_PERF_POLICY_BOARD_LIMIT = ...
NVML_PERF_POLICY_LOW_UTILIZATION = ...
NVML_PERF_POLICY_RELIABILITY = ...
NVML_PERF_POLICY_TOTAL_APP_CLOCKS = ...
NVML_PERF_POLICY_TOTAL_BASE_CLOCKS = ...
NVML_PERF_POLICY_COUNT = ...
_nvmlEncoderQueryType_t = c_uint
NVML_ENCODER_QUERY_H264 = ...
NVML_ENCODER_QUERY_HEVC = ...
NVML_ENCODER_QUERY_AV1 = ...
NVML_ENCODER_QUERY_UNKNOWN = ...
_nvmlFBCSessionType_t = c_uint
NVML_FBC_SESSION_TYPE_UNKNOWN = ...
NVML_FBC_SESSION_TYPE_TOSYS = ...
NVML_FBC_SESSION_TYPE_CUDA = ...
NVML_FBC_SESSION_TYPE_VID = ...
NVML_FBC_SESSION_TYPE_HWENC = ...
_nvmlDetachGpuState_t = c_uint
NVML_DETACH_GPU_KEEP = ...
NVML_DETACH_GPU_REMOVE = ...
_nvmlPcieLinkState_t = c_uint
NVML_PCIE_LINK_KEEP = ...
NVML_PCIE_LINK_SHUT_DOWN = ...
_nvmlSamplingType_t = c_uint
NVML_TOTAL_POWER_SAMPLES = ...
NVML_GPU_UTILIZATION_SAMPLES = ...
NVML_MEMORY_UTILIZATION_SAMPLES = ...
NVML_ENC_UTILIZATION_SAMPLES = ...
NVML_DEC_UTILIZATION_SAMPLES = ...
NVML_PROCESSOR_CLK_SAMPLES = ...
NVML_MEMORY_CLK_SAMPLES = ...
NVML_MODULE_POWER_SAMPLES = ...
NVML_JPG_UTILIZATION_SAMPLES = ...
NVML_OFA_UTILIZATION_SAMPLES = ...
NVML_SAMPLINGTYPE_COUNT = ...
_nvmlPcieUtilCounter_t = c_uint
NVML_PCIE_UTIL_TX_BYTES = ...
NVML_PCIE_UTIL_RX_BYTES = ...
NVML_PCIE_UTIL_COUNT = ...
_nvmlGpuTopologyLevel_t = c_uint
NVML_TOPOLOGY_INTERNAL = ...
NVML_TOPOLOGY_SINGLE = ...
NVML_TOPOLOGY_MULTIPLE = ...
NVML_TOPOLOGY_HOSTBRIDGE = ...
NVML_TOPOLOGY_NODE = ...
NVML_TOPOLOGY_CPU = ...
NVML_TOPOLOGY_SYSTEM = ...
_nvmlGpuP2PCapsIndex_t = c_uint
NVML_P2P_CAPS_INDEX_READ = ...
NVML_P2P_CAPS_INDEX_WRITE = ...
NVML_P2P_CAPS_INDEX_NVLINK = ...
NVML_P2P_CAPS_INDEX_ATOMICS = ...
NVML_P2P_CAPS_INDEX_PROP = ...
NVML_P2P_CAPS_INDEX_PCI = ...
NVML_P2P_CAPS_INDEX_UNKNOWN = ...
_nvmlGpuP2PStatus_t = c_uint
NVML_P2P_STATUS_OK = ...
NVML_P2P_STATUS_CHIPSET_NOT_SUPPORED = ...
NVML_P2P_STATUS_CHIPSET_NOT_SUPPORTED = ...
NVML_P2P_STATUS_GPU_NOT_SUPPORTED = ...
NVML_P2P_STATUS_IOH_TOPOLOGY_NOT_SUPPORTED = ...
NVML_P2P_STATUS_DISABLED_BY_REGKEY = ...
NVML_P2P_STATUS_NOT_SUPPORTED = ...
NVML_P2P_STATUS_UNKNOWN = ...
_nvmlDeviceArchitecture_t = c_uint
NVML_DEVICE_ARCH_KEPLER = ...
NVML_DEVICE_ARCH_MAXWELL = ...
NVML_DEVICE_ARCH_PASCAL = ...
NVML_DEVICE_ARCH_VOLTA = ...
NVML_DEVICE_ARCH_TURING = ...
NVML_DEVICE_ARCH_AMPERE = ...
NVML_DEVICE_ARCH_ADA = ...
NVML_DEVICE_ARCH_HOPPER = ...
NVML_DEVICE_ARCH_BLACKWELL = ...
NVML_DEVICE_ARCH_UNKNOWN = ...
_nvmlBusType_t = c_uint
NVML_BUS_TYPE_UNKNOWN = ...
NVML_BUS_TYPE_PCI = ...
NVML_BUS_TYPE_PCIE = ...
NVML_BUS_TYPE_FPCI = ...
NVML_BUS_TYPE_AGP = ...
_nvmlPowerSource_t = c_uint
NVML_POWER_SOURCE_AC = ...
NVML_POWER_SOURCE_BATTERY = ...
NVML_POWER_SOURCE_UNDERSIZED = ...
_nvmlAdaptiveClockInfoStatus_t = c_uint
NVML_ADAPTIVE_CLOCKING_INFO_STATUS_DISABLED = ...
NVML_ADAPTIVE_CLOCKING_INFO_STATUS_ENABLED = ...
_nvmlClockLimitId_t = c_uint
NVML_CLOCK_LIMIT_ID_RANGE_START = ...
NVML_CLOCK_LIMIT_ID_TDP = ...
NVML_CLOCK_LIMIT_ID_UNLIMITED = ...
_nvmlPcieLinkMaxSpeed_t = c_uint
NVML_PCIE_LINK_MAX_SPEED_INVALID = ...
NVML_PCIE_LINK_MAX_SPEED_2500MBPS = ...
NVML_PCIE_LINK_MAX_SPEED_5000MBPS = ...
NVML_PCIE_LINK_MAX_SPEED_8000MBPS = ...
NVML_PCIE_LINK_MAX_SPEED_16000MBPS = ...
NVML_PCIE_LINK_MAX_SPEED_32000MBPS = ...
NVML_PCIE_LINK_MAX_SPEED_64000MBPS = ...
_nvmlPcieAtomicsCapability_t = c_uint
NVML_PCIE_ATOMICS_CAP_FETCHADD32 = ...
NVML_PCIE_ATOMICS_CAP_FETCHADD64 = ...
NVML_PCIE_ATOMICS_CAP_SWAP32 = ...
NVML_PCIE_ATOMICS_CAP_SWAP64 = ...
NVML_PCIE_ATOMICS_CAP_CAS32 = ...
NVML_PCIE_ATOMICS_CAP_CAS64 = ...
NVML_PCIE_ATOMICS_CAP_CAS128 = ...
NVML_PCIE_ATOMICS_OPS_MAX = ...
_nvmlAffinityScope_t = c_uint
NVML_AFFINITY_SCOPE_NODE = ...
NVML_AFFINITY_SCOPE_SOCKET = ...
_nvmlDeviceGpuRecoveryAction_t = c_uint
NVML_GPU_RECOVERY_ACTION_NONE = ...
NVML_GPU_RECOVERY_ACTION_GPU_RESET = ...
NVML_GPU_RECOVERY_ACTION_NODE_REBOOT = ...
NVML_GPU_RECOVERY_ACTION_DRAIN_P2P = ...
NVML_GPU_RECOVERY_ACTION_DRAIN_AND_RESET = ...
nvmlFlagDefault = ...
nvmlFlagForce = ...
NVML_INIT_FLAG_NO_GPUS = ...
NVML_INIT_FLAG_NO_ATTACH = ...
NVML_INIT_FLAG_FORCE_INIT = ...
NVML_MAX_GPC_COUNT = ...
NVML_DEVICE_INFOROM_VERSION_BUFFER_SIZE = ...
NVML_DEVICE_UUID_BUFFER_SIZE = ...
NVML_DEVICE_UUID_V2_BUFFER_SIZE = ...
NVML_SYSTEM_DRIVER_VERSION_BUFFER_SIZE = ...
NVML_SYSTEM_NVML_VERSION_BUFFER_SIZE = ...
NVML_DEVICE_NAME_BUFFER_SIZE = ...
NVML_DEVICE_NAME_V2_BUFFER_SIZE = ...
NVML_DEVICE_SERIAL_BUFFER_SIZE = ...
NVML_DEVICE_PART_NUMBER_BUFFER_SIZE = ...
NVML_DEVICE_GPU_PART_NUMBER_BUFFER_SIZE = ...
NVML_DEVICE_VBIOS_VERSION_BUFFER_SIZE = ...
NVML_DEVICE_PCI_BUS_ID_BUFFER_SIZE = ...
NVML_DEVICE_PCI_BUS_ID_BUFFER_V2_SIZE = ...
NVML_GRID_LICENSE_BUFFER_SIZE = ...
NVML_VGPU_NAME_BUFFER_SIZE = ...
NVML_GRID_LICENSE_FEATURE_MAX_COUNT = ...
NVML_VGPU_METADATA_OPAQUE_DATA_SIZE = ...
NVML_VGPU_PGPU_METADATA_OPAQUE_DATA_SIZE = ...
NVML_DEVICE_GPU_FRU_PART_NUMBER_BUFFER_SIZE = ...
NVML_PERF_MODES_BUFFER_SIZE = ...
NVML_DEVICE_PCI_BUS_ID_LEGACY_FMT = ...
NVML_DEVICE_PCI_BUS_ID_FMT = ...
NVML_VALUE_NOT_AVAILABLE_ulonglong = ...
NVML_VALUE_NOT_AVAILABLE_uint = ...
NVML_FI_DEV_ECC_CURRENT = ...
NVML_FI_DEV_ECC_PENDING = ...
NVML_FI_DEV_ECC_SBE_VOL_TOTAL = ...
NVML_FI_DEV_ECC_DBE_VOL_TOTAL = ...
NVML_FI_DEV_ECC_SBE_AGG_TOTAL = ...
NVML_FI_DEV_ECC_DBE_AGG_TOTAL = ...
NVML_FI_DEV_ECC_SBE_VOL_L1 = ...
NVML_FI_DEV_ECC_DBE_VOL_L1 = ...
NVML_FI_DEV_ECC_SBE_VOL_L2 = ...
NVML_FI_DEV_ECC_DBE_VOL_L2 = ...
NVML_FI_DEV_ECC_SBE_VOL_DEV = ...
NVML_FI_DEV_ECC_DBE_VOL_DEV = ...
NVML_FI_DEV_ECC_SBE_VOL_REG = ...
NVML_FI_DEV_ECC_DBE_VOL_REG = ...
NVML_FI_DEV_ECC_SBE_VOL_TEX = ...
NVML_FI_DEV_ECC_DBE_VOL_TEX = ...
NVML_FI_DEV_ECC_DBE_VOL_CBU = ...
NVML_FI_DEV_ECC_SBE_AGG_L1 = ...
NVML_FI_DEV_ECC_DBE_AGG_L1 = ...
NVML_FI_DEV_ECC_SBE_AGG_L2 = ...
NVML_FI_DEV_ECC_DBE_AGG_L2 = ...
NVML_FI_DEV_ECC_SBE_AGG_DEV = ...
NVML_FI_DEV_ECC_DBE_AGG_DEV = ...
NVML_FI_DEV_ECC_SBE_AGG_REG = ...
NVML_FI_DEV_ECC_DBE_AGG_REG = ...
NVML_FI_DEV_ECC_SBE_AGG_TEX = ...
NVML_FI_DEV_ECC_DBE_AGG_TEX = ...
NVML_FI_DEV_ECC_DBE_AGG_CBU = ...
NVML_FI_DEV_RETIRED_SBE = ...
NVML_FI_DEV_RETIRED_DBE = ...
NVML_FI_DEV_RETIRED_PENDING = ...
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_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_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_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_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_C0_TOTAL = ...
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_BANDWIDTH_C1_TOTAL = ...
NVML_FI_DEV_PERF_POLICY_POWER = ...
NVML_FI_DEV_PERF_POLICY_THERMAL = ...
NVML_FI_DEV_PERF_POLICY_SYNC_BOOST = ...
NVML_FI_DEV_PERF_POLICY_BOARD_LIMIT = ...
NVML_FI_DEV_PERF_POLICY_LOW_UTILIZATION = ...
NVML_FI_DEV_PERF_POLICY_RELIABILITY = ...
NVML_FI_DEV_PERF_POLICY_TOTAL_APP_CLOCKS = ...
NVML_FI_DEV_PERF_POLICY_TOTAL_BASE_CLOCKS = ...
NVML_FI_DEV_MEMORY_TEMP = ...
NVML_FI_DEV_TOTAL_ENERGY_CONSUMPTION = ...
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_NVLINK_SPEED_MBPS_COMMON = ...
NVML_FI_DEV_NVLINK_LINK_COUNT = ...
NVML_FI_DEV_RETIRED_PENDING_SBE = ...
NVML_FI_DEV_RETIRED_PENDING_DBE = ...
NVML_FI_DEV_PCIE_REPLAY_COUNTER = ...
NVML_FI_DEV_PCIE_REPLAY_ROLLOVER_COUNTER = ...
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L6 = ...
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L7 = ...
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L8 = ...
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L9 = ...
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L10 = ...
NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT_L11 = ...
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L6 = ...
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L7 = ...
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L8 = ...
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L9 = ...
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L10 = ...
NVML_FI_DEV_NVLINK_CRC_DATA_ERROR_COUNT_L11 = ...
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L6 = ...
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L7 = ...
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L8 = ...
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L9 = ...
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L10 = ...
NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L11 = ...
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L6 = ...
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L7 = ...
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L8 = ...
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L9 = ...
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L10 = ...
NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_L11 = ...
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L6 = ...
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L7 = ...
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L8 = ...
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L9 = ...
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L10 = ...
NVML_FI_DEV_NVLINK_BANDWIDTH_C0_L11 = ...
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L6 = ...
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L7 = ...
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L8 = ...
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L9 = ...
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L10 = ...
NVML_FI_DEV_NVLINK_BANDWIDTH_C1_L11 = ...
NVML_FI_DEV_NVLINK_SPEED_MBPS_L6 = ...
NVML_FI_DEV_NVLINK_SPEED_MBPS_L7 = ...
NVML_FI_DEV_NVLINK_SPEED_MBPS_L8 = ...
NVML_FI_DEV_NVLINK_SPEED_MBPS_L9 = ...
NVML_FI_DEV_NVLINK_SPEED_MBPS_L10 = ...
NVML_FI_DEV_NVLINK_SPEED_MBPS_L11 = ...
NVML_FI_DEV_NVLINK_THROUGHPUT_DATA_TX = ...
NVML_FI_DEV_NVLINK_THROUGHPUT_DATA_RX = ...
NVML_FI_DEV_NVLINK_THROUGHPUT_RAW_TX = ...
NVML_FI_DEV_NVLINK_THROUGHPUT_RAW_RX = ...
NVML_FI_DEV_REMAPPED_COR = ...
NVML_FI_DEV_REMAPPED_UNC = ...
NVML_FI_DEV_REMAPPED_PENDING = ...
NVML_FI_DEV_REMAPPED_FAILURE = ...
NVML_FI_DEV_NVLINK_REMOTE_NVLINK_ID = ...
NVML_FI_DEV_NVSWITCH_CONNECTED_LINK_COUNT = ...
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L0 = ...
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L1 = ...
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L2 = ...
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L3 = ...
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L4 = ...
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L5 = ...
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L6 = ...
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L7 = ...
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L8 = ...
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L9 = ...
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L10 = ...
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_L11 = ...
NVML_FI_DEV_NVLINK_ECC_DATA_ERROR_COUNT_TOTAL = ...
NVML_FI_DEV_NVLINK_ERROR_DL_REPLAY = ...
NVML_FI_DEV_NVLINK_ERROR_DL_RECOVERY = ...
NVML_FI_DEV_NVLINK_ERROR_DL_CRC = ...
NVML_FI_DEV_NVLINK_GET_SPEED = ...
NVML_FI_DEV_NVLINK_GET_STATE = ...
NVML_FI_DEV_NVLINK_GET_VERSION = ...
NVML_FI_DEV_NVLINK_GET_POWER_STATE = ...
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD = ...
NVML_FI_DEV_PCIE_L0_TO_RECOVERY_COUNTER = ...
NVML_FI_DEV_C2C_LINK_COUNT = ...
NVML_FI_DEV_C2C_LINK_GET_STATUS = ...
NVML_FI_DEV_C2C_LINK_GET_MAX_BW = ...
NVML_FI_DEV_PCIE_COUNT_CORRECTABLE_ERRORS = ...
NVML_FI_DEV_PCIE_COUNT_NAKS_RECEIVED = ...
NVML_FI_DEV_PCIE_COUNT_RECEIVER_ERROR = ...
NVML_FI_DEV_PCIE_COUNT_BAD_TLP = ...
NVML_FI_DEV_PCIE_COUNT_NAKS_SENT = ...
NVML_FI_DEV_PCIE_COUNT_BAD_DLLP = ...
NVML_FI_DEV_PCIE_COUNT_NON_FATAL_ERROR = ...
NVML_FI_DEV_PCIE_COUNT_FATAL_ERROR = ...
NVML_FI_DEV_PCIE_COUNT_UNSUPPORTED_REQ = ...
NVML_FI_DEV_PCIE_COUNT_LCRC_ERROR = ...
NVML_FI_DEV_PCIE_COUNT_LANE_ERROR = ...
NVML_FI_DEV_IS_RESETLESS_MIG_SUPPORTED = ...
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_DEFAULT_LIMIT = ...
NVML_FI_DEV_POWER_CURRENT_LIMIT = ...
NVML_FI_DEV_ENERGY = ...
NVML_FI_DEV_POWER_REQUESTED_LIMIT = ...
NVML_FI_DEV_TEMPERATURE_SHUTDOWN_TLIMIT = ...
NVML_FI_DEV_TEMPERATURE_SLOWDOWN_TLIMIT = ...
NVML_FI_DEV_TEMPERATURE_MEM_MAX_TLIMIT = ...
NVML_FI_DEV_TEMPERATURE_GPU_MAX_TLIMIT = ...
NVML_FI_DEV_PCIE_COUNT_TX_BYTES = ...
NVML_FI_DEV_PCIE_COUNT_RX_BYTES = ...
NVML_FI_DEV_IS_MIG_MODE_INDEPENDENT_MIG_QUERY_CAPABLE = ...
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MAX = ...
NVML_FI_DEV_NVLINK_COUNT_XMIT_PACKETS = ...
NVML_FI_DEV_NVLINK_COUNT_XMIT_BYTES = ...
NVML_FI_DEV_NVLINK_COUNT_RCV_PACKETS = ...
NVML_FI_DEV_NVLINK_COUNT_RCV_BYTES = ...
NVML_FI_DEV_NVLINK_COUNT_VL15_DROPPED = ...
NVML_FI_DEV_NVLINK_COUNT_MALFORMED_PACKET_ERRORS = ...
NVML_FI_DEV_NVLINK_COUNT_BUFFER_OVERRUN_ERRORS = ...
NVML_FI_DEV_NVLINK_COUNT_RCV_ERRORS = ...
NVML_FI_DEV_NVLINK_COUNT_RCV_REMOTE_ERRORS = ...
NVML_FI_DEV_NVLINK_COUNT_RCV_GENERAL_ERRORS = ...
NVML_FI_DEV_NVLINK_COUNT_LOCAL_LINK_INTEGRITY_ERRORS = ...
NVML_FI_DEV_NVLINK_COUNT_XMIT_DISCARDS = ...
NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_SUCCESSFUL_EVENTS = ...
NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_FAILED_EVENTS = ...
NVML_FI_DEV_NVLINK_COUNT_LINK_RECOVERY_EVENTS = ...
NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE0 = ...
NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE1 = ...
NVML_FI_DEV_NVLINK_COUNT_RAW_BER = ...
NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_ERRORS = ...
NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_BER = ...
NVML_FI_DEV_NVLINK_COUNT_SYMBOL_ERRORS = ...
NVML_FI_DEV_NVLINK_COUNT_SYMBOL_BER = ...
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MIN = ...
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_UNITS = ...
NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_SUPPORTED = ...
NVML_FI_DEV_RESET_STATUS = ...
NVML_FI_DEV_DRAIN_AND_RESET_STATUS = ...
NVML_FI_DEV_PCIE_OUTBOUND_ATOMICS_MASK = ...
NVML_FI_DEV_PCIE_INBOUND_ATOMICS_MASK = ...
NVML_FI_DEV_GET_GPU_RECOVERY_ACTION = ...
NVML_FI_DEV_C2C_LINK_ERROR_INTR = ...
NVML_FI_DEV_C2C_LINK_ERROR_REPLAY = ...
NVML_FI_DEV_C2C_LINK_ERROR_REPLAY_B2B = ...
NVML_FI_DEV_C2C_LINK_POWER_STATE = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_0 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_1 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_2 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_3 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_4 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_5 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_6 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_7 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_8 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_9 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_10 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_11 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_12 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_13 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_14 = ...
NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_15 = ...
NVML_FI_PWR_SMOOTHING_ENABLED = ...
NVML_FI_PWR_SMOOTHING_PRIV_LVL = ...
NVML_FI_PWR_SMOOTHING_IMM_RAMP_DOWN_ENABLED = ...
NVML_FI_PWR_SMOOTHING_APPLIED_TMP_CEIL = ...
NVML_FI_PWR_SMOOTHING_APPLIED_TMP_FLOOR = ...
NVML_FI_PWR_SMOOTHING_MAX_PERCENT_TMP_FLOOR_SETTING = ...
NVML_FI_PWR_SMOOTHING_MIN_PERCENT_TMP_FLOOR_SETTING = ...
NVML_FI_PWR_SMOOTHING_HW_CIRCUITRY_PERCENT_LIFETIME_REMAINING = ...
NVML_FI_PWR_SMOOTHING_MAX_NUM_PRESET_PROFILES = ...
NVML_FI_PWR_SMOOTHING_PROFILE_PERCENT_TMP_FLOOR = ...
NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_UP_RATE = ...
NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_DOWN_RATE = ...
NVML_FI_PWR_SMOOTHING_PROFILE_RAMP_DOWN_HYST_VAL = ...
NVML_FI_PWR_SMOOTHING_ACTIVE_PRESET_PROFILE = ...
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_PERCENT_TMP_FLOOR = ...
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_UP_RATE = ...
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_DOWN_RATE = ...
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_RAMP_DOWN_HYST_VAL = ...
NVML_FI_DEV_CLOCKS_EVENT_REASON_SW_POWER_CAP = ...
NVML_FI_DEV_CLOCKS_EVENT_REASON_SYNC_BOOST = ...
NVML_FI_DEV_CLOCKS_EVENT_REASON_SW_THERM_SLOWDOWN = ...
NVML_FI_DEV_CLOCKS_EVENT_REASON_HW_THERM_SLOWDOWN = ...
NVML_FI_DEV_CLOCKS_EVENT_REASON_HW_POWER_BRAKE_SLOWDOWN = ...
NVML_FI_DEV_POWER_SYNC_BALANCING_FREQ = ...
NVML_FI_DEV_POWER_SYNC_BALANCING_AF = ...
NVML_FI_DEV_EDPP_MULTIPLIER = ...
NVML_FI_PWR_SMOOTHING_PRIMARY_POWER_FLOOR = ...
NVML_FI_PWR_SMOOTHING_SECONDARY_POWER_FLOOR = ...
NVML_FI_PWR_SMOOTHING_MIN_PRIMARY_FLOOR_ACT_OFFSET = ...
NVML_FI_PWR_SMOOTHING_MIN_PRIMARY_FLOOR_ACT_POINT = ...
NVML_FI_PWR_SMOOTHING_WINDOW_MULTIPLIER = ...
NVML_FI_PWR_SMOOTHING_DELAYED_PWR_SMOOTHING_SUPPORTED = ...
NVML_FI_PWR_SMOOTHING_PROFILE_SECONDARY_POWER_FLOOR = ...
NVML_FI_PWR_SMOOTHING_PROFILE_PRIMARY_FLOOR_ACT_WIN_MULT = ...
NVML_FI_PWR_SMOOTHING_PROFILE_PRIMARY_FLOOR_TAR_WIN_MULT = ...
NVML_FI_PWR_SMOOTHING_PROFILE_PRIMARY_FLOOR_ACT_OFFSET = ...
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_SECONDARY_POWER_FLOOR = ...
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_PRIMARY_FLOOR_ACT_WIN_MULT = ...
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_PRIMARY_FLOOR_TAR_WIN_MULT = ...
NVML_FI_PWR_SMOOTHING_ADMIN_OVERRIDE_PRIMARY_FLOOR_ACT_OFFSET = ...
NVML_FI_DEV_NVLINK_COUNT_RAW_ERRORS_LANE0 = ...
NVML_FI_DEV_NVLINK_COUNT_RAW_ERRORS_LANE1 = ...
NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE0_V2 = ...
NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE1_V2 = ...
NVML_FI_DEV_NVLINK_COUNT_RAW_BER_V2 = ...
NVML_FI_DEV_NVLINK_PLR_XMIT_BLOCKS = ...
NVML_FI_DEV_NVLINK_PLR_XMIT_RETRY_BLOCKS = ...
NVML_FI_MAX = ...
NVML_NVLINK_STATE_INACTIVE = ...
NVML_NVLINK_STATE_ACTIVE = ...
NVML_NVLINK_STATE_SLEEP = ...
NVML_NVLINK_LOW_POWER_THRESHOLD_UNIT_100US = ...
NVML_NVLINK_LOW_POWER_THRESHOLD_UNIT_50US = ...
NVML_C2C_POWER_STATE_FULL_POWER = ...
NVML_C2C_POWER_STATE_LOW_POWER = ...
NVML_GPU_VIRTUALIZATION_MODE_NONE = ...
NVML_GPU_VIRTUALIZATION_MODE_PASSTHROUGH = ...
NVML_GPU_VIRTUALIZATION_MODE_VGPU = ...
NVML_GPU_VIRTUALIZATION_MODE_HOST_VGPU = ...
NVML_GPU_VIRTUALIZATION_MODE_HOST_VSGA = ...
nvmlLib = ...
libLoadLock = ...
_nvmlLib_refcount = ...
_nvmlVgpuTypeId_t = c_uint
_nvmlVgpuInstance_t = c_uint
_nvmlVgpuVmIdType_t = c_uint
NVML_VGPU_VM_ID_DOMAIN_ID = ...
NVML_VGPU_VM_ID_UUID = ...
_nvmlGridLicenseFeatureCode_t = c_uint
NVML_GRID_LICENSE_FEATURE_CODE_UNKNOWN = ...
NVML_GRID_LICENSE_FEATURE_CODE_VGPU = ...
NVML_GRID_LICENSE_FEATURE_CODE_NVIDIA_RTX = ...
NVML_GRID_LICENSE_FEATURE_CODE_VWORKSTATION = ...
NVML_GRID_LICENSE_FEATURE_CODE_GAMING = ...
NVML_GRID_LICENSE_FEATURE_CODE_COMPUTE = ...
_nvmlGridLicenseExpiryStatus_t = c_uint8
NVML_GRID_LICENSE_EXPIRY_NOT_AVAILABLE = ...
NVML_GRID_LICENSE_EXPIRY_INVALID = ...
NVML_GRID_LICENSE_EXPIRY_VALID = ...
NVML_GRID_LICENSE_EXPIRY_NOT_APPLICABLE = ...
NVML_GRID_LICENSE_EXPIRY_PERMANENT = ...
_nvmlVgpuCapability_t = c_uint
NVML_VGPU_CAP_NVLINK_P2P = ...
NVML_VGPU_CAP_GPUDIRECT = ...
NVML_VGPU_CAP_MULTI_VGPU_EXCLUSIVE = ...
NVML_VGPU_CAP_EXCLUSIVE_TYPE = ...
NVML_VGPU_CAP_EXCLUSIVE_SIZE = ...
NVML_VGPU_CAP_COUNT = ...
_nvmlVgpuDriverCapability_t = c_uint
NVML_VGPU_DRIVER_CAP_HETEROGENEOUS_MULTI_VGPU = ...
NVML_VGPU_DRIVER_CAP_WARM_UPDATE = ...
NVML_VGPU_DRIVER_CAP_COUNT = ...
_nvmlDeviceVgpuCapability_t = c_uint
NVML_DEVICE_VGPU_CAP_FRACTIONAL_MULTI_VGPU = ...
NVML_DEVICE_VGPU_CAP_HETEROGENEOUS_TIMESLICE_PROFILES = ...
NVML_DEVICE_VGPU_CAP_HETEROGENEOUS_TIMESLICE_SIZES = ...
NVML_DEVICE_VGPU_CAP_READ_DEVICE_BUFFER_BW = ...
NVML_DEVICE_VGPU_CAP_WRITE_DEVICE_BUFFER_BW = ...
NVML_DEVICE_VGPU_CAP_DEVICE_STREAMING = ...
NVML_DEVICE_VGPU_CAP_MINI_QUARTER_GPU = ...
NVML_DEVICE_VGPU_CAP_COMPUTE_MEDIA_ENGINE_GPU = ...
NVML_DEVICE_VGPU_CAP_WARM_UPDATE = ...
NVML_DEVICE_VGPU_CAP_HOMOGENEOUS_PLACEMENTS = ...
NVML_DEVICE_VGPU_CAP_MIG_TIMESLICING_SUPPORTED = ...
NVML_DEVICE_VGPU_CAP_MIG_TIMESLICING_ENABLED = ...
NVML_DEVICE_VGPU_CAP_COUNT = ...
_nvmlVgpuGuestInfoState_t = c_uint
NVML_VGPU_INSTANCE_GUEST_INFO_STATE_UNINITIALIZED = ...
NVML_VGPU_INSTANCE_GUEST_INFO_STATE_INITIALIZED = ...
_nvmlVgpuVmCompatibility_t = c_uint
NVML_VGPU_VM_COMPATIBILITY_NONE = ...
NVML_VGPU_VM_COMPATIBILITY_COLD = ...
NVML_VGPU_VM_COMPATIBILITY_HIBERNATE = ...
NVML_VGPU_VM_COMPATIBILITY_SLEEP = ...
NVML_VGPU_VM_COMPATIBILITY_LIVE = ...
_nvmlVgpuPgpuCompatibilityLimitCode_t = c_uint
NVML_VGPU_COMPATIBILITY_LIMIT_NONE = ...
NVML_VGPU_COMPATIBILITY_LIMIT_HOST_DRIVER = ...
NVML_VGPU_COMPATIBILITY_LIMIT_GUEST_DRIVER = ...
NVML_VGPU_COMPATIBILITY_LIMIT_GPU = ...
NVML_VGPU_COMPATIBILITY_LIMIT_OTHER = ...
_nvmlHostVgpuMode_t = c_uint
NVML_HOST_VGPU_MODE_NON_SRIOV = ...
NVML_HOST_VGPU_MODE_SRIOV = ...
_nvmlConfComputeGpusReadyState_t = c_uint
NVML_CC_ACCEPTING_CLIENT_REQUESTS_FALSE = ...
NVML_CC_ACCEPTING_CLIENT_REQUESTS_TRUE = ...
_nvmlConfComputeGpuCaps_t = c_uint
NVML_CC_SYSTEM_GPUS_CC_NOT_CAPABLE = ...
NVML_CC_SYSTEM_GPUS_CC_CAPABLE = ...
_nvmlConfComputeCpuCaps_t = c_uint
NVML_CC_SYSTEM_CPU_CAPS_NONE = ...
NVML_CC_SYSTEM_CPU_CAPS_AMD_SEV = ...
NVML_CC_SYSTEM_CPU_CAPS_INTEL_TDX = ...
NVML_CC_SYSTEM_CPU_CAPS_AMD_SEV_SNP = ...
NVML_CC_SYSTEM_CPU_CAPS_AMD_SNP_VTOM = ...
_nvmlConfComputeDevToolsMode_t = c_uint
NVML_CC_SYSTEM_DEVTOOLS_MODE_OFF = ...
NVML_CC_SYSTEM_DEVTOOLS_MODE_ON = ...
NVML_CC_SYSTEM_MULTIGPU_NONE = ...
NVML_CC_SYSTEM_MULTIGPU_PROTECTED_PCIE = ...
NVML_CC_SYSTEM_MULTIGPU_NVLE = ...
NVML_CC_SYSTEM_ENVIRONMENT_UNAVAILABLE = ...
NVML_CC_SYSTEM_ENVIRONMENT_SIM = ...
NVML_CC_SYSTEM_ENVIRONMENT_PROD = ...
_nvmlConfComputeCcFeature_t = c_uint
NVML_CC_SYSTEM_FEATURE_DISABLED = ...
NVML_CC_SYSTEM_FEATURE_ENABLED = ...
_nvmlConfComputeCcKeyRotationThreshAttackerAdv_t = c_uint
NVML_CC_KEY_ROTATION_THRESH_ATTACKER_ADVANTAGE_MIN = ...
NVML_CC_KEY_ROTATION_THRESH_ATTACKER_ADVANTAGE_MAX = ...
NVML_GSP_FIRMWARE_VERSION_BUF_SIZE = ...

class NVMLLibraryMismatchError(Exception): ...

class NVMLError(Exception):
    _valClassMapping = ...
    _errcode_to_string = ...
    def __new__(typ, value):  # -> Self:
        """
        Maps value to a proper subclass of NVMLError.
        See _extractNVMLErrorsAsClasses function for more details
        """
        ...

    def __str__(self) -> str: ...
    def __eq__(self, other) -> bool: ...

def nvmlExceptionClass(nvmlErrorCode): ...

_nvmlGetFunctionPointer_cache = ...

class nvmlFriendlyObject:
    def __init__(self, dictionary) -> None: ...
    def __str__(self) -> str: ...

def nvmlStructToFriendlyObject(struct):  # -> nvmlFriendlyObject:
    ...
def nvmlFriendlyObjectToStruct(obj, model): ...

class struct_c_nvmlUnit_t(Structure): ...

c_nvmlUnit_t = ...

class _PrintableStructure(Structure):
    """
    Abstract class that produces nicer __str__ output than ctypes.Structure.
    e.g. instead of:
      >>> print str(obj)
      <class_name object at 0x7fdf82fef9e0>
    this class will print
      class_name(field_name: formatted_value, field_name: formatted_value)

    _fmt_ dictionary of <str _field_ name> -> <str format>
    e.g. class that has _field_ 'hex_value', c_uint could be formatted with
      _fmt_ = {"hex_value" : "%08X"}
    to produce nicer output.
    Default fomratting string for all fields can be set with key "<default>" like:
      _fmt_ = {"<default>" : "%d MHz"} # e.g all values are numbers in MHz.
    If not set it's assumed to be just "%s"

    Exact format of returned str from this class is subject to change in the future.
    """

    _fmt_ = ...
    def __str__(self) -> str: ...
    def __getattribute__(self, name):  # -> <subclass of bytes and str> | str | Any:
        ...
    def __setattr__(self, name, value) -> None: ...

class c_nvmlUnitInfo_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlC2cModeInfo_v1_t(_PrintableStructure):
    _fields_ = ...

nvmlC2cModeInfo_v1 = ...

class c_nvmlLedState_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlPSUInfo_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlUnitFanInfo_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlUnitFanSpeeds_t(_PrintableStructure):
    _fields_ = ...

class struct_c_nvmlDevice_t(Structure): ...

c_nvmlDevice_t = ...

class nvmlPciInfoExt_v1_t(_PrintableStructure):
    _fields_ = ...
    _fmt_ = ...

nvmlPciInfoExt_v1 = ...

class nvmlPciInfo_v2_t(_PrintableStructure):
    _fields_ = ...
    _fmt_ = ...

class nvmlPciInfo_t(_PrintableStructure):
    _fields_ = ...
    _fmt_ = ...

class c_nvmlSystemDriverBranchInfo_v1_t(_PrintableStructure):
    _fields_ = ...

SystemDriverBranchInfo_v1 = ...

class c_nvmlExcludedDeviceInfo_t(_PrintableStructure):
    _fields_ = ...

class nvmlNvLinkUtilizationControl_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlMemory_t(_PrintableStructure):
    _fields_ = ...
    _fmt_ = ...

class c_nvmlMemory_v2_t(_PrintableStructure):
    _fields_ = ...
    _fmt_ = ...

nvmlMemory_v2 = ...

class c_nvmlBAR1Memory_t(_PrintableStructure):
    _fields_ = ...
    _fmt_ = ...

class nvmlClkMonFaultInfo_t(Structure):
    _fields_ = ...

MAX_CLK_DOMAINS = ...

class nvmlClkMonStatus_t(Structure):
    _fields_ = ...

class c_nvmlProcessInfo_v2_t(_PrintableStructure):
    _fields_ = ...
    _fmt_ = ...

c_nvmlProcessInfo_v3_t = c_nvmlProcessInfo_v2_t
c_nvmlProcessInfo_t = c_nvmlProcessInfo_v3_t
_nvmlProcessMode_t = c_uint
NVML_PROCESS_MODE_COMPUTE = ...
NVML_PROCESS_MODE_GRAPHICS = ...
NVML_PROCESS_MODE_MPS = ...

class c_nvmlProcessDetail_v1_t(Structure):
    _fields_ = ...

class c_nvmlProcessDetailList_v1_t(_PrintableStructure):
    _fields_ = ...
    _fmt_ = ...

c_nvmlProcessDetailList_t = c_nvmlProcessDetailList_v1_t
nvmlProcessDetailList_v1 = ...

class c_nvmlBridgeChipInfo_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlBridgeChipHierarchy_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlEccErrorCounts_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlUtilization_t(_PrintableStructure):
    _fields_ = ...
    _fmt_ = ...
    gpu: c_uint
    memory: c_uint

class c_nvmlHwbcEntry_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlValue_t(Union):
    _fields_ = ...

class c_nvmlSample_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlViolationTime_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlFieldValue_t(_PrintableStructure):
    _fields_ = ...

NVML_NVLINK_TOTAL_SUPPORTED_BW_MODES = ...
nvmlNvlinkSupportedBwModes_v1 = ...

class c_nvmlNvlinkSupportedBwModes_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlNvlinkGetBwMode_v1 = ...

class c_nvmlNvlinkGetBwMode_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlNvlinkSetBwMode_v1 = ...

class c_nvmlNvlinkSetBwMode_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

class c_nvmlVgpuHeterogeneousMode_v1_t(_PrintableStructure):
    _fields_ = ...

VgpuHeterogeneousMode_v1 = ...

class c_nvmlVgpuPlacementId_v1_t(_PrintableStructure):
    _fields_ = ...

VgpuPlacementId_v1 = ...

class c_nvmlVgpuPlacementList_v1_t(_PrintableStructure):
    _fields_ = ...

VgpuPlacementList_v1 = ...
NVML_VGPU_PGPU_HETEROGENEOUS_MODE = ...
NVML_VGPU_PGPU_HOMOGENEOUS_MODE = ...

class c_nvmlVgpuPlacementList_v2_t(_PrintableStructure):
    _fields_ = ...

VgpuPlacementList_v2 = ...

class c_nvmlVgpuTypeBar1Info_v1_t(_PrintableStructure):
    _fields_ = ...

VgpuTypeBar1Info_v1 = ...

class c_nvmlVgpuInstanceUtilizationSample_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuInstanceUtilizationInfo_v1_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuInstancesUtilizationInfo_v1_t(_PrintableStructure):
    _fields_ = ...

VgpuInstancesUtilizationInfo_v1 = ...

class c_nvmlVgpuProcessUtilizationSample_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuProcessUtilizationInfo_v1_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuProcessesUtilizationInfo_v1_t(_PrintableStructure):
    _fields_ = ...

VgpuProcessesUtilizationInfo_v1 = ...

class nvmlVgpuRuntimeState_v1_t(_PrintableStructure):
    _fields_ = ...

VgpuRuntimeState_v1 = ...

class c_nvmlVgpuLicenseExpiry_t(_PrintableStructure):
    _fields_ = ...

NVML_GRID_LICENSE_STATE_UNKNOWN = ...
NVML_GRID_LICENSE_STATE_UNINITIALIZED = ...
NVML_GRID_LICENSE_STATE_UNLICENSED_UNRESTRICTED = ...
NVML_GRID_LICENSE_STATE_UNLICENSED_RESTRICTED = ...
NVML_GRID_LICENSE_STATE_UNLICENSED = ...
NVML_GRID_LICENSE_STATE_LICENSED = ...

class c_nvmlVgpuLicenseInfo_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlEncoderSession_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlProcessUtilizationSample_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlProcessUtilizationInfo_v1_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlProcessesUtilizationInfo_v1_t(_PrintableStructure):
    _fields_ = ...

ProcessesUtilizationInfo_v1 = ...

class c_nvmlGridLicenseExpiry_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlGridLicensableFeature_v4_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlGridLicensableFeatures_v4_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlGridLicensableFeature_v3_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlGridLicensableFeatures_v3_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlGridLicensableFeature_v2_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlGridLicensableFeatures_v2_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlGridLicensableFeature_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlGridLicensableFeatures_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlMarginTemperature_v1_t(_PrintableStructure):
    _fields_ = ...

nvmlMarginTemperature_v1 = ...
NVML_DEVICE_UUID_ASCII_LEN = ...
NVML_DEVICE_UUID_BINARY_LEN = ...
NVML_UUID_TYPE_NONE = ...
NVML_UUID_TYPE_ASCII = ...
NVML_UUID_TYPE_BINARY = ...

class c_nvmlUUIDValue_t(Union):
    _fields_ = ...

nvmlUUID_v1 = ...

class c_nvmlUUID_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlPdi_v1 = ...

class c_nvmlPdi_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlRepairStatus_v1 = ...

class c_nvmlRepairStatus_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlNvLinkInfo_v1 = ...

class c_nvmlNvLinkInfo_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

NVML_NVLINK_FIRMWARE_UCODE_TYPE_MSE = ...
NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR = ...
NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_UPHY = ...
NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_CLN = ...
NVML_NVLINK_FIRMWARE_UCODE_TYPE_NETIR_DLN = ...
NVML_NVLINK_FIRMWARE_VERSION_LENGTH = ...

class c_nvmlNvlinkFirmwareVersion_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlNvlinkFirmwareInfo_t(_PrintableStructure):
    _fields_ = ...

nvmlNvLinkInfo_v2 = ...

class c_nvmlNvLinkInfo_v2_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

NVML_PRM_DATA_MAX_SIZE = ...

class c_nvmlPRMTLV_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self, size=...) -> None: ...

def nvmlDeviceReadWritePRM_v1(
    handle: _Pointer[struct_c_nvmlDevice_t], c_info
) -> None: ...

NVML_DEVICE_ADDRESSING_MODE_NONE = ...
NVML_DEVICE_ADDRESSING_MODE_HMM = ...
NVML_DEVICE_ADDRESSING_MODE_ATS = ...
nvmlDeviceAddressingMode_v1 = ...

class c_nvmlDeviceAddressingMode_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlUnrepairableMemory_v1 = ...

class c_nvmlUnrepairableMemory_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

NVML_PRM_COUNTER_ID_NONE = ...
NVML_PRM_COUNTER_ID_PPCNT_PHYSICAL_LAYER_CTRS_LINK_DOWN_EVENTS = ...
NVML_PRM_COUNTER_ID_PPCNT_PHYSICAL_LAYER_CTRS_SUCCESSFUL_RECOVERY_EVENTS = ...
NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_TOTAL_SUCCESSFUL_RECOVERY_EVENTS = ...
NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_TIME_SINCE_LAST_RECOVERY = ...
NVML_PRM_COUNTER_ID_PPCNT_RECOVERY_CTRS_TIME_BETWEEN_LAST_TWO_RECOVERIES = ...
NVML_PRM_COUNTER_ID_PPCNT_PORTCOUNTERS_PORT_XMIT_WAIT = ...
NVML_PRM_COUNTER_ID_PPCNT_PLR_RCV_CODES = ...
NVML_PRM_COUNTER_ID_PPCNT_PLR_RCV_CODE_ERR = ...
NVML_PRM_COUNTER_ID_PPCNT_PLR_RCV_UNCORRECTABLE_CODE = ...
NVML_PRM_COUNTER_ID_PPCNT_PLR_XMIT_CODES = ...
NVML_PRM_COUNTER_ID_PPCNT_PLR_XMIT_RETRY_CODES = ...
NVML_PRM_COUNTER_ID_PPCNT_PLR_XMIT_RETRY_EVENTS = ...
NVML_PRM_COUNTER_ID_PPCNT_PLR_SYNC_EVENTS = ...
NVML_PRM_COUNTER_ID_PPRM_OPER_RECOVERY = ...

class c_nvmlPRMCounterInput_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self, port=...) -> None: ...

class c_nvmlPRMCounterValue_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

class c_nvmlPRMCounter_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self, ctrId=..., inData=...) -> None: ...

class c_nvmlPRMCounterList_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self, num, ctrs=...) -> None: ...

def nvmlDeviceReadPRMCounters_v1(
    handle: _Pointer[struct_c_nvmlDevice_t], c_info
) -> None: ...

class struct_c_nvmlEventSet_t(Structure): ...

c_nvmlEventSet_t = ...
nvmlEventTypeSingleBitEccError = ...
nvmlEventTypeDoubleBitEccError = ...
nvmlEventTypePState = ...
nvmlEventTypeXidCriticalError = ...
nvmlEventTypeClock = ...
nvmlEventTypePowerSourceChange = ...
nvmlEventMigConfigChange = ...
nvmlEventTypeSingleBitEccErrorStorm = ...
nvmlEventTypeDramRetirementEvent = ...
nvmlEventTypeDramRetirementFailure = ...
nvmlEventTypeNonFatalPoisonError = ...
nvmlEventTypeFatalPoisonError = ...
nvmlEventTypeGpuUnavailableError = ...
nvmlEventTypeGpuRecoveryAction = ...
nvmlEventTypeNone = ...
nvmlEventTypeAll = ...
nvmlClocksEventReasonGpuIdle = ...
nvmlClocksEventReasonApplicationsClocksSetting = ...
nvmlClocksEventReasonUserDefinedClocks = ...
nvmlClocksEventReasonSwPowerCap = ...
nvmlClocksEventReasonHwSlowdown = ...
nvmlClocksEventReasonSyncBoost = ...
nvmlClocksEventReasonSwThermalSlowdown = ...
nvmlClocksEventReasonHwThermalSlowdown = ...
nvmlClocksEventReasonHwPowerBrakeSlowdown = ...
nvmlClocksEventReasonDisplayClockSetting = ...
nvmlClocksEventReasonNone = ...
nvmlClocksEventReasonAll = ...
nvmlClocksThrottleReasonGpuIdle = ...
nvmlClocksThrottleReasonApplicationsClocksSetting = ...
nvmlClocksThrottleReasonUserDefinedClocks = ...
nvmlClocksThrottleReasonSwPowerCap = ...
nvmlClocksThrottleReasonHwSlowdown = ...
nvmlClocksThrottleReasonSyncBoost = ...
nvmlClocksThrottleReasonSwThermalSlowdown = ...
nvmlClocksThrottleReasonHwThermalSlowdown = ...
nvmlClocksThrottleReasonHwPowerBrakeSlowdown = ...
nvmlClocksThrottleReasonDisplayClockSetting = ...
nvmlClocksThrottleReasonNone = ...
nvmlClocksThrottleReasonAll = ...

class c_nvmlEventData_t(_PrintableStructure):
    _fields_ = ...
    _fmt_ = ...

class struct_c_nvmlSystemEventSet_t(Structure): ...

c_nvmlSystemEventSet_t = ...
nvmlSystemEventTypeGpuDriverUnbind = ...
nvmlSystemEventTypeGpuDriverBind = ...
nvmlSystemEventTypeCount = ...
nvmlSystemEventSetCreateRequest_v1 = ...

class c_nvmlSystemEventSetCreateRequest_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlSystemEventSetFreeRequest_v1 = ...

class c_nvmlSystemEventSetFreeRequest_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlSystemRegisterEventRequest_v1 = ...

class c_nvmlSystemRegisterEventRequest_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

class c_nvmlSystemEventData_v1_t(_PrintableStructure):
    _fields_ = ...
    _fmt_ = ...

nvmlSystemEventSetWaitRequest_v1 = ...

class c_nvmlSystemEventSetWaitRequest_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

def c_nvmlSystemEventSetCreate(req) -> None:
    """
    C API binding for c_nvmlSystemEventSetFree
    :param req: reference of c_nvmlSystemEventSetCreateRequest_v1_t
    """
    ...

def c_nvmlSystemEventSetFree(req) -> None:
    """
    C API binding for c_nvmlSystemEventSetFree
    :param req: reference of c_nvmlSystemEventSetFreeRequest_v1_t
    """
    ...

def c_nvmlSystemRegisterEvents(req) -> None:
    """
    C API binding for nvmlSystemRegisterEvents
    :param req: reference of c_nvmlSystemRegisterEventRequest_v1_t
    """
    ...

def c_nvmlSystemEventSetWait(req):  # -> Literal[10] | None:
    """
    C API binding for nvmlSystemEventSetWait
    :param req: reference of c_nvmlSystemEventSetWaitRequest_v1_t
    """
    ...

def nvmlSystemEventSetCreate(version):
    """
    Create an NVML system event set.
    :param version: The version of the request.
    :return: A ctypes pointer to the created c_nvmlSystemEventSet_t structure.
    """
    ...

def nvmlSystemEventSetFree(version, setHandle) -> None:
    """
    Free an NVML system event set.
    :param version: The version of the request.
    :param setHandle: A ctypes pointer to a c_nvmlSystemEventSet_t structure.
    """
    ...

def nvmlSystemRegisterEvents(version, eventTypes, setHandle) -> None:
    """
    Register events for an NVML system event set.
    :param version: The version of the request.
    :param eventTypes: A bitmask of event types to register.
    :param setHandle: A ctypes pointer to a c_nvmlSystemEventSet_t structure.
    """
    ...

def nvmlSystemEventSetWait(
    version, setHandle, timeoutMs, eventData, eventDataSize
):  # -> list[Any]:
    """
    Wait for events in an NVML system event set.
    :param version: The version of the request.
    :param setHandle: A ctypes pointer to a c_nvmlSystemEventSet_t structure.
    :param timeoutMs: Timeout in milliseconds.
    :param eventData: A ctypes array of c_nvmlSystemEventData_v1_t for event data.
    :param eventDataSize: Number of c_nvmlSystemEventData_v1_t in evenData array..
    :return: A list of dictionaries containing event data.
    """
    ...

class c_nvmlAccountingStats_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuVersion_t(Structure):
    _fields_ = ...

class c_nvmlVgpuMetadata_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuPgpuMetadata_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuPgpuCompatibility_t(Structure):
    _fields_ = ...

NVML_VGPU_SCHEDULER_POLICY_UNKNOWN = ...
NVML_VGPU_SCHEDULER_POLICY_BEST_EFFORT = ...
NVML_VGPU_SCHEDULER_POLICY_EQUAL_SHARE = ...
NVML_VGPU_SCHEDULER_POLICY_FIXED_SHARE = ...
NVML_SUPPORTED_VGPU_SCHEDULER_POLICY_COUNT = ...
NVML_SCHEDULER_SW_MAX_LOG_ENTRIES = ...
NVML_VGPU_SCHEDULER_ARR_DEFAULT = ...
NVML_VGPU_SCHEDULER_ARR_DISABLE = ...
NVML_VGPU_SCHEDULER_ARR_ENABLE = ...
NVML_VGPU_SCHEDULER_ENGINE_TYPE_GRAPHICS = ...
NVML_VGPU_SCHEDULER_ENGINE_TYPE_NVENC1 = ...
NVML_VGPU_SCHEDULER_ENGINE_TYPE_NVENC0 = ...

class c_nvmlVgpuSchedDataWithARR_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuSchedData_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuSchedulerParams_t(Union):
    _fields_ = ...

class c_nvmlVgpuSchedulerLogEntry_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuSchedulerLog_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuSchedulerGetState_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuSchedSetDataWithARR_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuSchedSetData_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuSchedulerSetParams_t(Union):
    _fields_ = ...

class c_nvmlVgpuSchedulerSetState_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuSchedulerCapabilities_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuTypeIdInfo_v1_t(_PrintableStructure):
    _fields_ = ...

nvmlVgpuTypeIdInfo_v1 = ...

class c_nvmlVgpuTypeMaxInstance_v1_t(_PrintableStructure):
    _fields_ = ...

nvmlVgpuTypeMaxInstance_v1 = ...

class c_nvmlActiveVgpuInstanceInfo_v1_t(_PrintableStructure):
    _fields_ = ...

nvmlActiveVgpuInstanceInfo_v1 = ...

class c_nvmlVgpuSchedulerState_v1_t(_PrintableStructure):
    _fields_ = ...

nvmlVgpuSchedulerState_v1 = ...

class c_nvmlVgpuSchedulerStateInfo_v1_t(_PrintableStructure):
    _fields_ = ...

nvmlVgpuSchedulerStateInfo_v1 = ...

class c_nvmlVgpuSchedulerLogInfo_v1_t(_PrintableStructure):
    _fields_ = ...

nvmlVgpuSchedulerLogInfo_v1 = ...

class c_nvmlVgpuCreatablePlacementInfo_v1_t(_PrintableStructure):
    _fields_ = ...

nvmlVgpuCreatablePlacementInfo_v1 = ...

class c_nvmlVgpuSchedulerStateInfo_v2_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuSchedulerLogEntry_v2_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuSchedulerLogInfo_v2_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlVgpuSchedulerState_v2_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlFBCStats_t(Structure):
    _fields_ = ...

class c_nvmlFBCSession_t(_PrintableStructure):
    _fields_ = ...

NVML_DEVICE_MIG_DISABLE = ...
NVML_DEVICE_MIG_ENABLE = ...
NVML_GPU_INSTANCE_PROFILE_1_SLICE = ...
NVML_GPU_INSTANCE_PROFILE_2_SLICE = ...
NVML_GPU_INSTANCE_PROFILE_3_SLICE = ...
NVML_GPU_INSTANCE_PROFILE_4_SLICE = ...
NVML_GPU_INSTANCE_PROFILE_7_SLICE = ...
NVML_GPU_INSTANCE_PROFILE_8_SLICE = ...
NVML_GPU_INSTANCE_PROFILE_6_SLICE = ...
NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV1 = ...
NVML_GPU_INSTANCE_PROFILE_2_SLICE_REV1 = ...
NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV2 = ...
NVML_GPU_INSTANCE_PROFILE_1_SLICE_GFX = ...
NVML_GPU_INSTANCE_PROFILE_2_SLICE_GFX = ...
NVML_GPU_INSTANCE_PROFILE_4_SLICE_GFX = ...
NVML_GPU_INSTANCE_PROFILE_1_SLICE_NO_ME = ...
NVML_GPU_INSTANCE_PROFILE_2_SLICE_NO_ME = ...
NVML_GPU_INSTANCE_PROFILE_1_SLICE_ALL_ME = ...
NVML_GPU_INSTANCE_PROFILE_2_SLICE_ALL_ME = ...
NVML_GPU_INSTANCE_PROFILE_COUNT = ...

class c_nvmlGpuInstancePlacement_t(Structure):
    _fields_ = ...

class c_nvmlGpuInstanceProfileInfo_t(Structure):
    _fields_ = ...

nvmlGpuInstanceProfileInfo_v2 = ...

class c_nvmlGpuInstanceProfileInfo_v2_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

class c_nvmlGpuInstanceInfo_t(Structure):
    _fields_ = ...

class struct_c_nvmlGpuInstance_t(Structure): ...

c_nvmlGpuInstance_t = ...
NVML_COMPUTE_INSTANCE_PROFILE_1_SLICE = ...
NVML_COMPUTE_INSTANCE_PROFILE_2_SLICE = ...
NVML_COMPUTE_INSTANCE_PROFILE_3_SLICE = ...
NVML_COMPUTE_INSTANCE_PROFILE_4_SLICE = ...
NVML_COMPUTE_INSTANCE_PROFILE_7_SLICE = ...
NVML_COMPUTE_INSTANCE_PROFILE_8_SLICE = ...
NVML_COMPUTE_INSTANCE_PROFILE_6_SLICE = ...
NVML_COMPUTE_INSTANCE_PROFILE_1_SLICE_REV1 = ...
NVML_COMPUTE_INSTANCE_PROFILE_COUNT = ...
NVML_COMPUTE_INSTANCE_ENGINE_PROFILE_SHARED = ...
NVML_COMPUTE_INSTANCE_ENGINE_PROFILE_COUNT = ...

class c_nvmlComputeInstancePlacement_t(Structure):
    _fields_ = ...

class c_nvmlComputeInstanceProfileInfo_t(Structure):
    _fields_ = ...

nvmlComputeInstanceProfileInfo_v2 = ...

class c_nvmlComputeInstanceProfileInfo_v2_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

class c_nvmlComputeInstanceInfo_t(Structure):
    _fields_ = ...

NVML_MAX_GPU_UTILIZATIONS = ...
NVML_GPU_UTILIZATION_DOMAIN_GPU = ...
NVML_GPU_UTILIZATION_DOMAIN_FB = ...
NVML_GPU_UTILIZATION_DOMAIN_VID = ...
NVML_GPU_UTILIZATION_DOMAIN_BUS = ...

class c_nvmlGpuDynamicPstatesUtilization_t(Structure):
    _fields_ = ...

class c_nvmlGpuDynamicPstatesInfo_t(Structure):
    _fields_ = ...

NVML_MAX_THERMAL_SENSORS_PER_GPU = ...
NVML_THERMAL_TARGET_NONE = ...
NVML_THERMAL_TARGET_GPU = ...
NVML_THERMAL_TARGET_MEMORY = ...
NVML_THERMAL_TARGET_POWER_SUPPLY = ...
NVML_THERMAL_TARGET_BOARD = ...
NVML_THERMAL_TARGET_VCD_BOARD = ...
NVML_THERMAL_TARGET_VCD_INLET = ...
NVML_THERMAL_TARGET_VCD_OUTLET = ...
NVML_THERMAL_TARGET_ALL = ...
NVML_THERMAL_TARGET_UNKNOWN = ...
NVML_THERMAL_CONTROLLER_NONE = ...
NVML_THERMAL_CONTROLLER_GPU_INTERNAL = ...
NVML_THERMAL_CONTROLLER_ADM1032 = ...
NVML_THERMAL_CONTROLLER_ADT7461 = ...
NVML_THERMAL_CONTROLLER_MAX6649 = ...
NVML_THERMAL_CONTROLLER_MAX1617 = ...
NVML_THERMAL_CONTROLLER_LM99 = ...
NVML_THERMAL_CONTROLLER_LM89 = ...
NVML_THERMAL_CONTROLLER_LM64 = ...
NVML_THERMAL_CONTROLLER_G781 = ...
NVML_THERMAL_CONTROLLER_ADT7473 = ...
NVML_THERMAL_CONTROLLER_SBMAX6649 = ...
NVML_THERMAL_CONTROLLER_VBIOSEVT = ...
NVML_THERMAL_CONTROLLER_OS = ...
NVML_THERMAL_CONTROLLER_NVSYSCON_CANOAS = ...
NVML_THERMAL_CONTROLLER_NVSYSCON_E551 = ...
NVML_THERMAL_CONTROLLER_MAX6649R = ...
NVML_THERMAL_CONTROLLER_ADT7473S = ...
NVML_THERMAL_CONTROLLER_UNKNOWN = ...

class c_nvmlGpuThermalSensor_t(Structure):
    _fields_ = ...

class c_nvmlGpuThermalSettings_t(Structure):
    _fields_ = ...

_nvmlCoolerControl_t = c_uint
NVML_THERMAL_COOLER_SIGNAL_NONE = ...
NVML_THERMAL_COOLER_SIGNAL_TOGGLE = ...
NVML_THERMAL_COOLER_SIGNAL_VARIABLE = ...
NVML_THERMAL_COOLER_SIGNAL_COUNT = ...
_nvmlCoolerTarget_t = c_uint
NVML_THERMAL_COOLER_TARGET_NONE = ...
NVML_THERMAL_COOLER_TARGET_GPU = ...
NVML_THERMAL_COOLER_TARGET_MEMORY = ...
NVML_THERMAL_COOLER_TARGET_POWER_SUPPLY = ...
NVML_THERMAL_COOLER_TARGET_GPU_RELATED = ...

class c_nvmlCoolerInfo_t(_PrintableStructure):
    _fields_ = ...

nvmlCoolerInfo_v1 = ...

def nvmlDeviceGetCoolerInfo(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[<subclass of bytes and str> | str | Any]:
    ...

class struct_c_nvmlComputeInstance_t(Structure): ...

c_nvmlComputeInstance_t = ...

class c_nvmlDeviceAttributes(Structure):
    _fields_ = ...

class c_nvmlRowRemapperHistogramValues(Structure):
    _fields_ = ...

NVML_GPU_CERT_CHAIN_SIZE = ...
NVML_GPU_ATTESTATION_CERT_CHAIN_SIZE = ...
NVML_CC_GPU_CEC_NONCE_SIZE = ...
NVML_CC_GPU_ATTESTATION_REPORT_SIZE = ...
NVML_CC_GPU_CEC_ATTESTATION_REPORT_SIZE = ...
NVML_CC_CEC_ATTESTATION_REPORT_NOT_PRESENT = ...
NVML_CC_CEC_ATTESTATION_REPORT_PRESENT = ...

class c_nvmlConfComputeSystemState_t(Structure):
    _fields_ = ...

nvmlSystemConfComputeSettings_v1 = ...

class c_nvmlSystemConfComputeSettings_v1_t(Structure):
    _fields_ = ...
    def __init__(self) -> None: ...

class c_nvmlConfComputeSystemCaps_t(Structure):
    _fields_ = ...

class c_nvmlConfComputeMemSizeInfo_t(Structure):
    _fields_ = ...

class c_nvmlConfComputeGpuCertificate_t(Structure):
    _fields_ = ...

class c_nvmlConfComputeGpuAttestationReport_t(Structure):
    _fields_ = ...

class c_nvmlConfComputeSetKeyRotationThresholdInfo_t(Structure):
    _fields_ = ...

ConfComputeSetKeyRotationThresholdInfo_v1 = ...

class c_nvmlConfComputeGetKeyRotationThresholdInfo_t(Structure):
    _fields_ = ...

ConfComputeGetKeyRotationThresholdInfo_v1 = ...

def convertStrBytes(
    func,
):  # -> _Wrapped[..., Any, ..., <subclass of bytes and str> | str | Any]:
    """
    In python 3, strings are unicode instead of bytes, and need to be converted for ctypes
    Args from caller: (1, 'string', <__main__.c_nvmlDevice_t at 0xFFFFFFFF>)
    Args passed to function: (1, b'string', <__main__.c_nvmlDevice_t at 0xFFFFFFFF)>
    ----
    Returned from function: b'returned string'
    Returned to caller: 'returned string'
    """
    ...

def throwOnVersionMismatch(func):  # -> _Wrapped[..., Any, ..., Any]:
    ...
def nvmlInitWithFlags(flags) -> None: ...
def nvmlInit() -> None: ...
def nvmlShutdown() -> None: ...
@convertStrBytes
def nvmlErrorString(result): ...
@convertStrBytes
def nvmlSystemGetNVMLVersion():  # -> Any:
    ...
def nvmlSystemGetCudaDriverVersion() -> int: ...
def nvmlSystemGetCudaDriverVersion_v2() -> int: ...
@convertStrBytes
def nvmlSystemGetProcessName(pid):  # -> Any:
    ...
@convertStrBytes
def nvmlSystemGetDriverVersion():  # -> Any:
    ...
def nvmlSystemGetHicVersion():  # -> list[Any] | Array[c_nvmlHwbcEntry_t]:
    ...
def nvmlSystemGetDriverBranch():  # -> c_nvmlSystemDriverBranchInfo_v1_t:
    ...
def nvmlUnitGetCount() -> int: ...
def nvmlUnitGetHandleByIndex(index: int):  # -> _Pointer[struct_c_nvmlUnit_t]:
    ...
def nvmlUnitGetUnitInfo(unit):  # -> c_nvmlUnitInfo_t:
    ...
def nvmlUnitGetLedState(unit):  # -> c_nvmlLedState_t:
    ...
def nvmlUnitGetPsuInfo(unit):  # -> c_nvmlPSUInfo_t:
    ...
def nvmlUnitGetTemperature(unit, type) -> int: ...
def nvmlUnitGetFanSpeedInfo(unit):  # -> c_nvmlUnitFanSpeeds_t:
    ...
def nvmlUnitGetDeviceCount(unit) -> int: ...
def nvmlUnitGetDevices(unit):  # -> Array[_Pointer[struct_c_nvmlDevice_t]]:
    ...
def nvmlDeviceGetCount() -> int: ...
def nvmlDeviceGetHandleByIndex(index: int) -> _Pointer[struct_c_nvmlDevice_t]: ...
@convertStrBytes
def nvmlDeviceGetHandleBySerial(serial):  # -> _Pointer[struct_c_nvmlDevice_t]:
    ...
@convertStrBytes
def nvmlDeviceGetHandleByUUID(uuid):  # -> _Pointer[struct_c_nvmlDevice_t]:
    ...
@convertStrBytes
def nvmlDeviceGetHandleByUUIDV(uuid, type):  # -> _Pointer[struct_c_nvmlDevice_t]:
    ...
@convertStrBytes
def nvmlDeviceGetHandleByPciBusId(pciBusId):  # -> _Pointer[struct_c_nvmlDevice_t]:
    ...
@convertStrBytes
def nvmlDeviceGetName(handle: _Pointer[struct_c_nvmlDevice_t]):  # -> Any:
    ...

class c_nvmlDevicePerfModes_v1_t(_PrintableStructure):
    _fields_ = ...

nvmlDevicePerfModes_v1 = ...

@convertStrBytes
def nvmlDeviceGetPerformanceModes(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> <subclass of bytes and str> | str | Any:
    ...

class c_nvmlDeviceCurrentClockFreqs_v1_t(_PrintableStructure):
    _fields_ = ...

nvmlDeviceCurrentClockFreqs_v1 = ...

@convertStrBytes
def nvmlDeviceGetCurrentClockFreqs(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> <subclass of bytes and str> | str | Any:
    ...
def nvmlDeviceGetBoardId(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetMultiGpuBoard(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetBrand(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetC2cModeInfoV1(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> c_nvmlC2cModeInfo_v1_t:
    ...
def nvmlDeviceGetC2cModeInfoV(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> c_nvmlC2cModeInfo_v1_t:
    ...
@convertStrBytes
def nvmlDeviceGetBoardPartNumber(handle: _Pointer[struct_c_nvmlDevice_t]):  # -> Any:
    ...
@convertStrBytes
def nvmlDeviceGetSerial(handle: _Pointer[struct_c_nvmlDevice_t]):  # -> Any:
    ...
def nvmlDeviceGetModuleId(
    handle: _Pointer[struct_c_nvmlDevice_t], moduleId=...
) -> int: ...
def nvmlDeviceGetMemoryAffinity(
    handle: _Pointer[struct_c_nvmlDevice_t], nodeSetSize, scope
): ...
def nvmlDeviceGetCpuAffinityWithinScope(
    handle: _Pointer[struct_c_nvmlDevice_t], cpuSetSize, scope
): ...
def nvmlDeviceGetCpuAffinity(handle: _Pointer[struct_c_nvmlDevice_t], cpuSetSize): ...
def nvmlDeviceSetCpuAffinity(handle: _Pointer[struct_c_nvmlDevice_t]) -> None: ...
def nvmlDeviceClearCpuAffinity(handle: _Pointer[struct_c_nvmlDevice_t]) -> None: ...
def nvmlDeviceGetNumaNodeId(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetAddressingMode(device):  # -> <subclass of bytes and str> | str | Any:
    ...
def nvmlDeviceGetMinorNumber(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
@convertStrBytes
def nvmlDeviceGetUUID(handle: _Pointer[struct_c_nvmlDevice_t]):  # -> Any:
    ...
@convertStrBytes
def nvmlDeviceGetInforomVersion(
    handle: _Pointer[struct_c_nvmlDevice_t], infoRomObject
):  # -> Any:
    ...
@convertStrBytes
def nvmlDeviceGetInforomImageVersion(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> Any:
    ...
def nvmlDeviceGetInforomConfigurationChecksum(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceValidateInforom(handle: _Pointer[struct_c_nvmlDevice_t]) -> None: ...
def nvmlDeviceGetLastBBXFlushTime(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[int]:
    ...
def nvmlDeviceGetDisplayMode(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetDisplayActive(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetPersistenceMode(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetPciInfoExt(
    handle: _Pointer[struct_c_nvmlDevice_t], c_info
) -> None: ...
def nvmlDeviceGetPciInfo_v3(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> nvmlPciInfo_t:
    ...
def nvmlDeviceGetPciInfo(handle: _Pointer[struct_c_nvmlDevice_t]):  # -> nvmlPciInfo_t:
    ...
def nvmlDeviceGetClockInfo(handle: _Pointer[struct_c_nvmlDevice_t], type) -> int: ...
def nvmlDeviceGetMaxClockInfo(handle: _Pointer[struct_c_nvmlDevice_t], type) -> int: ...
def nvmlDeviceGetApplicationsClock(
    handle: _Pointer[struct_c_nvmlDevice_t], type
) -> int: ...
def nvmlDeviceGetMaxCustomerBoostClock(
    handle: _Pointer[struct_c_nvmlDevice_t], type
) -> int: ...
def nvmlDeviceGetClock(handle: _Pointer[struct_c_nvmlDevice_t], type, id) -> int: ...
def nvmlDeviceGetDefaultApplicationsClock(
    handle: _Pointer[struct_c_nvmlDevice_t], type
) -> int: ...
def nvmlDeviceGetSupportedMemoryClocks(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[Any]:
    ...
def nvmlDeviceGetSupportedGraphicsClocks(
    handle: _Pointer[struct_c_nvmlDevice_t], memoryClockMHz
):  # -> list[Any]:
    ...
def nvmlDeviceGetFanSpeed(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetFanSpeed_v2(handle: _Pointer[struct_c_nvmlDevice_t], fan) -> int: ...

class c_nvmlFanSpeedInfo_t(_PrintableStructure):
    _fields_ = ...

nvmlFanSpeedInfo_v1 = ...

def nvmlDeviceGetFanSpeedRPM(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> <subclass of bytes and str> | str | Any:
    ...
def nvmlDeviceGetTargetFanSpeed(
    handle: _Pointer[struct_c_nvmlDevice_t], fan
) -> int: ...
def nvmlDeviceGetNumFans(device) -> int: ...
def nvmlDeviceSetDefaultFanSpeed_v2(
    handle: _Pointer[struct_c_nvmlDevice_t], index: int
):  # -> Literal[0]:
    ...
def nvmlDeviceGetMinMaxFanSpeed(
    handle: _Pointer[struct_c_nvmlDevice_t], minSpeed=..., maxSpeed=...
):  # -> list[int] | Literal[0]:
    ...
def nvmlDeviceGetFanControlPolicy_v2(
    handle: _Pointer[struct_c_nvmlDevice_t], fan, fanControlPolicy=...
) -> int: ...
def nvmlDeviceSetFanControlPolicy(
    handle: _Pointer[struct_c_nvmlDevice_t], fan, fanControlPolicy
):  # -> Literal[0]:
    ...

class c_nvmlTemperature_v1_t(_PrintableStructure):
    _fields_ = ...

nvmlTemperature_v1 = ...

def nvmlDeviceGetTemperatureV1(
    handle: _Pointer[struct_c_nvmlDevice_t], sensor: int
):  # -> <subclass of bytes and str> | str | Any:
    ...
def nvmlDeviceGetTemperatureV(
    handle: _Pointer[struct_c_nvmlDevice_t], sensor: int, version=...
) -> c_int: ...
def nvmlDeviceGetTemperature(
    handle: _Pointer[struct_c_nvmlDevice_t], sensor: int
) -> int: ...
def nvmlDeviceGetTemperatureThreshold(
    handle: _Pointer[struct_c_nvmlDevice_t], threshold
) -> int: ...
def nvmlDeviceSetTemperatureThreshold(
    handle: _Pointer[struct_c_nvmlDevice_t], threshold, temp
) -> None: ...
def nvmlDeviceGetMarginTemperature(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> <subclass of bytes and str> | str | Any:
    ...
def nvmlDeviceGetPowerState(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetPerformanceState(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetPowerManagementMode(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceGetPowerManagementLimit(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceGetPowerManagementLimitConstraints(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[int]:
    ...
def nvmlDeviceGetPowerManagementDefaultLimit(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceGetEnforcedPowerLimit(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetPowerUsage(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetTotalEnergyConsumption(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceGetGpuOperationMode(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[int]:
    ...
def nvmlDeviceGetCurrentGpuOperationMode(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceGetPendingGpuOperationMode(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceGetMemoryInfo(
    handle: _Pointer[struct_c_nvmlDevice_t], version=...
):  # -> c_nvmlMemory_t | c_nvmlMemory_v2_t:
    ...
def nvmlDeviceGetBAR1MemoryInfo(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> c_nvmlBAR1Memory_t:
    ...
def nvmlDeviceGetComputeMode(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetCudaComputeCapability(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> tuple[int, int]:
    ...
def nvmlDeviceGetEccMode(handle: _Pointer[struct_c_nvmlDevice_t]):  # -> list[int]:
    ...
def nvmlDeviceGetCurrentEccMode(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetPendingEccMode(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetDefaultEccMode(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[int]:
    ...
def nvmlDeviceGetTotalEccErrors(
    handle: _Pointer[struct_c_nvmlDevice_t], errorType, counterType
) -> int: ...
def nvmlDeviceGetDetailedEccErrors(
    handle: _Pointer[struct_c_nvmlDevice_t], errorType, counterType
):  # -> c_nvmlEccErrorCounts_t:
    ...
def nvmlDeviceGetMemoryErrorCounter(
    handle: _Pointer[struct_c_nvmlDevice_t], errorType, counterType, locationType
) -> int: ...
def nvmlDeviceGetUtilizationRates(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> c_nvmlUtilization_t: ...
def nvmlDeviceGetEncoderUtilization(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[int]:
    ...
def nvmlDeviceGetDecoderUtilization(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[int]:
    ...
def nvmlDeviceGetJpgUtilization(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[int]:
    ...
def nvmlDeviceGetOfaUtilization(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[int]:
    ...
def nvmlDeviceGetPcieReplayCounter(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetDriverModel_v1(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[int]:
    ...
def nvmlDeviceGetDriverModel_v2(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[int]:
    ...
def nvmlDeviceGetDriverModel(handle: _Pointer[struct_c_nvmlDevice_t]):  # -> list[int]:
    ...
def nvmlDeviceGetCurrentDriverModel(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetPendingDriverModel(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
@convertStrBytes
def nvmlDeviceGetVbiosVersion(handle: _Pointer[struct_c_nvmlDevice_t]):  # -> Any:
    ...
def nvmlDeviceGetComputeRunningProcesses_v2(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[Any]:
    ...
def nvmlDeviceGetComputeRunningProcesses_v3(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[Any]:
    ...
@throwOnVersionMismatch
def nvmlDeviceGetComputeRunningProcesses(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[Any]:
    ...
def nvmlDeviceGetGraphicsRunningProcesses_v2(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[Any]:
    ...
def nvmlDeviceGetGraphicsRunningProcesses_v3(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[Any]:
    ...
@throwOnVersionMismatch
def nvmlDeviceGetGraphicsRunningProcesses(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[Any]:
    ...
@throwOnVersionMismatch
def nvmlDeviceGetMPSComputeRunningProcesses(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[Any]:
    ...
def nvmlDeviceGetMPSComputeRunningProcesses_v2(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[Any]:
    ...
def nvmlDeviceGetMPSComputeRunningProcesses_v3(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[Any]:
    ...
def nvmlDeviceGetRunningProcessDetailList(
    handle: _Pointer[struct_c_nvmlDevice_t], version, mode
):  # -> list[Any]:
    ...
def nvmlDeviceGetAutoBoostedClocksEnabled(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[int]:
    ...
def nvmlUnitSetLedState(unit, color) -> None: ...
def nvmlDeviceSetPersistenceMode(
    handle: _Pointer[struct_c_nvmlDevice_t], mode
) -> None: ...
def nvmlDeviceSetComputeMode(handle: _Pointer[struct_c_nvmlDevice_t], mode) -> None: ...
def nvmlDeviceSetEccMode(handle: _Pointer[struct_c_nvmlDevice_t], mode) -> None: ...
def nvmlDeviceClearEccErrorCounts(
    handle: _Pointer[struct_c_nvmlDevice_t], counterType
) -> None: ...
def nvmlDeviceSetDriverModel(
    handle: _Pointer[struct_c_nvmlDevice_t], model
) -> None: ...
def nvmlDeviceSetAutoBoostedClocksEnabled(
    handle: _Pointer[struct_c_nvmlDevice_t], enabled
) -> None: ...
def nvmlDeviceSetDefaultAutoBoostedClocksEnabled(
    handle: _Pointer[struct_c_nvmlDevice_t], enabled, flags
) -> None: ...
def nvmlDeviceSetGpuLockedClocks(
    handle: _Pointer[struct_c_nvmlDevice_t], minGpuClockMHz, maxGpuClockMHz
) -> None: ...
def nvmlDeviceResetGpuLockedClocks(handle: _Pointer[struct_c_nvmlDevice_t]) -> None: ...
def nvmlDeviceSetMemoryLockedClocks(
    handle: _Pointer[struct_c_nvmlDevice_t], minMemClockMHz, maxMemClockMHz
) -> None: ...
def nvmlDeviceResetMemoryLockedClocks(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> None: ...
def nvmlDeviceGetClkMonStatus(
    handle: _Pointer[struct_c_nvmlDevice_t], c_clkMonInfo=...
):  # -> nvmlClkMonStatus_t | Literal[0]:
    ...
def nvmlDeviceSetApplicationsClocks(
    handle: _Pointer[struct_c_nvmlDevice_t], maxMemClockMHz, maxGraphicsClockMHz
) -> None: ...
def nvmlDeviceResetApplicationsClocks(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> None: ...
def nvmlDeviceSetPowerManagementLimit(
    handle: _Pointer[struct_c_nvmlDevice_t], limit
) -> None: ...
def nvmlDeviceSetGpuOperationMode(
    handle: _Pointer[struct_c_nvmlDevice_t], mode
) -> None: ...
def nvmlEventSetCreate():  # -> _Pointer[struct_c_nvmlEventSet_t]:
    ...
def nvmlDeviceRegisterEvents(
    handle: _Pointer[struct_c_nvmlDevice_t], eventTypes, eventSet
) -> None: ...
def nvmlDeviceGetSupportedEventTypes(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlEventSetWait_v2(eventSet, timeoutms):  # -> c_nvmlEventData_t:
    ...
def nvmlEventSetWait(eventSet, timeoutms):  # -> c_nvmlEventData_t:
    ...
def nvmlEventSetFree(eventSet) -> None: ...
def nvmlDeviceOnSameBoard(
    handle1: _Pointer[struct_c_nvmlDevice_t], handle2: _Pointer[struct_c_nvmlDevice_t]
):  # -> bool:
    ...
def nvmlDeviceGetCurrPcieLinkGeneration(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceGetMaxPcieLinkGeneration(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceGetCurrPcieLinkWidth(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetMaxPcieLinkWidth(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetGpuMaxPcieLinkGeneration(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceGetSupportedClocksThrottleReasons(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceGetSupportedClocksEventReasons(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceGetCurrentClocksThrottleReasons(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceGetCurrentClocksEventReasons(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceGetIndex(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceGetAccountingMode(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceSetAccountingMode(
    handle: _Pointer[struct_c_nvmlDevice_t], mode
) -> None: ...
def nvmlDeviceClearAccountingPids(handle: _Pointer[struct_c_nvmlDevice_t]) -> None: ...
def nvmlDeviceGetAccountingStats(
    handle: _Pointer[struct_c_nvmlDevice_t], pid
):  # -> c_nvmlAccountingStats_t:
    ...
def nvmlDeviceGetAccountingPids(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[int]:
    ...
def nvmlDeviceGetAccountingBufferSize(
    handle: _Pointer[struct_c_nvmlDevice_t],
) -> int: ...
def nvmlDeviceGetRetiredPages(device, sourceFilter):  # -> list[int]:
    ...
def nvmlDeviceGetRetiredPages_v2(device, sourceFilter):  # -> list[dict[str, int]]:
    ...
def nvmlDeviceGetRetiredPagesPendingStatus(device) -> int: ...
def nvmlDeviceGetAPIRestriction(device, apiType) -> int: ...
def nvmlDeviceSetAPIRestriction(
    handle: _Pointer[struct_c_nvmlDevice_t], apiType, isRestricted
) -> None: ...
def nvmlDeviceGetBridgeChipInfo(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> c_nvmlBridgeChipHierarchy_t:
    ...
def nvmlDeviceGetSamples(device, sampling_type, timeStamp):  # -> tuple[int, list[Any]]:
    ...
def nvmlDeviceGetViolationStatus(device, perfPolicyType):  # -> c_nvmlViolationTime_t:
    ...
def nvmlDeviceGetPcieThroughput(device, counter) -> int: ...
def nvmlSystemGetTopologyGpuSet(cpuNumber):  # -> list[Any]:
    ...
def nvmlDeviceGetTopologyNearestGpus(device, level):  # -> list[Any]:
    ...
def nvmlDeviceGetTopologyCommonAncestor(device1, device2) -> int: ...
def nvmlDeviceGetNvLinkUtilizationCounter(device, link, counter):  # -> tuple[int, int]:
    ...
def nvmlDeviceFreezeNvLinkUtilizationCounter(device, link, counter, freeze) -> None: ...
def nvmlDeviceResetNvLinkUtilizationCounter(device, link, counter) -> None: ...
def nvmlDeviceSetNvLinkUtilizationControl(
    device, link, counter, control, reset
) -> None: ...
def nvmlDeviceGetNvLinkUtilizationControl(
    device, link, counter
):  # -> nvmlNvLinkUtilizationControl_t:
    ...
def nvmlDeviceGetNvLinkCapability(device, link, capability) -> int: ...
def nvmlDeviceGetNvLinkErrorCounter(device, link, counter) -> int: ...
def nvmlDeviceResetNvLinkErrorCounters(device, link) -> None: ...
def nvmlDeviceGetNvLinkRemotePciInfo(device, link):  # -> nvmlPciInfo_t:
    ...
def nvmlDeviceGetNvLinkRemoteDeviceType(
    handle: _Pointer[struct_c_nvmlDevice_t], link
) -> int: ...
def nvmlDeviceGetNvLinkState(device, link) -> int: ...
def nvmlDeviceGetNvLinkVersion(device, link) -> int: ...
def nvmlDeviceModifyDrainState(pciInfo, newState) -> None: ...
def nvmlDeviceQueryDrainState(pciInfo) -> int: ...
def nvmlDeviceRemoveGpu(pciInfo) -> None: ...
def nvmlDeviceDiscoverGpus(pciInfo) -> None: ...
def nvmlDeviceGetFieldValues(
    handle: _Pointer[struct_c_nvmlDevice_t], fieldIds
):  # -> Array[c_nvmlFieldValue_t]:
    ...
def nvmlDeviceClearFieldValues(
    handle: _Pointer[struct_c_nvmlDevice_t], fieldIds
):  # -> Array[c_nvmlFieldValue_t]:
    ...
def nvmlDeviceGetVirtualizationMode(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceSetVirtualizationMode(
    handle: _Pointer[struct_c_nvmlDevice_t], virtualization_mode
): ...
def nvmlDeviceGetVgpuHeterogeneousMode(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> <subclass of bytes and str> | str | Any:
    ...
def nvmlDeviceSetVgpuHeterogeneousMode(
    handle: _Pointer[struct_c_nvmlDevice_t], heterogeneous_mode
):  # -> Literal[0]:
    ...
def nvmlVgpuInstanceGetPlacementId(
    vgpuInstance,
):  # -> <subclass of bytes and str> | str | Any:
    ...
def nvmlDeviceGetVgpuTypeSupportedPlacements(
    handle: _Pointer[struct_c_nvmlDevice_t], vgpuTypeId, mode=..., version=...
):  # -> c_nvmlVgpuPlacementList_v2_t | c_nvmlVgpuPlacementList_v1_t:
    ...
def nvmlDeviceGetVgpuTypeCreatablePlacements(
    handle: _Pointer[struct_c_nvmlDevice_t], vgpuTypeId, version=...
):  # -> c_nvmlVgpuPlacementList_v2_t | c_nvmlVgpuPlacementList_v1_t:
    ...
def nvmlGetVgpuDriverCapabilities(capability) -> int: ...
def nvmlDeviceGetVgpuCapabilities(
    handle: _Pointer[struct_c_nvmlDevice_t], capability
) -> int: ...
def nvmlDeviceSetVgpuCapabilities(
    handle: _Pointer[struct_c_nvmlDevice_t], capability, state
):  # -> Literal[0]:
    ...
def nvmlDeviceVgpuForceGspUnload(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> Literal[0]:
    ...
def nvmlDeviceGetSupportedVgpus(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[Any]:
    ...
def nvmlDeviceGetCreatableVgpus(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[Any]:
    ...
def nvmlVgpuTypeGetGpuInstanceProfileId(vgpuTypeId) -> int: ...
@convertStrBytes
def nvmlVgpuTypeGetClass(vgpuTypeId):  # -> Any:
    ...
@convertStrBytes
def nvmlVgpuTypeGetName(vgpuTypeId):  # -> Any:
    ...
def nvmlVgpuTypeGetDeviceID(vgpuTypeId):  # -> tuple[int, int]:
    ...
def nvmlVgpuTypeGetFramebufferSize(vgpuTypeId) -> int: ...
def nvmlVgpuTypeGetNumDisplayHeads(vgpuTypeId) -> int: ...
def nvmlVgpuTypeGetResolution(vgpuTypeId):  # -> tuple[int, int]:
    ...
@convertStrBytes
def nvmlVgpuTypeGetLicense(vgpuTypeId):  # -> Any:
    ...
def nvmlVgpuTypeGetFrameRateLimit(vgpuTypeId) -> int: ...
def nvmlVgpuTypeGetGspHeapSize(vgpuTypeId) -> int: ...
def nvmlVgpuTypeGetFbReservation(vgpuTypeId) -> int: ...
def nvmlVgpuInstanceGetRuntimeStateSize(vgpuInstance):  # -> nvmlVgpuRuntimeState_v1_t:
    ...
def nvmlVgpuTypeGetMaxInstances(
    handle: _Pointer[struct_c_nvmlDevice_t], vgpuTypeId
) -> int: ...
def nvmlVgpuTypeGetMaxInstancesPerVm(vgpuTypeId) -> int: ...
def nvmlVgpuTypeGetBAR1Info(vgpuTypeId):  # -> c_nvmlVgpuTypeBar1Info_v1_t:
    ...
def nvmlDeviceGetActiveVgpus(handle: _Pointer[struct_c_nvmlDevice_t]):  # -> list[Any]:
    ...
@convertStrBytes
def nvmlVgpuInstanceGetVmID(vgpuInstance):  # -> tuple[Any, int]:
    ...
@convertStrBytes
def nvmlVgpuInstanceGetUUID(vgpuInstance):  # -> Any:
    ...
@convertStrBytes
def nvmlVgpuInstanceGetMdevUUID(vgpuInstance):  # -> Any:
    ...
@convertStrBytes
def nvmlVgpuInstanceGetVmDriverVersion(vgpuInstance):  # -> Any:
    ...
def nvmlVgpuInstanceGetLicenseStatus(vgpuInstance) -> int: ...
def nvmlVgpuInstanceGetLicenseInfo_v2(vgpuInstance):  # -> c_nvmlVgpuLicenseInfo_t:
    ...
def nvmlVgpuInstanceGetLicenseInfo(vgpuInstance):  # -> c_nvmlVgpuLicenseInfo_t:
    ...
def nvmlVgpuInstanceGetFrameRateLimit(vgpuInstance) -> int: ...
def nvmlVgpuInstanceGetEccMode(vgpuInstance) -> int: ...
def nvmlVgpuInstanceGetType(vgpuInstance) -> int: ...
def nvmlVgpuInstanceGetEncoderCapacity(vgpuInstance) -> int: ...
def nvmlVgpuInstanceSetEncoderCapacity(vgpuInstance, encoder_capacity): ...
def nvmlVgpuInstanceGetFbUsage(vgpuInstance) -> int: ...
def nvmlVgpuTypeGetCapabilities(vgpuTypeId, capability) -> int: ...
def nvmlVgpuInstanceGetGpuInstanceId(vgpuInstance) -> int: ...
@convertStrBytes
def nvmlVgpuInstanceGetGpuPciId(vgpuInstance):  # -> Any:
    ...
def nvmlDeviceGetVgpuUtilization(
    handle: _Pointer[struct_c_nvmlDevice_t], timeStamp
):  # -> list[Any]:
    ...
def nvmlDeviceGetVgpuInstancesUtilizationInfo(
    handle: _Pointer[struct_c_nvmlDevice_t], timeStamp
):  # -> list[Any]:
    ...
def nvmlDeviceGetP2PStatus(device1, device2, p2pIndex) -> int: ...
def nvmlDeviceGetGridLicensableFeatures_v4(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> c_nvmlGridLicensableFeatures_v4_t:
    ...
def nvmlDeviceGetGridLicensableFeatures(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> c_nvmlGridLicensableFeatures_v4_t:
    ...
def nvmlDeviceGetGspFirmwareVersion(
    handle: _Pointer[struct_c_nvmlDevice_t], version=...
):  # -> Any | Literal[0]:
    ...
def nvmlDeviceGetGspFirmwareMode(
    handle: _Pointer[struct_c_nvmlDevice_t], isEnabled=..., defaultMode=...
):  # -> list[int] | Literal[0]:
    ...
def nvmlDeviceGetEncoderCapacity(
    handle: _Pointer[struct_c_nvmlDevice_t], encoderQueryType
) -> int: ...
def nvmlDeviceGetVgpuProcessUtilization(
    handle: _Pointer[struct_c_nvmlDevice_t], timeStamp
):  # -> list[Any]:
    ...
def nvmlDeviceGetVgpuProcessesUtilizationInfo(
    handle: _Pointer[struct_c_nvmlDevice_t], timeStamp
):  # -> list[Any]:
    ...
def nvmlDeviceGetEncoderStats(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> tuple[int, int, int]:
    ...
def nvmlDeviceGetEncoderSessions(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[Any]:
    ...
def nvmlDeviceGetFBCStats(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> c_nvmlFBCStats_t:
    ...
def nvmlDeviceGetFBCSessions(handle: _Pointer[struct_c_nvmlDevice_t]):  # -> list[Any]:
    ...
def nvmlVgpuInstanceGetEncoderStats(vgpuInstance):  # -> tuple[int, int, int]:
    ...
def nvmlVgpuInstanceGetEncoderSessions(vgpuInstance):  # -> list[Any]:
    ...
def nvmlVgpuInstanceGetFBCStats(vgpuInstance):  # -> c_nvmlFBCStats_t:
    ...
def nvmlVgpuInstanceGetFBCSessions(vgpuInstance):  # -> list[Any]:
    ...
def nvmlDeviceGetProcessUtilization(
    handle: _Pointer[struct_c_nvmlDevice_t], timeStamp
):  # -> list[Any]:
    ...
def nvmlDeviceGetProcessesUtilizationInfo(
    handle: _Pointer[struct_c_nvmlDevice_t], timeStamp
): ...
def nvmlVgpuInstanceGetMetadata(vgpuInstance):  # -> c_nvmlVgpuMetadata_t:
    ...
def nvmlDeviceGetVgpuMetadata(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> c_nvmlVgpuPgpuMetadata_t:
    ...
def nvmlGetVgpuCompatibility(
    vgpuMetadata, pgpuMetadata
):  # -> c_nvmlVgpuPgpuCompatibility_t:
    ...
@convertStrBytes
def nvmlDeviceGetPgpuMetadataString(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> tuple[Any, int]:
    ...
def nvmlDeviceGetVgpuSchedulerLog(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> c_nvmlVgpuSchedulerLog_t:
    ...
def nvmlDeviceGetVgpuSchedulerState(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> c_nvmlVgpuSchedulerGetState_t:
    ...
def nvmlDeviceGetVgpuSchedulerCapabilities(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> c_nvmlVgpuSchedulerCapabilities_t:
    ...
def nvmlDeviceSetVgpuSchedulerState(
    handle: _Pointer[struct_c_nvmlDevice_t], sched_state
):  # -> Literal[0]:
    ...
def nvmlSetVgpuVersion(vgpuVersion):  # -> Literal[0]:
    ...
def nvmlGetVgpuVersion(
    supported=..., current=...
):  # -> list[tuple[Any, Any]] | Literal[0]:
    ...
def nvmlVgpuInstanceGetAccountingMode(vgpuInstance) -> int: ...
def nvmlVgpuInstanceGetAccountingPids(vgpuInstance):  # -> tuple[c_uint, Array[c_uint]]:
    ...
def nvmlVgpuInstanceGetAccountingStats(
    vgpuInstance, pid
):  # -> c_nvmlAccountingStats_t:
    ...
def nvmlVgpuInstanceClearAccountingPids(vgpuInstance):  # -> Literal[0]:
    ...
def nvmlGpuInstanceGetCreatableVgpus(gpuInstance, c_vgpus): ...
def nvmlVgpuTypeGetMaxInstancesPerGpuInstance(
    vgpuTypeId,
):  # -> <subclass of bytes and str> | str | Any:
    ...
def nvmlGpuInstanceGetActiveVgpus(gpuInstance, c_vgpu_instance_info): ...
def nvmlGpuInstanceSetVgpuSchedulerState(gpuInstance, sched_state): ...
def nvmlGpuInstanceGetVgpuSchedulerState(gpuInstance, c_vgpu_sched_state_info): ...
def nvmlGpuInstanceGetVgpuSchedulerLog(gpuInstance, c_vgpu_sched_log_info): ...
def nvmlGpuInstanceGetVgpuTypeCreatablePlacements(gpuInstance, c_vgpu_placements): ...
def nvmlGpuInstanceGetVgpuHeterogeneousMode(
    gpuInstance,
):  # -> <subclass of bytes and str> | str | Any:
    ...
def nvmlGpuInstanceSetVgpuHeterogeneousMode(
    gpuInstance, heterogeneous_mode
):  # -> Literal[0]:
    ...
def nvmlDeviceGetVgpuSchedulerState_v2(
    handle: _Pointer[struct_c_nvmlDevice_t], c_vgpu_sched_state_info_v2
): ...
def nvmlGpuInstanceGetVgpuSchedulerState_v2(
    gpuInstance, c_vgpu_sched_state_info_v2
): ...
def nvmlDeviceGetVgpuSchedulerLog_v2(
    handle: _Pointer[struct_c_nvmlDevice_t], c_vgpu_sched_log_info_v2
): ...
def nvmlGpuInstanceGetVgpuSchedulerLog_v2(gpuInstance, c_vgpu_sched_log_info_v2): ...
def nvmlDeviceSetVgpuSchedulerState_v2(
    handle: _Pointer[struct_c_nvmlDevice_t], sched_state_v2
):  # -> Literal[0]:
    ...
def nvmlGpuInstanceSetVgpuSchedulerState_v2(
    gpuInstance, sched_state_v2
):  # -> Literal[0]:
    ...
def nvmlGetExcludedDeviceCount() -> int: ...
def nvmlGetExcludedDeviceInfoByIndex(index: int):  # -> c_nvmlExcludedDeviceInfo_t:
    ...
def nvmlDeviceGetHostVgpuMode(handle: _Pointer[struct_c_nvmlDevice_t]) -> int: ...
def nvmlDeviceSetMigMode(device, mode) -> int: ...
def nvmlDeviceGetMigMode(device):  # -> list[int]:
    ...
def nvmlDeviceGetGpuInstanceProfileInfo(
    device, profile, version=...
):  # -> c_nvmlGpuInstanceProfileInfo_v2_t | c_nvmlGpuInstanceProfileInfo_t:
    ...
def nvmlDeviceGetGpuInstanceProfileInfoById(
    device, profileId
):  # -> c_nvmlGpuInstanceProfileInfo_v2_t:
    ...

nvmlDeviceGetGpuInstanceProfileInfoV = ...
nvmlDeviceGetGpuInstanceProfileInfoByIdV = ...

def nvmlDeviceGetGpuInstanceRemainingCapacity(device, profileId) -> int: ...
def nvmlDeviceGetGpuInstancePossiblePlacements(
    device, profileId, placementsRef, countRef
):  # -> Literal[0]:
    ...
def nvmlDeviceCreateGpuInstance(
    device, profileId
):  # -> _Pointer[struct_c_nvmlGpuInstance_t]:
    ...
def nvmlDeviceCreateGpuInstanceWithPlacement(
    device, profileId, placement
):  # -> _Pointer[struct_c_nvmlGpuInstance_t]:
    ...
def nvmlGpuInstanceDestroy(gpuInstance):  # -> Literal[0]:
    ...
def nvmlDeviceGetGpuInstances(
    device, profileId, gpuInstancesRef, countRef
):  # -> Literal[0]:
    ...
def nvmlDeviceGetGpuInstanceById(
    device, gpuInstanceId
):  # -> _Pointer[struct_c_nvmlGpuInstance_t]:
    ...
def nvmlGpuInstanceGetInfo(gpuInstance):  # -> c_nvmlGpuInstanceInfo_t:
    ...
def nvmlGpuInstanceGetComputeInstanceProfileInfo(
    device, profile, engProfile, version=...
):  # -> c_nvmlComputeInstanceProfileInfo_v2_t | c_nvmlComputeInstanceProfileInfo_t:
    ...

nvmlGpuInstanceGetComputeInstanceProfileInfoV = ...

def nvmlGpuInstanceGetComputeInstanceRemainingCapacity(
    gpuInstance, profileId
) -> int: ...
def nvmlGpuInstanceGetComputeInstancePossiblePlacements(
    gpuInstance, profileId, placementsRef, countRef
):  # -> Literal[0]:
    ...
def nvmlGpuInstanceCreateComputeInstance(
    gpuInstance, profileId
):  # -> _Pointer[struct_c_nvmlComputeInstance_t]:
    ...
def nvmlGpuInstanceCreateComputeInstanceWithPlacement(
    gpuInstance, profileId, placement
):  # -> _Pointer[struct_c_nvmlComputeInstance_t]:
    ...
def nvmlComputeInstanceDestroy(computeInstance):  # -> Literal[0]:
    ...
def nvmlGpuInstanceGetComputeInstances(
    gpuInstance, profileId, computeInstancesRef, countRef
):  # -> Literal[0]:
    ...
def nvmlGpuInstanceGetComputeInstanceById(
    gpuInstance, computeInstanceId
):  # -> _Pointer[struct_c_nvmlComputeInstance_t]:
    ...
def nvmlComputeInstanceGetInfo_v2(computeInstance):  # -> c_nvmlComputeInstanceInfo_t:
    ...
def nvmlComputeInstanceGetInfo(computeInstance):  # -> c_nvmlComputeInstanceInfo_t:
    ...
def nvmlDeviceIsMigDeviceHandle(device):  # -> c_uint:
    ...
def nvmlDeviceGetGpuInstanceId(device) -> int: ...
def nvmlDeviceGetComputeInstanceId(device) -> int: ...
def nvmlDeviceGetMaxMigDeviceCount(device) -> int: ...
def nvmlDeviceGetMigDeviceHandleByIndex(
    device, index: int
):  # -> _Pointer[struct_c_nvmlDevice_t]:
    ...
def nvmlDeviceGetDeviceHandleFromMigDeviceHandle(
    migDevice,
):  # -> _Pointer[struct_c_nvmlDevice_t]:
    ...
def nvmlDeviceGetAttributes_v2(device):  # -> c_nvmlDeviceAttributes:
    ...
def nvmlDeviceGetAttributes(device):  # -> c_nvmlDeviceAttributes:
    ...
def nvmlDeviceGetRemappedRows(device):  # -> tuple[int, int, int, int]:
    ...
def nvmlDeviceGetRowRemapperHistogram(device):  # -> c_nvmlRowRemapperHistogramValues:
    ...
def nvmlDeviceGetArchitecture(device) -> int: ...
def nvmlDeviceGetBusType(device) -> int: ...
def nvmlDeviceGetIrqNum(device) -> int: ...
def nvmlDeviceGetNumGpuCores(device) -> int: ...
def nvmlDeviceGetPowerSource(device) -> int: ...
def nvmlDeviceGetMemoryBusWidth(device) -> int: ...
def nvmlDeviceGetPcieLinkMaxSpeed(device) -> int: ...
def nvmlDeviceGetAdaptiveClockInfoStatus(device) -> int: ...
def nvmlDeviceGetPcieSpeed(device) -> int: ...
def nvmlDeviceGetDynamicPstatesInfo(
    device, c_dynamicpstatesinfo=...
):  # -> c_nvmlGpuDynamicPstatesInfo_t | Literal[0]:
    ...
def nvmlDeviceSetFanSpeed_v2(
    handle: _Pointer[struct_c_nvmlDevice_t], index: int, speed
):  # -> Literal[0]:
    ...
def nvmlDeviceGetThermalSettings(
    device, sensorindex: int, c_thermalsettings=...
):  # -> Any | Literal[0]:
    ...
def nvmlDeviceGetMinMaxClockOfPState(
    device, clockType, pstate, minClockMHz=..., maxClockMHz=...
):  # -> tuple[int, int] | Literal[0]:
    ...

_nvmlPowerMizerMode_t = c_uint
NVML_POWER_MIZER_MODE_ADAPTIVE = ...
NVML_POWER_MIZER_MODE_PREFER_MAXIMUM_PERFORMANCE = ...
NVML_POWER_MIZER_MODE_AUTO = ...
NVML_POWER_MIZER_MODE_PREFER_CONSISTENT_PERFORMANCE = ...

class c_nvmlDevicePowerMizerModes_v1_t(_PrintableStructure):
    _fields_ = ...

def nvmlDeviceGetPowerMizerMode_v1(device, info): ...
def nvmlDeviceSetPowerMizerMode_v1(device, info): ...

class c_nvmlClockOffset_t(_PrintableStructure):
    _fields_ = ...

nvmlClockOffset_v1 = ...

def nvmlDeviceGetClockOffsets(device, info):  # -> Literal[0]:
    ...
def nvmlDeviceSetClockOffsets(device, info):  # -> Literal[0]:
    ...
def nvmlDeviceGetSupportedPerformanceStates(device):  # -> list[Any]:
    ...
def nvmlDeviceGetGpcClkVfOffset(device) -> int: ...
def nvmlDeviceSetGpcClkVfOffset(device, offset):  # -> Literal[0]:
    ...
def nvmlDeviceGetGpcClkMinMaxVfOffset(
    device, minOffset=..., maxOffset=...
):  # -> tuple[int, int] | Literal[0]:
    ...
def nvmlDeviceGetMemClkVfOffset(device) -> int: ...
def nvmlDeviceSetMemClkVfOffset(device, offset):  # -> Literal[0]:
    ...
def nvmlDeviceGetMemClkMinMaxVfOffset(
    device, minOffset=..., maxOffset=...
):  # -> tuple[int, int] | Literal[0]:
    ...
def nvmlSystemSetConfComputeGpusReadyState(state):  # -> Literal[0]:
    ...
def nvmlSystemGetConfComputeGpusReadyState() -> int: ...
def nvmlSystemGetConfComputeCapabilities():  # -> c_nvmlConfComputeSystemCaps_t:
    ...
def nvmlSystemGetConfComputeState():  # -> c_nvmlConfComputeSystemState_t:
    ...
def nvmlSystemGetConfComputeSettings(settings): ...
def nvmlDeviceSetConfComputeUnprotectedMemSize(device, c_ccMemSize):  # -> Literal[0]:
    ...
def nvmlDeviceGetConfComputeMemSizeInfo(device):  # -> c_nvmlConfComputeMemSizeInfo_t:
    ...
def nvmlDeviceGetConfComputeProtectedMemoryUsage(device):  # -> c_nvmlMemory_t:
    ...
def nvmlDeviceGetConfComputeGpuCertificate(
    device,
):  # -> c_nvmlConfComputeGpuCertificate_t:
    ...
def nvmlDeviceGetConfComputeGpuAttestationReport(
    device, c_nonce
):  # -> c_nvmlConfComputeGpuAttestationReport_t:
    ...
def nvmlSystemSetConfComputeKeyRotationThresholdInfo(max_atk_adv):  # -> Literal[0]:
    ...
def nvmlSystemGetConfComputeKeyRotationThresholdInfo():  # -> c_nvmlConfComputeGetKeyRotationThresholdInfo_t:
    ...

NVML_GPM_METRIC_GRAPHICS_UTIL = ...
NVML_GPM_METRIC_SM_UTIL = ...
NVML_GPM_METRIC_SM_OCCUPANCY = ...
NVML_GPM_METRIC_INTEGER_UTIL = ...
NVML_GPM_METRIC_ANY_TENSOR_UTIL = ...
NVML_GPM_METRIC_DFMA_TENSOR_UTIL = ...
NVML_GPM_METRIC_HMMA_TENSOR_UTIL = ...
NVML_GPM_METRIC_DMMA_TENSOR_UTIL = ...
NVML_GPM_METRIC_IMMA_TENSOR_UTIL = ...
NVML_GPM_METRIC_DRAM_BW_UTIL = ...
NVML_GPM_METRIC_FP64_UTIL = ...
NVML_GPM_METRIC_FP32_UTIL = ...
NVML_GPM_METRIC_FP16_UTIL = ...
NVML_GPM_METRIC_PCIE_TX_PER_SEC = ...
NVML_GPM_METRIC_PCIE_RX_PER_SEC = ...
NVML_GPM_METRIC_NVDEC_0_UTIL = ...
NVML_GPM_METRIC_NVDEC_1_UTIL = ...
NVML_GPM_METRIC_NVDEC_2_UTIL = ...
NVML_GPM_METRIC_NVDEC_3_UTIL = ...
NVML_GPM_METRIC_NVDEC_4_UTIL = ...
NVML_GPM_METRIC_NVDEC_5_UTIL = ...
NVML_GPM_METRIC_NVDEC_6_UTIL = ...
NVML_GPM_METRIC_NVDEC_7_UTIL = ...
NVML_GPM_METRIC_NVJPG_0_UTIL = ...
NVML_GPM_METRIC_NVJPG_1_UTIL = ...
NVML_GPM_METRIC_NVJPG_2_UTIL = ...
NVML_GPM_METRIC_NVJPG_3_UTIL = ...
NVML_GPM_METRIC_NVJPG_4_UTIL = ...
NVML_GPM_METRIC_NVJPG_5_UTIL = ...
NVML_GPM_METRIC_NVJPG_6_UTIL = ...
NVML_GPM_METRIC_NVJPG_7_UTIL = ...
NVML_GPM_METRIC_NVOFA_0_UTIL = ...
NVML_GPM_METRIC_NVOFA_1_UTIL = ...
NVML_GPM_METRIC_NVLINK_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L0_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L0_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L1_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L1_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L2_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L2_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L3_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L3_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L4_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L4_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L5_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L5_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L6_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L6_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L7_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L7_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L8_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L8_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L9_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L9_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L10_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L10_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L11_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L11_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L12_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L12_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L13_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L13_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L14_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L14_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L15_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L15_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L16_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L16_TX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L17_RX_PER_SEC = ...
NVML_GPM_METRIC_NVLINK_L17_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK0_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK0_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK0_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK0_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK1_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK1_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK1_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK1_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK2_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK2_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK2_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK2_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK3_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK3_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK3_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK3_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK4_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK4_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK4_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK4_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK5_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK5_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK5_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK5_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK6_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK6_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK6_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK6_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK7_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK7_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK7_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK7_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK8_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK8_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK8_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK8_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK9_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK9_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK9_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK9_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK10_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK10_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK10_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK10_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK11_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK11_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK11_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK11_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK12_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK12_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK12_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK12_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK13_TOTAL_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK13_TOTAL_RX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK13_DATA_TX_PER_SEC = ...
NVML_GPM_METRIC_C2C_LINK13_DATA_RX_PER_SEC = ...
NVML_GPM_METRIC_HOSTMEM_CACHE_HIT = ...
NVML_GPM_METRIC_HOSTMEM_CACHE_MISS = ...
NVML_GPM_METRIC_PEERMEM_CACHE_HIT = ...
NVML_GPM_METRIC_PEERMEM_CACHE_MISS = ...
NVML_GPM_METRIC_DRAM_CACHE_HIT = ...
NVML_GPM_METRIC_DRAM_CACHE_MISS = ...
NVML_GPM_METRIC_NVENC_0_UTIL = ...
NVML_GPM_METRIC_NVENC_1_UTIL = ...
NVML_GPM_METRIC_NVENC_2_UTIL = ...
NVML_GPM_METRIC_NVENC_3_UTIL = ...
NVML_GPM_METRIC_GR0_CTXSW_CYCLES_ELAPSED = ...
NVML_GPM_METRIC_GR0_CTXSW_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_GR0_CTXSW_REQUESTS = ...
NVML_GPM_METRIC_GR0_CTXSW_CYCLES_PER_REQ = ...
NVML_GPM_METRIC_GR0_CTXSW_ACTIVE_PCT = ...
NVML_GPM_METRIC_GR1_CTXSW_CYCLES_ELAPSED = ...
NVML_GPM_METRIC_GR1_CTXSW_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_GR1_CTXSW_REQUESTS = ...
NVML_GPM_METRIC_GR1_CTXSW_CYCLES_PER_REQ = ...
NVML_GPM_METRIC_GR1_CTXSW_ACTIVE_PCT = ...
NVML_GPM_METRIC_GR2_CTXSW_CYCLES_ELAPSED = ...
NVML_GPM_METRIC_GR2_CTXSW_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_GR2_CTXSW_REQUESTS = ...
NVML_GPM_METRIC_GR2_CTXSW_CYCLES_PER_REQ = ...
NVML_GPM_METRIC_GR2_CTXSW_ACTIVE_PCT = ...
NVML_GPM_METRIC_GR3_CTXSW_CYCLES_ELAPSED = ...
NVML_GPM_METRIC_GR3_CTXSW_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_GR3_CTXSW_REQUESTS = ...
NVML_GPM_METRIC_GR3_CTXSW_CYCLES_PER_REQ = ...
NVML_GPM_METRIC_GR3_CTXSW_ACTIVE_PCT = ...
NVML_GPM_METRIC_GR4_CTXSW_CYCLES_ELAPSED = ...
NVML_GPM_METRIC_GR4_CTXSW_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_GR4_CTXSW_REQUESTS = ...
NVML_GPM_METRIC_GR4_CTXSW_CYCLES_PER_REQ = ...
NVML_GPM_METRIC_GR4_CTXSW_ACTIVE_PCT = ...
NVML_GPM_METRIC_GR5_CTXSW_CYCLES_ELAPSED = ...
NVML_GPM_METRIC_GR5_CTXSW_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_GR5_CTXSW_REQUESTS = ...
NVML_GPM_METRIC_GR5_CTXSW_CYCLES_PER_REQ = ...
NVML_GPM_METRIC_GR5_CTXSW_ACTIVE_PCT = ...
NVML_GPM_METRIC_GR6_CTXSW_CYCLES_ELAPSED = ...
NVML_GPM_METRIC_GR6_CTXSW_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_GR6_CTXSW_REQUESTS = ...
NVML_GPM_METRIC_GR6_CTXSW_CYCLES_PER_REQ = ...
NVML_GPM_METRIC_GR6_CTXSW_ACTIVE_PCT = ...
NVML_GPM_METRIC_GR7_CTXSW_CYCLES_ELAPSED = ...
NVML_GPM_METRIC_GR7_CTXSW_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_GR7_CTXSW_REQUESTS = ...
NVML_GPM_METRIC_GR7_CTXSW_CYCLES_PER_REQ = ...
NVML_GPM_METRIC_GR7_CTXSW_ACTIVE_PCT = ...
NVML_GPM_METRIC_SM_CYCLES_ELAPSED = ...
NVML_GPM_METRIC_SM_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_MMA_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_DMMA_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_HMMA_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_IMMA_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_DFMA_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_PCIE_TX = ...
NVML_GPM_METRIC_PCIE_RX = ...
NVML_GPM_METRIC_INTEGER_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_FP64_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_FP32_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_FP16_CYCLES_ACTIVE = ...
NVML_GPM_METRIC_NVLINK_L0_RX = ...
NVML_GPM_METRIC_NVLINK_L0_TX = ...
NVML_GPM_METRIC_NVLINK_L1_RX = ...
NVML_GPM_METRIC_NVLINK_L1_TX = ...
NVML_GPM_METRIC_NVLINK_L2_RX = ...
NVML_GPM_METRIC_NVLINK_L2_TX = ...
NVML_GPM_METRIC_NVLINK_L3_RX = ...
NVML_GPM_METRIC_NVLINK_L3_TX = ...
NVML_GPM_METRIC_NVLINK_L4_RX = ...
NVML_GPM_METRIC_NVLINK_L4_TX = ...
NVML_GPM_METRIC_NVLINK_L5_RX = ...
NVML_GPM_METRIC_NVLINK_L5_TX = ...
NVML_GPM_METRIC_NVLINK_L6_RX = ...
NVML_GPM_METRIC_NVLINK_L6_TX = ...
NVML_GPM_METRIC_NVLINK_L7_RX = ...
NVML_GPM_METRIC_NVLINK_L7_TX = ...
NVML_GPM_METRIC_NVLINK_L8_RX = ...
NVML_GPM_METRIC_NVLINK_L8_TX = ...
NVML_GPM_METRIC_NVLINK_L9_RX = ...
NVML_GPM_METRIC_NVLINK_L9_TX = ...
NVML_GPM_METRIC_NVLINK_L10_RX = ...
NVML_GPM_METRIC_NVLINK_L10_TX = ...
NVML_GPM_METRIC_NVLINK_L11_RX = ...
NVML_GPM_METRIC_NVLINK_L11_TX = ...
NVML_GPM_METRIC_NVLINK_L12_RX = ...
NVML_GPM_METRIC_NVLINK_L12_TX = ...
NVML_GPM_METRIC_NVLINK_L13_RX = ...
NVML_GPM_METRIC_NVLINK_L13_TX = ...
NVML_GPM_METRIC_NVLINK_L14_RX = ...
NVML_GPM_METRIC_NVLINK_L14_TX = ...
NVML_GPM_METRIC_NVLINK_L15_RX = ...
NVML_GPM_METRIC_NVLINK_L15_TX = ...
NVML_GPM_METRIC_NVLINK_L16_RX = ...
NVML_GPM_METRIC_NVLINK_L16_TX = ...
NVML_GPM_METRIC_NVLINK_L17_RX = ...
NVML_GPM_METRIC_NVLINK_L17_TX = ...
NVML_GPM_METRIC_MAX = ...

class c_nvmlUnitInfo_t(_PrintableStructure):
    _fields_ = ...

class struct_c_nvmlGpmSample_t(Structure): ...

c_nvmlGpmSample_t = ...

class c_metricInfo_t(Structure):
    _fields_ = ...

class c_nvmlGpmMetric_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlGpmMetricsGet_t(_PrintableStructure):
    _fields_ = ...

NVML_GPM_METRICS_GET_VERSION = ...

class c_nvmlGpmSupport_t(_PrintableStructure):
    _fields_ = ...

NVML_GPM_SUPPORT_VERSION = ...

def nvmlGpmMetricsGet(metricsGet): ...
def nvmlGpmSampleFree(gpmSample) -> None: ...
def nvmlGpmSampleAlloc():  # -> _Pointer[struct_c_nvmlGpmSample_t]:
    ...
def nvmlGpmSampleGet(device, gpmSample): ...
def nvmlGpmMigSampleGet(device, gpuInstanceId, gpmSample): ...
def nvmlGpmQueryDeviceSupport(device):  # -> c_nvmlGpmSupport_t:
    ...
def nvmlGpmSetStreamingEnabled(device, state):  # -> Literal[0]:
    ...
def nvmlGpmQueryIfStreamingEnabled(device) -> int: ...

NVML_NVLINK_POWER_STATE_HIGH_SPEED = ...
NVML_NVLINK_POWER_STATE_LOW = ...
NVML_NVLINK_LOW_POWER_THRESHOLD_MIN = ...
NVML_NVLINK_LOW_POWER_THRESHOLD_MAX = ...
NVML_NVLINK_LOW_POWER_THRESHOLD_RESET = ...
NVML_NVLINK_LOW_POWER_THRESHOLD_DEFAULT = ...

class c_nvmlNvLinkPowerThres_t(Structure):
    _fields_ = ...

def nvmlDeviceSetNvLinkDeviceLowPowerThreshold(device, l1threshold):  # -> Literal[0]:
    ...

NVML_GPU_FABRIC_UUID_LEN = ...
_nvmlGpuFabricState_t = c_uint
NVML_GPU_FABRIC_STATE_NOT_SUPPORTED = ...
NVML_GPU_FABRIC_STATE_NOT_STARTED = ...
NVML_GPU_FABRIC_STATE_IN_PROGRESS = ...
NVML_GPU_FABRIC_STATE_COMPLETED = ...

class c_nvmlGpuFabricInfo_t(_PrintableStructure):
    _fields_ = ...

NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_NOT_SUPPORTED = ...
NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_TRUE = ...
NVML_GPU_FABRIC_HEALTH_MASK_DEGRADED_BW_FALSE = ...
NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_DEGRADED_BW = ...
NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_DEGRADED_BW = ...
NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_NOT_SUPPORTED = ...
NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_TRUE = ...
NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_RECOVERY_FALSE = ...
NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ROUTE_RECOVERY = ...
NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ROUTE_RECOVERY = ...
NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_NOT_SUPPORTED = ...
NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_TRUE = ...
NVML_GPU_FABRIC_HEALTH_MASK_ROUTE_UNHEALTHY_FALSE = ...
NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ROUTE_UNHEALTHY = ...
NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ROUTE_UNHEALTHY = ...
NVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_NOT_SUPPORTED = ...
NVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_TRUE = ...
NVML_GPU_FABRIC_HEALTH_MASK_ACCESS_TIMEOUT_RECOVERY_FALSE = ...
NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ACCESS_TIMEOUT_RECOVERY = ...
NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_ACCESS_TIMEOUT_RECOVERY = ...
NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NOT_SUPPORTED = ...
NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NONE = ...
NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INCORRECT_SYSGUID = ...
NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INCORRECT_CHASSIS_SN = ...
NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_NO_PARTITION = ...
NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INSUFFICIENT_NVLINKS = ...
NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INCOMPATIBLE_GPU_FW = ...
NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIURATION_INVALID_LOCATION = ...
NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_INVALID_LOCATION = ...
NVML_GPU_FABRIC_HEALTH_MASK_INCORRECT_CONFIGURATION_GPU_STATE_INVALID = ...
NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_INCORRECT_CONFIGURATION = ...
NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_INCORRECT_CONFIGURATION = ...
NVML_GPU_FABRIC_HEALTH_MASK_PARTITION_ASSIGNED_NOT_SUPPORTED = ...
NVML_GPU_FABRIC_HEALTH_MASK_PARTITION_ASSIGNED_TRUE = ...
NVML_GPU_FABRIC_HEALTH_MASK_PARTITION_ASSIGNED_FALSE = ...
NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_PARTITION_ASSIGNED = ...
NVML_GPU_FABRIC_HEALTH_MASK_WIDTH_PARTITION_ASSIGNED = ...
NVML_GPU_FABRIC_HEALTH_SUMMARY_NOT_SUPPORTED = ...
NVML_GPU_FABRIC_HEALTH_SUMMARY_HEALTHY = ...
NVML_GPU_FABRIC_HEALTH_SUMMARY_UNHEALTHY = ...
NVML_GPU_FABRIC_HEALTH_SUMMARY_LIMITED_CAPACITY = ...
nvmlGpuFabricInfo_v2 = ...

class c_nvmlGpuFabricInfo_v2_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

c_nvmlGpuFabricInfoV_t = c_nvmlGpuFabricInfo_v2_t

class c_nvmlGpuFabricInfo_v3_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlGpuFabricInfo_v3 = ...

def nvmlDeviceGetGpuFabricInfo(device, gpuFabricInfo):  # -> Literal[0]:
    ...
def nvmlDeviceGetGpuFabricInfoV(device, gpuFabricInfo):  # -> Literal[0]:
    ...

NVML_GPU_NVLINK_BW_MODE_FULL = ...
NVML_GPU_NVLINK_BW_MODE_OFF = ...
NVML_GPU_NVLINK_BW_MODE_MIN = ...
NVML_GPU_NVLINK_BW_MODE_HALF = ...
NVML_GPU_NVLINK_BW_MODE_3QUARTER = ...
NVML_GPU_NVLINK_BW_MODE_COUNT = ...

def nvmlSystemSetNvlinkBwMode(mode):  # -> Literal[0]:
    ...
def nvmlSystemGetNvlinkBwMode() -> int: ...

_nvmlPowerScopeType_t = c_uint
NVML_POWER_SCOPE_GPU = ...
NVML_POWER_SCOPE_MODULE = ...
NVML_POWER_SCOPE_MEMORY = ...

class c_nvmlPowerValue_v2_t(_PrintableStructure):
    _fields_ = ...
    _fmt_ = ...

nvmlPowerValue_v2 = ...

def nvmlDeviceSetPowerManagementLimit_v2(
    device, powerScope, powerLimit, version=...
):  # -> Literal[0]:
    ...

class c_nvmlEccSramErrorStatus_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlEccSramErrorStatus_v1 = ...

def nvmlDeviceGetSramEccErrorStatus(device, status):  # -> Literal[0]:
    ...

NVML_DEV_CAP_EGM = ...
nvmlDeviceCapabilities_v1 = ...

class c_nvmlDeviceCapabilities_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

def nvmlDeviceGetCapabilities(device, caps): ...

class c_nvmlPlatformInfo_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

class c_nvmlPlatformInfo_v2_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlPlatformInfo_v1 = ...
nvmlPlatformInfo_v2 = ...

def nvmlDeviceGetPlatformInfo(device, platformInfo):  # -> Literal[0]:
    ...

NVML_DEVICE_HOSTNAME_BUFFER_SIZE = ...

class c_nvmlHostname_v1_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlMask255_t(_PrintableStructure):
    _fields_ = ...

NVML_WORKLOAD_POWER_MAX_PROFILES = ...
NVML_POWER_PROFILE_MAX_P = ...
NVML_POWER_PROFILE_MAX_Q = ...
NVML_POWER_PROFILE_COMPUTE = ...
NVML_POWER_PROFILE_MEMORY_BOUND = ...
NVML_POWER_PROFILE_NETWORK = ...
NVML_POWER_PROFILE_BALANCED = ...
NVML_POWER_PROFILE_LLM_INFERENCE = ...
NVML_POWER_PROFILE_LLM_TRAINING = ...
NVML_POWER_PROFILE_RBM = ...
NVML_POWER_PROFILE_DCPCIE = ...
NVML_POWER_PROFILE_HMMA_SPARSE = ...
NVML_POWER_PROFILE_HMMA_DENSE = ...
NVML_POWER_PROFILE_SYNC_BALANCED = ...
NVML_POWER_PROFILE_HPC = ...
NVML_POWER_PROFILE_MIG = ...
NVML_POWER_PROFILE_MAX = ...
nvmlWorkloadPowerProfileInfo_v1 = ...

class c_nvmlWorkloadPowerProfileInfo_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlWorkloadPowerProfileProfilesInfo_v1 = ...

class c_nvmlWorkloadPowerProfileProfilesInfo_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlWorkloadPowerProfileCurrentProfiles_v1 = ...

class c_nvmlWorkloadPowerProfileCurrentProfiles_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlWorkloadPowerProfileRequestedProfiles_v1 = ...

class c_nvmlWorkloadPowerProfileRequestedProfiles_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

NVML_POWER_PROFILE_OPERATION_CLEAR = ...
NVML_POWER_PROFILE_OPERATION_SET = ...
NVML_POWER_PROFILE_OPERATION_SET_AND_OVERWRITE = ...
NVML_POWER_PROFILE_OPERATION_MAX = ...
nvmlWorkloadPowerProfileUpdateProfiles_v1 = ...

class c_nvmlWorkloadPowerProfileUpdateProfiles_v1_t(_PrintableStructure):
    _fields_ = ...

def nvmlDeviceWorkloadPowerProfileGetProfilesInfo(
    device, profilesInfo
):  # -> Literal[0]:
    ...
def nvmlDeviceWorkloadPowerProfileGetCurrentProfiles(
    device, currentProfiles
):  # -> Literal[0]:
    ...
def nvmlDeviceWorkloadPowerProfileSetRequestedProfiles(
    device, requestedProfiles
):  # -> Literal[0]:
    ...
def nvmlDeviceWorkloadPowerProfileClearRequestedProfiles(
    device, requestedProfiles
):  # -> Literal[0]:
    ...
def nvmlDeviceWorkloadPowerProfileUpdateProfiles_v1(
    device, updateProfiles
):  # -> Literal[0]:
    ...
def nvmlDeviceGetNvlinkSupportedBwModes(device, supportedBwModes):  # -> Literal[0]:
    ...
def nvmlDeviceGetNvlinkBwMode(device, getBwMode):  # -> Literal[0]:
    ...
def nvmlDeviceSetNvlinkBwMode(device, setBwMode):  # -> Literal[0]:
    ...

nvmlDramEncryptionInfo_v1 = ...

class c_nvmlDramEncryptionInfo_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

def nvmlDeviceGetDramEncryptionMode(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> list[<subclass of bytes and str> | str | Any]:
    ...
def nvmlDeviceGetCurrentDramEncryptionMode(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> <subclass of bytes and str> | str | Any:
    ...
def nvmlDeviceGetPendingDramEncryptionMode(
    handle: _Pointer[struct_c_nvmlDevice_t],
):  # -> <subclass of bytes and str> | str | Any:
    ...
def nvmlDeviceSetDramEncryptionMode(
    handle: _Pointer[struct_c_nvmlDevice_t], mode
) -> None: ...

NVML_POWER_SMOOTHING_NUM_PROFILE_PARAMS = ...
NVML_POWER_SMOOTHING_MAX_NUM_PROFILES = ...
NVML_POWER_SMOOTHING_ADMIN_OVERRIDE_NOT_SET = ...
NVML_POWER_SMOOTHING_PROFILE_PARAM_PERCENT_TMP_FLOOR = ...
NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_UP_RATE = ...
NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_DOWN_RATE = ...
NVML_POWER_SMOOTHING_PROFILE_PARAM_RAMP_DOWN_HYSTERESIS = ...
NVML_POWER_SMOOTHING_PROFILE_PARAM_SECONDARY_POWER_FLOOR = ...
NVML_POWER_SMOOTHING_PROFILE_PARAM_PRIMARY_FLOOR_ACT_WIN_MULT = ...
NVML_POWER_SMOOTHING_PROFILE_PARAM_PRIMARY_FLOOR_TAR_WIN_MULT = ...
NVML_POWER_SMOOTHING_PROFILE_PARAM_PRIMARY_FLOOR_ACT_OFFSET = ...
nvmlPowerSmoothingState_v1 = ...

class c_nvmlPowerSmoothingState_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlPowerSmoothingProfile_v1 = ...

class c_nvmlPowerSmoothingProfile_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

def nvmlDevicePowerSmoothingActivatePresetProfile(device, profile) -> None: ...
def nvmlDevicePowerSmoothingUpdatePresetProfileParam(device, profile) -> None: ...
def nvmlDevicePowerSmoothingSetState(device, state) -> None: ...

class c_nvmlEccSramUniqueUncorrectedErrorEntry_v1_t(_PrintableStructure):
    _fields_ = ...

class c_nvmlEccSramUniqueUncorrectedErrorCounts_v1_t(_PrintableStructure):
    _fields_ = ...
    def __init__(self) -> None: ...

nvmlEccSramUniqueUncorrectedErrorCounts_v1 = ...

def nvmlDeviceGetSramUniqueUncorrectedEccErrorCounts(device, counts):  # -> Literal[0]:
    ...
def nvmlDeviceGetPdi(device):  # -> <subclass of bytes and str> | str | Any:
    ...
def nvmlDeviceGetNvLinkInfo(device, info):  # -> Literal[0]:
    ...
def nvmlDeviceGetRepairStatus(
    device,
):  # -> list[<subclass of bytes and str> | str | Any]:
    ...
@convertStrBytes
def nvmlDeviceSetHostname_v1(device, hostname) -> None: ...
def nvmlDeviceGetHostname_v1(device):  # -> <subclass of bytes and str> | str | Any:
    ...
def nvmlDeviceGetUnrepairableMemoryFlag_v1(
    device,
):  # -> <subclass of bytes and str> | str | Any:
    ...

NVML_RUSD_POLL_NONE = ...
NVML_RUSD_POLL_CLOCK = ...
NVML_RUSD_POLL_PERF = ...
NVML_RUSD_POLL_MEMORY = ...
NVML_RUSD_POLL_POWER = ...
NVML_RUSD_POLL_THERMAL = ...
NVML_RUSD_POLL_PCI = ...
NVML_RUSD_POLL_FAN = ...
NVML_RUSD_POLL_PROC_UTIL = ...
NVML_RUSD_POLL_ALL = ...
nvmlRusdSettings_v1 = ...

class c_nvmlRusdSettings_v1_t(_PrintableStructure):
    _fields_ = ...
    _fmt_ = ...
    def __init__(self) -> None: ...

def nvmlDeviceSetRusdSettings_v1(device, settings) -> None: ...
