3. Change Log
This chapter list changes in API and bug fixes that were introduced to the library.
Changes between v555 and v560
The following new functionality is exposed on NVIDIA display drivers version 560 Production or later.
- Added field values NVML_FI_DEV_PCIE_OUTBOUND_ATOMICS_MASK and NVML_FI_DEV_PCIE_INBOUND_ATOMICS_MASK for nvmlDeviceGetFieldValues.
- Added field IDs NVML_FI_DEV_RESET_STATUS and NVML_FI_DEV_DRAIN_AND_RESET_STATUS which correspond to the nvidia-smi output.
- Added NVML_DEVICE_ARCH_T23X architecture type.
- Added nvmlVgpuTypeGetBAR1Info to query the BAR1 information of a vGPU type.
- Added new event types, nvmlEventTypeSingleBitEccErrorStorm, nvmlEventTypeDramRetirementEvent, nvmlEventTypeDramRetirementFailure, nvmlEventTypeNonFatalPoisonError and nvmlEventTypeFatalPoisonError.
- Added nvmlSystemGetDriverBranch to query the driver branch information.
Changes between v550 and v555
The following new functionality is exposed on NVIDIA display drivers version 555 Production or later.
- Added nvmlDeviceGetClockOffsets to query min, max and current clock offset value on a Maxwell and later GPU for a specified clock. Note: nvmlDeviceGetGpcClkVfOffset, nvmlDeviceGetMemClkVfOffset, nvmlDeviceGetGpcClkMinMaxVfOffset and nvmlDeviceGetMemClkMinMaxVfOffset will be deprecated in a future release. Use nvmlDeviceGetClockOffsets instead.
- Added nvmlDeviceSetClockOffsets to control clock offset value on a Maxwell and later GPU for a specified clock. Note: nvmlDeviceSetGpcClkVfOffset and nvmlDeviceSetMemClkVfOffset will be deprecated in a future release. Use nvmlDeviceSetClockOffsets instead.
- Added two new field IDs NVML_FI_DEV_PCIE_COUNT_TX_BYTES and NVML_FI_DEV_PCIE_COUNT_RX_BYTES for nvmlDeviceGetFieldValues.
- Added new API nvmlDeviceGetCapabilities with the first capability bit NVML_DEV_CAP_EGM for Extended GPU Memory (EGM) capability.
- Added multiGpuMode display on CC enabled system via new API nvmlSystemGetConfComputeSettings or "nvidia-smi conf-compute --get-multigpu-mode" or "nvidia-smi conf-compute -mgm".
- Added new field ID NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MAX to get the Max Nvlink Power Threshold for a device.
Changes between v545 and v550
The following new functionality is exposed on NVIDIA display drivers version 550 Production or later.
- Added nvmlDeviceGetNumaNodeId to query the NUMA node of a GPU.
- Added new GPM metric ID NVML_GPM_METRIC_NVOFA_1_UTIL to nvmlGpmMetricId_t.
- Added new field ID NVML_FI_DEV_IS_MIG_MODE_INDEPENDENT_MIG_QUERY_CAPABLE, to check MIG query capable device irrespective of MIG mode.
- Deprecated NVML_P2P_CAPS_INDEX_PROP and added NVML_P2P_CAPS_INDEX_PCI to reflect the same P2P capability.
- Added nvmlDeviceGetProcessesUtilizationInfo to retrieve the recent utilization and process ID for all running processes.
- Added new struct nvmlProcessesUtilizationInfo_v1_t, which includes the new utilization of NVJPG and NVOFA.
- Added nvmlDeviceGetVgpuInstancesUtilizationInfo to retrieve the recent utilization for vGPU instances running on a physical GPU.
- Added nvmlDeviceGetVgpuProcessesUtilizationInfo to retrieve the recent utilization for processes running on vGPU instances on a physical GPU.
- Added nvmlDeviceSetVgpuHeterogeneousMode to enable or disable vGPU heterogenous mode for the device.
- Added nvmlDeviceGetVgpuHeterogeneousMode to query the vGPU heterogenous mode for the device.
- Added nvmlVgpuInstanceGetPlacementId to query placement ID of the active vGPU instance.
- Added nvmlDeviceGetVgpuTypeSupportedPlacements to query the supported vGPU placement IDs of a vGPU type.
- Added nvmlDeviceGetVgpuTypeCreatablePlacements to query the creatable vGPU placement IDs of a vGPU type.
- Added support to display confidential compute protected memory along with fb and bar1 in nvidia-smi pmon and dmon commands.
- Added nvmlDeviceGetGpuFabricInfoV to query GPU Fabric Probe Info for the device.
- Deprecated nvmlDeviceGetGpuFabricInfo. This function should not be used, and will be removed in a future release. Use nvmlDeviceGetGpuFabricInfoV instead.
- Modified nvmlDeviceGetGpuInstanceProfileInfo and >nvmlDeviceGetGpuInstancePossiblePlacements_v2 to no longer require MIG being enabled.
- Added new encoder type NVML_ENCODER_QUERY_AV1 and NVML_ENCODER_QUERY_UNKNOWN to enumeration nvmlEncoderType_t.
- Added nvmlSystemSetConfComputeKeyRotationThresholdInfo to set confidential compute key rotation threshold.
- Added nvmlSystemGetConfComputeKeyRotationThresholdInfo to query confidential compute key rotation threshold detail.
- Added INVALID_DOXYREF set the desirable vGPU capability of a device.
Changes between v535 and v545
The following new functionality is exposed on NVIDIA display drivers version 545 Production or later.
- Added a new error code NVML_ERROR_GPU_NOT_FOUND to be returned if no supported GPUS are found during initialization.
- In nvmlGpuFabricInfo_v2_t, partitionId has been renamed to cliqueId.
- Added new versioned structs nvmlGpuInstanceProfileInfo_v3_t and nvmlComputeInstanceProfileInfo_v3_t.
- Added nvmlDeviceGetLastBBXFlushTime for retrieving the timestamp and duration of the latest flush of the BBX object to the inforom storage.
- Added NVML_POWER_SCOPE_MEMORY to report out power usage for GPU Memory.
- Added nvmlDeviceGetPciInfo_v3 which expands nvmlDeviceGetPciInfo to also report PCI base and sub classcodes.
- Added new struct nvmlPciInfoExt_v1_t, which is used in nvmlDeviceGetPciInfoExt.
- Added nvmlDeviceGetRunningProcessDetailList API to get information about Compute, Graphics or MPS-Compute processes running on a GPU with protected memory usage info.
Changes between v530 and v535
The following new functionality is exposed on NVIDIA display drivers version 535 Production or later.
- Added nvmlDeviceGetSramEccErrorStatus to query SRAM ECC error status for the device.
- Added nvmlDeviceGetModuleId for getting device module ID.
- Updated nvmlDeviceGetPowerSource API to report undersized power source.
- AddednvmlDeviceGetJpgUtilization and nvmlDeviceGetOfaUtilization APIs.
- Added nvmlSystemGetNvlinkBwMode and nvmlSystemSetNvlinkBwMode APIs.
- Added nvmlDeviceSetVgpuSchedulerState to set the vGPU scheduler state.
- Added new field ID NVML_FI_DEV_IS_RESETLESS_MIG_SUPPORTED for device's resetless MIG capability.
- Added nvmlDeviceGetComputeRunningProcesses_v3 to get information about Compute processes running on a GPU.
- Added nvmlDeviceGetGraphicsRunningProcesses_v3 to get information about Graphics processes running on a GPU.
- Added nvmlDeviceGetMPSComputeRunningProcesses_v3 to get information about MPS-Compute processes running on a GPU.
- Added nvmlDeviceGetRunningProcessDetailList to get information about Compute, Graphics or MPS-Compute processes running on a GPU with protected memory usage info.
- Added nvmlDeviceGetLastBBXFlushTime for retrieving the timestamp and duration of the latest flush of the BBX object to the inforom storage.
- Added new field ID NVML_FI_DEV_PCIE_COUNT_CORRECTABLE_ERRORS for PCIe correctable errors counter.
- Added new field ID NVML_FI_DEV_PCIE_COUNT_NAKS_RECEIVED for PCIe NAK Receive counter.
- Added new field ID NVML_FI_DEV_PCIE_COUNT_RECEIVER_ERROR for PCIe receiver error counter.
- Added new field ID NVML_FI_DEV_PCIE_COUNT_BAD_TLP for PCIe bad TLP counter.
- Added new field ID NVML_FI_DEV_PCIE_COUNT_NAKS_SENT for NAK Send counter.
- Added new field ID NVML_FI_DEV_PCIE_COUNT_BAD_DLLP for PCIe bad DLLP counter.
- Added new field ID NVML_FI_DEV_PCIE_COUNT_NON_FATAL_ERROR for PCIe non fatal error counter.
- Added new field ID NVML_FI_DEV_PCIE_COUNT_FATAL_ERROR for PCIe fatal error counter.
- Added new field ID NVML_FI_DEV_PCIE_COUNT_UNSUPPORTED_REQ for PCIe unsupported request counter.
- Added new field ID NVML_FI_DEV_PCIE_COUNT_LCRC_ERROR for PCIe LCRC error counter.
- Added new field ID NVML_FI_DEV_PCIE_COUNT_LANE_ERROR for per lane error counter with scope as PCIe lane number.
- Added nvmlDeviceGetPowerUsage_v2 to retrieve current power usage.
- Added nvmlDeviceGetTotalEnergyConsumption_v2 to get current energy consumption.
- Added nvmlDeviceSetPowerManagementLimit_v2 to set the power limit.
- Added new field IDs, NVML_FI_GPU_POWER_AVERAGE and NVML_FI_GPU_POWER_INSTANT, to query power usage.
- Renamed nvmlDeviceCcuGetStreamState to nvmlGpmQueryIfStreamingEnabled and nvmlDeviceCcuSetStreamState to nvmlGpmSetStreamingEnabled.
- Added support to display confidential compute protected memory along with fb and bar1 in nvidia-smi pmon and dmon commands.
- Added new field IDs NVML_FI_DEV_TEMPERATURE_SHUTDOWN_TLIMIT, NVML_FI_DEV_TEMPERATURE_SLOWDOWN_TLIMIT, NVML_FI_DEV_TEMPERATURE_MEM_MAX_TLIMIT, and NVML_FI_DEV_TEMPERATURE_GPU_MAX_TLIMIT to query temperature thresholds on Ada and later architectures.
- Introduced ClockEventReasons and related APIs which should be used instead of ClockThrottleReasons. Deprecated ClockThrottleReasons.
- Added ability to get GPS Temperature Threshold with nvmlDeviceGetTemperatureThreshold using the new enum NVML_TEMPERATURE_THRESHOLD_GPS_CURR.
Changes between v525 and v530
The following new functionality is exposed on NVIDIA display drivers version 530 Production or later.
- Fixed a typo in nvmlGpuP2PStatus_t: added a new enum entry for NVML_P2P_STATUS_CHIPSET_NOT_SUPPORTED with the same numeric value as the existing erroneous entry ("NVML_P2P_STATUS_CHIPSET_NOT_SUPPORED").
- Added nvmlDeviceGetVgpuSchedulerLog to fetch the vGPU software scheduler logs.
- Added nvmlDeviceGetVgpuSchedulerState to fetch the vGPU software scheduler state.
- Added nvmlDeviceGetVgpuSchedulerCapabilities to fetch the vGPU software scheduler capabilities.
Changes between v520 and v525
The following new functionality is exposed on NVIDIA display drivers version 525 Production or later.
- Added nvmlDeviceGetPcieAtomicCaps to report PCIe atomic capabilities.
- Added nvmlDeviceCcuGetStreamState API to report the counter collection unit stream state.
- Added nvmlDeviceCcuSetStreamState API to set the counter collection unit stream state.
- Removed support for NVML_FI_DEV_LINK_SPEED_MBPS_L{0..} field IDs in Hopper. Replaced with NVML_FI_DEV_NVLINK_GET_SPEED with scope as link ID.
- Removed support for NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT{0..} field IDs in Hopper. Replaced with NVML_FI_DEV_NVLINK_ERROR_DL_CRC with scope as link ID.
- Removed support for NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L{0..} field IDs in Hopper. Replaced with NVML_FI_DEV_NVLINK_ERROR_DL_REPLAY with scope as link ID.
- Removed support for NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_{0..} field IDs in Hopper. Replaced with NVML_FI_DEV_NVLINK_ERROR_DL_RECOVERY with scope as link ID.
- Added new field ID NVML_FI_DEV_NVLINK_GET_STATE to get nvlink state.
- Added new field ID NVML_FI_DEV_NVLINK_GET_VERSION to get nvlink version.
- Added new field ID NVML_FI_DEV_C2C_LINK_COUNT to get C2C link count.
- Added new field ID NVML_FI_DEV_C2C_LINK_GET_STATUS to get C2C link status.
- Added new field ID NVML_FI_DEV_C2C_LINK_GET_MAX_BW to get C2C link bandwidth.
Changes between v515 and v520
The following new functionality is exposed on NVIDIA display drivers version 520 Production or later.
- Added nvmlDeviceGetMemClkVfOffset API to report the MemClk VF offset value.
- Added nvmlDeviceSetMemClkVfOffset API to set the MemClk VF offset value.
- Added nvmlDeviceGetMemClkMinMaxVfOffset API to report the Memory clock min and max VF offset that user can set for a specified GPU.
- Added nvmlDeviceGetTargetFanSpeed API to report the intended target speed of the device's specified fan.
- Added nvmlDeviceGetGpcClkMinMaxVfOffset API to report the Graphics clock min and max VF offset that user can set for a specified GPU.
- Added nvmlGpmMetricsGet to calculate GPM metrics from two GPM samples.
- Added nvmlGpmSampleFree to free allocated GPM sample.
- Added nvmlGpmSampleAlloc to allocate a GPM sample.
- Added nvmlGpmSampleGet to retrieve a GPM snapshot.
- Added nvmlGpmQueryDeviceSupport to query whether a device supports GPM
- Added nvmlDeviceGetSupportedPowerModes API to report the GPU's supported power mode mask.
- Added nvmlDeviceGetPowerMode API to report the GPU's current power mode.
- Added nvmlDeviceSetPowerMode API to set the new power mode.
- Added nvmlDeviceGetFanControlPolicy_v2 API to report the control policy for a specified GPU fan.
- Added nvmlDeviceSetFanControlPolicy API to set the control policy for a specified GPU fan.
Changes between v510 and v515
The following new functionality is exposed on NVIDIA display drivers version 515 Production or later.
- Added nvmlDeviceGetDefaultECCMode API to report the GPU's default ECC Mode.
- Added nvmlDeviceGetPcieSpeed API to report the GPU's PCIe link speed.
- Added nvmlDeviceGetDynamicPstatesInfo API to report the GPU's P-states information.
- Added nvmlDeviceSetFanSpeed_v2 API to set the GPU's fan speed.
- Added nvmlDeviceSetDefaultFanSpeed_v2 API to set the GPU's default fan speed.
- Added nvmlDeviceGetThermalSettings API to report the GPU's thermal system information.
- Added nvmlDeviceGetMinMaxClockOfPState API to report the min and max clocks of some clock domain for a given PState.
- Added nvmlDeviceGetSupportedPerformanceStates API to get all supported Performance States (P-States) for the GPU.
- Added nvmlDeviceGetGpcClkVfOffset API to report the GPCCLK VF offset value.
- Added nvmlDeviceSetGpcClkVfOffset API to set the GPCCLK VF offset value.
- Added nvmlDeviceGetMinMaxFanSpeed API to report the min and max fan speed that user can set for a specified GPU fan.
Changes between v495 and v510
The following new functionality is exposed on NVIDIA display drivers version 510 Production or later.
- Added nvmlDeviceGetGpuInstanceProfileInfoV and nvmlGpuInstanceGetComputeInstanceProfileInfoV APIs to include the profile name in their output.
- Added nvmlDeviceGetMemoryBusWidth API to report the GPU's Memory Bus Width.
- Added nvmlDeviceGetPcieLinkMaxSpeed API to report the GPU's PCIe Max Speed.
- Added nvmlDeviceGetPowerSource API to report the GPU's power source as AC or battery.
- Added nvmlDeviceGetNumFans API to report the GPU's number of fans.
- Added nvmlDeviceGetNumGpuCores API to report the GPU's number of cores.
- Added nvmlDeviceGetMemoryInfo_v2. The new version accounts separately for system-reserved memory, and includes it in the used memory amount. The previous version of the API reduced the total memory amount by the amount of system-reserved memory.
- Added nvmlDeviceGetAdaptiveClockInfoStatus API to report the status of adaptive clocking for the GPU.
Changes between v465 and v470
The following new functionality is exposed on NVIDIA display drivers version 470 Production or later.
- Added new MIG GPU instance profile NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV1.
- Added nvmlDeviceGetGpuInstancePossiblePlacements_v2. The previous version of the API will not support the profiles with possible placements greater than its total capacity, such as NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV1.
Changes between v460 and v465
The following new functionality is exposed on NVIDIA display drivers version 465 Production or later.
- Added new NVML_BRAND_* enumeration values for NVIDIA, NVIDIA_RTX, GEFORCE_RTX, QUADRO_RTX and TITAN_RTX.
- Updated nvmlDeviceGetHandleByUUID to make it MIG-aware.
- Updated nvmlDeviceGetUUID to return MIG UUIDs in the canonical format, 'MIG-UUID'.
-
Updated nvmlDeviceGetHandleByUUID to accept both UUID formats, 'MIG-UUID' and 'MIG-GPU UUID/GID/CID'.
- The nvmlDeviceSetAPIRestriction and nvmlDeviceGetAPIRestriction APIs would no longer support the ability to toggle root-only requirement for nvmlDeviceSetApplicationsClocks and nvmlDeviceResetApplicationsClocks.
Changes between v450 and v460
The following new functionality is exposed on NVIDIA display drivers version 460 Production or later.
- Added nvmlDeviceCreateGpuInstanceWithPlacement to allow placement specification when creating a new MIG GPU instance.
Changes between v445 and v450
The following new functionality is exposed on NVIDIA display drivers version 450 Production or later.
- Updated nvmlDeviceGetFanSpeed and nvmlDeviceGetFanSpeed_v2 for allowing fan speeds greater than 100% to be reported.
- Added nvmlDeviceGetCpuAffinityWithinScope to determine the closest processor(s) within a NUMA node or socket.
- Added nvmlDeviceGetMemoryAffinity to determine the closest NUMA node(s) within a NUMA node or socket.
- Added support to query and disable MIG mode on Windows.
Changes between v418 and v445
The following new functionality is exposed on NVIDIA display drivers version 445 Production or later.
- Added support for the NVIDIA Ampere architecture.
- Added support for Multi Instance GPU management. Refer to the "Multi Instance GPU Management" section for details.
Changes between v361 and v418
The following new functionality is exposed on NVIDIA display drivers version 418 Production or later.
- Added support for the Volta and Turing architectures, bug fixes, performance improvements, and new features.
Changes between v349 and v361
The following new functionality is exposed on NVIDIA display drivers version 361 Production or later.
- Added nvmlDeviceGetBoardPartNumber to return GPU part numbers
- Removed support for exclusive thread compute mode (Deprecated in 7.5)
- Added NVML_CLOCK_VIDEO (encoder/decoder) clock type as a supported clock type for nvmlDeviceGetClockInfo and nvmlDeviceGetMaxClockInfo.
Changes between v346 and v349
The following new functionality is exposed on NVIDIA display drivers version 349 Production or later.
- Added nvmlDeviceGetTopologyCommonAncestor to find the common path between two devices.
- Added nvmlDeviceGetTopologyNearestGpus to get a set of GPUs given a path level.
- Added nvmlSystemGetTopologyGpuSet to retrieve a set of GPUs with a given CPU affinity.
- Discontinued Perl bindings support.
- Updated nvmlDeviceGetAccountingPids , nvmlDeviceGetAccountingBufferSize and nvmlDeviceGetAccountingStats to report accounting information for both active and terminated processes. The execution time field in nvmlAccountingStats_t structure is populated only when the process is terminated.
Changes between v340 and v346
The following new functionality is exposed on NVIDIA display drivers version 346 Production or later.
- Added nvmlDeviceGetGraphicsRunningProcesses_v2 to get information about Graphics Processes running on a device.
- Added nvmlDeviceGetPcieReplayCounter to get PCI replay counters.
- Added nvmlDeviceGetPcieThroughput to get PCI utilization information.
- Discontinued Perl bindings support.
Changes between NVML v331 and v340
The following new functionality is exposed on NVIDIA display drivers version 340 Production or later.
- Added nvmlDeviceGetSamples to get recent power, utilization and clock samples for the GPU.
- Added nvmlDeviceGetTemperatureThreshold to get temperature thresholds for the GPU.
- Added nvmlDeviceGetBrand to get the brand name of the GPU.
- Added nvmlDeviceGetViolationStatus to get the duration of time during which the device was throttled (lower than requested clocks) due to power or thermal constraints. Violations due to thermal capping is not supported at this time.
- Added nvmlDeviceGetEncoderUtilization to get the GPU video encoder utilization.
- Added nvmlDeviceGetDecoderUtilization to get the GPU video decoder utilization.
- Added nvmlDeviceGetCpuAffinity to get the closest processor(s) affinity to a particular GPU.
- Added nvmlDeviceSetCpuAffinity to set the affinity of a particular GPU to the closest processor.
- Added nvmlDeviceClearCpuAffinity to clear the affinity of a particular GPU.
- Added nvmlDeviceGetBoardId to get a unique boardId for the running system.
- Added nvmlDeviceGetMultiGpuBoard to get whether the device is on a multiGPU board.
- Added nvmlDeviceGetAutoBoostedClocksEnabled and nvmlDeviceSetAutoBoostedClocksEnabled for querying and setting the state of auto boosted clocks on supporting hardware.
- Added nvmlDeviceSetDefaultAutoBoostedClocksEnabled for setting the default state of auto boosted clocks on supporting hardware.
Changes between NVML v5.319 Update and v331
The following new functionality is exposed on NVIDIA display drivers version 331 or later.
- Added nvmlDeviceGetMinorNumber to get the minor number for the device.
- Added nvmlDeviceGetBAR1MemoryInfo to get BAR1 total, available and used memory size.
- Added nvmlDeviceGetBridgeChipInfo to get the information related to bridge chip firmware.
- Added enforced power limit query API nvmlDeviceGetEnforcedPowerLimit
- Updated nvmlEventSetWait to return xid event data in case of xid error event.
Changes between NVML v5.319 RC and v5.319 Update
The following new functionality is exposed on NVIDIA display drivers version 319 Update or later.
- Added nvmlDeviceSetAPIRestriction and nvmlDeviceGetAPIRestriction, with initial ability to toggle root-only requirement for nvmlDeviceSetApplicationsClocks and nvmlDeviceResetApplicationsClocks.
Changes between NVML v4.304 Production and v5.319 RC
The following new functionality is exposed on NVIDIA display drivers version 319 RC or later.
- Added _v2 versions of nvmlDeviceGetHandleByIndex and nvmlDeviceGetCount that also count devices not accessible by current user
- nvmlDeviceGetHandleByIndex_v2 (default) can also return NVML_ERROR_NO_PERMISSION
- Added nvmlInit_v2 and nvmlDeviceGetHandleByIndex_v2 that is safer and thus recommended function for initializing the library
- nvmlInit_v2 lazily initializes only requested devices (queried with nvmlDeviceGetHandle*)
- nvml.h defines nvmlInit_v2 and nvmlDeviceGetHandleByIndex_v2 as default functions
- Added nvmlDeviceGetIndex
- Added NVML_ERROR_GPU_IS_LOST to report GPUs that have fallen off the bus.
- All NVML device APIs can return this error code, as a GPU can fall off the bus at any time.
- Added new class of APIs for gathering process statistics (nvmlAccountingStats)
- Application Clocks are no longer supported on GPU's from Quadro product line
- Added APIs to support dynamic page retirement. See nvmlDeviceGetRetiredPages and nvmlDeviceGetRetiredPagesPendingStatus
- Renamed nvmlClocksThrottleReasonUserDefinedClocks to nvmlClocksThrottleReasonApplicationsClocksSetting. Old name is deprecated and can be removed in one of the next major releases.
- Added nvmlDeviceGetDisplayActive and updated documentation to clarify how it differs from nvmlDeviceGetDisplayMode
Changes between NVML v4.304 RC and v4.304 Production
The following new functionality is exposed on NVIDIA display drivers version 304 Production or later.
Changes between NVML v3.295 and v4.304 RC
The following new functionality is exposed on NVIDIA display drivers version 304 RC or later.
- Added nvmlDeviceGetInforomConfigurationChecksum and nvmlDeviceValidateInforom.
- Added nvmlDeviceGetDisplayActive and updated documentation to clarify how it differs from nvmlDeviceGetDisplayMode.
- Added new error return value for initialization failure due to kernel module not receiving interrupts.
- Added nvmlDeviceSetApplicationsClocks, nvmlDeviceGetApplicationsClock, nvmlDeviceResetApplicationsClocks.
- Added nvmlDeviceGetSupportedMemoryClocks and nvmlDeviceGetSupportedGraphicsClocks.
- Added nvmlDeviceGetPowerManagementLimitConstraints, nvmlDeviceGetPowerManagementDefaultLimit and nvmlDeviceSetPowerManagementLimit.
- Added nvmlDeviceGetInforomImageVersion.
- Expanded nvmlDeviceGetUUID to support all CUDA capable GPUs.
- Deprecated nvmlDeviceGetDetailedEccErrors in favor of nvmlDeviceGetMemoryErrorCounter.
- Added NVML_MEMORY_LOCATION_TEXTURE_MEMORY to support reporting of texture memory error counters.
- Added nvmlDeviceGetCurrentClocksThrottleReasons and nvmlDeviceGetSupportedClocksThrottleReasons.
- NVML_CLOCK_SM is now also reported on supported Kepler devices.
- Dropped support for GT200 based Tesla brand GPUs: C1060, M1060, S1070.
Changes between NVML v2.285 and v3.295
The following new functionality is exposed on NVIDIA display drivers version 295 or later.
- Deprecated nvmlDeviceGetHandleBySerial in favor of newly added nvmlDeviceGetHandleByUUID.
- Marked the input parameters of nvmlDeviceGetHandleBySerial, nvmlDeviceGetHandleByUUID and nvmlDeviceGetHandleByPciBusId as const.
- Added nvmlDeviceOnSameBoard.
- Added nvmlConstants defines.
- Added nvmlDeviceGetMaxPcieLinkGeneration, nvmlDeviceGetMaxPcieLinkWidth, nvmlDeviceGetCurrPcieLinkGeneration,nvmlDeviceGetCurrPcieLinkWidth.
- Format change of nvmlDeviceGetUUID output to match the UUID standard. This function will return a different value.
- nvmlDeviceGetDetailedEccErrors will report zero for unsupported ECC error counters when a subset of ECC error counters are supported.
Changes between NVML v1.0 and v2.285
The following new functionality is exposed on NVIDIA display drivers version 285 or later.
- Added possibility to query separately current and pending driver
model with nvmlDeviceGetDriverModel.
- Fixed error message when querying pending driver model with nvmlDeviceGetDriverModel on non-Admin user account.
- Fixed problem when nvmlDeviceGetDisplayMode wouldn't update.
- Added API nvmlDeviceGetVbiosVersion function to report VBIOS version.
- Added pciSubSystemId to nvmlPciInfo_t struct.
- Added API nvmlErrorString function to convert error code to string.
- Updated docs to indicate we support M2075 and C2075.
- Added API nvmlSystemGetHicVersion function to report HIC firmware version.
-
Added NVML versioning support
- Functions that changed API and/or size of structs have appended versioning suffix (e.g., nvmlDeviceGetPciInfo_v2). Appropriate C defines have been added that map old function names to the newer version of the function.
- Added support for concurrent library usage by multiple libraries.
- Added API nvmlDeviceGetMaxClockInfo function for reporting device's clock limits.
- Added new error code NVML_ERROR_DRIVER_NOT_LOADED used by nvmlInit.
- Extended nvmlPciInfo_t struct with new field: sub system id.
- Added NVML support on Windows guest account.
- Changed format of pciBusId string (to XXXX:XX:XX.X) of nvmlPciInfo_t.
- Parsing of busId in nvmlDeviceGetHandleByPciBusId is less restrictive. You can pass 0:2:0.0 or 0000:02:00 and other variations.
- Added API for events waiting for GPU events (Linux only) see docs of nvmlEvents.
- Added API nvmlDeviceGetComputeRunningProcesses_v2 and nvmlSystemGetProcessName functions for looking up currently running compute applications.
- Deprecated nvmlDeviceGetPowerState in favor of nvmlDeviceGetPerformanceState.