3. 变更日志
本章列出了库中引入的 API 变更和错误修复。
v565 和 v570 之间的变更
以下新功能在 NVIDIA 显示驱动程序 570 Production 或更高版本中公开。
- 为与电源平滑相关的数据添加了字段值
- 添加了 nvmlDevicePowerSmoothingActivatePresetProfile 以激活电源平滑的特定预设配置文件
- 添加了 nvmlDevicePowerSmoothingSetState 以启用/禁用电源平滑功能
- * 添加了 nvmlDevicePowerSmoothingUpdatePresetProfileParam 以更新电源平滑预设配置文件的参数
- 为 fieldId NVML_FI_DEV_NVLINK_GET_STATE 添加了新的枚举,以公开链路的 INACTIVE、ACTIVE 和 SLEEP 状态
- 添加了 nvmlDeviceGetMarginTemperature 以检索热裕量温度(到最近减速阈值的距离)。
- 添加了 nvmlDeviceGetNvlinkSupportedBwModes 以获取所有支持的 Nvlink 带宽模式
- 添加了 nvmlDeviceGetNvlinkBwMode 以获取当前的 Nvlink 带宽模式
- 添加了 nvmlDeviceSetNvlinkBwMode 以设置 Nvlink 带宽模式
- 添加了支持图形的 MIG 配置文件。
- 为新的恢复操作添加了支持 - NVML_GPU_RECOVERY_ACTION_DRAIN_AND_RESET
- 已弃用 nvml fieldIds NVML_FI_DEV_RESET_STATUS 和 NVML_FI_DEV_DRAIN_AND_RESET_STATUS。请使用 NVML_FI_DEV_GET_GPU_RECOVERY_ACTION 代替
- 添加了 nvmlDeviceGetDramEncryptionMode 和 nvmlDeviceSetDramEncryptionMode 以查询和配置 DRAM 加密模式
- 为 GPU Fabric Health Mask 添加了 3 个新标志
- NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ROUTE_RECOVERY
- NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ROUTE_UNHEALTHY
- NVML_GPU_FABRIC_HEALTH_MASK_SHIFT_ACCESS_TIMEOUT_RECOVERY
- 为 Nvlink5 添加了新的计数器
- NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_ERRORS 以获取每个 Nvlink 数据包中错误数的总和
- NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_BER 以获取有效错误的有效 BER
- NVML_FI_DEV_NVLINK_COUNT_FEC_HISTORY_0 至 15,以获取已更正的符号错误计数
- 交换了字段 ID NVML_FI_DEV_IS_MIG_MODE_INDEPENDENT_MIG_QUERY_CAPABLE 和 NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MAX 的值,以修复与 v550 的向后兼容性。
v560 和 v565 之间的变更
以下新功能在 NVIDIA 显示驱动程序 565 Production 或更高版本中公开。
- 修复了 nvidia-smi 查询输出和 NVML API 之间的 ECC 错误计数不匹配问题,nvmlDeviceGetMemoryErrorCounter 和 nvmlDeviceGetFieldValues。
- 为 CC CPU 功能报告添加了新值 NVML_CC_SYSTEM_CPU_CAPS_AMD_SNP_VTOM。
- 添加了 nvmlDeviceGetCoolerInfo 以检索冷却器的控制信号特性以及冷却器冷却的目标。
- 为 CC CPU 功能报告添加了新值 NVML_CC_SYSTEM_CPU_CAPS_AMD_SEV_SNP。
- 添加了 nvmlDeviceGetFanSpeedRPM 以报告设备指定风扇的预期运行速度,单位为每分钟转数 (RPM)。
- 添加了 nvmlDeviceGetPerformanceModes 以检索性能模式字符串,其中包含为此设备定义的所有性能模式以及其关联的 GPU 时钟和显存时钟值。
- 添加了 nvmlDeviceGetCurrentClockFreqs 以检索包含当前 pstate 的关联 GPU 时钟和显存时钟值的字符串。
- 添加了 nvmlNvlinkVersion_t 枚举以定义 NvLink 版本。
- 添加了 nvmlDeviceGetPlatformInfo 以检索设备的平台信息。
- 添加了新的事件类型 nvmlEventTypeGpuUnavailableError。
- 移除了对 Blackwell 上 nvmlDeviceGetNvLinkCrcLaneErrorCounter、nvmlDeviceGetNvLinkEccLaneErrorCounter 和 nvmlDeviceGetNvLinkErrorCounter 的支持。
- 移除了对 Blackwell 上 fieldIds NVML_FI_DEV_NVLINK_ERROR_DL_REPLAY、NVML_FI_DEV_NVLINK_ERROR_DL_RECOVERY 和 NVML_FI_DEV_NVLINK_ERROR_DL_CRC 的支持。
- 添加了 nvmlVgpuInstanceGetRuntimeStateSize 以获取 vGPU 运行时状态大小。
- 更新了 nvmlDeviceGetVgpuTypeSupportedPlacements 函数以报告异构和同构 vGPU 放置。
- 更新了 nvmlDeviceGetVgpuCapabilities 以报告同构 vGPU 功能。
- 添加了新的事件类型 nvmlEventTypeGpuRecoveryAction。
- 添加了新的 fieldId 以查询 GPU 恢复操作 NVML_FI_DEV_GET_GPU_RECOVERY_ACTION。
- 已弃用 fieldIds
- NVML_FI_DEV_NVLINK_COUNT_VL15_DROPPED 以获取 NVLink5 中链路上的 VL15 MAD 丢弃数
- NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE0 以获取通道 0 的每通道 BER
- NVML_FI_DEV_NVLINK_COUNT_RAW_BER_LANE1 以获取通道 1 的每通道 BER
- NVML_FI_DEV_NVLINK_COUNT_RAW_BER 以获取每链路 BER。每通道所有原始错误的总和/每链路接收的位数
- NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_ERRORS 以获取每个 Nvlink 数据包中错误数的总和
- NVML_FI_DEV_NVLINK_COUNT_EFFECTIVE_BER 以获取有效错误的有效 BER
v555 和 v560 之间的变更
以下新功能在 NVIDIA 显示驱动程序 560 Production 或更高版本中公开。
- 为 nvmlDeviceGetFieldValues 添加了字段值 NVML_FI_DEV_PCIE_OUTBOUND_ATOMICS_MASK 和 NVML_FI_DEV_PCIE_INBOUND_ATOMICS_MASK。
- 添加了与 nvidia-smi 输出对应的字段 ID NVML_FI_DEV_RESET_STATUS 和 NVML_FI_DEV_DRAIN_AND_RESET_STATUS。
- 添加了 NVML_DEVICE_ARCH_T23X 架构类型。
- 添加了 nvmlVgpuTypeGetBAR1Info 以查询 vGPU 类型的 BAR1 信息。
- 添加了新的事件类型,nvmlEventTypeSingleBitEccErrorStorm、nvmlEventTypeDramRetirementEvent、nvmlEventTypeDramRetirementFailure、nvmlEventTypeNonFatalPoisonError 和 nvmlEventTypeFatalPoisonError。
- 添加了 nvmlSystemGetDriverBranch 以查询驱动程序分支信息。
v550 和 v555 之间的变更
以下新功能在 NVIDIA 显示驱动程序 555 Production 或更高版本中公开。
- 添加了 nvmlDeviceGetClockOffsets 以查询 Maxwell 及更高版本 GPU 上指定时钟的最小、最大和当前时钟偏移值。注意:nvmlDeviceGetGpcClkVfOffset、nvmlDeviceGetMemClkVfOffset、nvmlDeviceGetGpcClkMinMaxVfOffset 和 nvmlDeviceGetMemClkMinMaxVfOffset 将在未来版本中弃用。请改用 nvmlDeviceGetClockOffsets。
- 添加了 nvmlDeviceSetClockOffsets 以控制 Maxwell 及更高版本 GPU 上指定时钟的时钟偏移值。注意:nvmlDeviceSetGpcClkVfOffset 和 nvmlDeviceSetMemClkVfOffset 将在未来版本中弃用。请改用 nvmlDeviceSetClockOffsets。
- 为 nvmlDeviceGetFieldValues 添加了两个新的字段 ID NVML_FI_DEV_PCIE_COUNT_TX_BYTES 和 NVML_FI_DEV_PCIE_COUNT_RX_BYTES。
- 添加了新的 API nvmlDeviceGetCapabilities,其中第一个功能位 NVML_DEV_CAP_EGM 用于扩展 GPU 内存 (EGM) 功能。
- 通过新的 API nvmlSystemGetConfComputeSettings 或 "nvidia-smi conf-compute --get-multigpu-mode" 或 "nvidia-smi conf-compute -mgm" 在启用 CC 的系统上添加了 multiGpuMode 显示。
- 添加了新的字段 ID NVML_FI_DEV_NVLINK_GET_POWER_THRESHOLD_MAX 以获取设备的最大 Nvlink 功率阈值。
v545 和 v550 之间的变更
以下新功能在 NVIDIA 显示驱动程序 550 Production 或更高版本中公开。
- 添加了 nvmlDeviceGetNumaNodeId 以查询 GPU 的 NUMA 节点。
- 为 nvmlGpmMetricId_t 添加了新的 GPM 指标 ID NVML_GPM_METRIC_NVOFA_1_UTIL。
- 添加了新的字段 ID NVML_FI_DEV_IS_MIG_MODE_INDEPENDENT_MIG_QUERY_CAPABLE,以检查与 MIG 模式无关的 MIG 查询功能设备。
- 已弃用 NVML_P2P_CAPS_INDEX_PROP 并添加了 NVML_P2P_CAPS_INDEX_PCI 以反映相同的 P2P 功能。
- 添加了 nvmlDeviceGetProcessesUtilizationInfo 以检索所有正在运行的进程的最近利用率和进程 ID。
- 添加了新的结构体 nvmlProcessesUtilizationInfo_v1_t,其中包括 NVJPG 和 NVOFA 的新利用率。
- 添加了 nvmlDeviceGetVgpuInstancesUtilizationInfo 以检索物理 GPU 上运行的 vGPU 实例的最近利用率。
- 添加了 nvmlDeviceGetVgpuProcessesUtilizationInfo 以检索物理 GPU 上 vGPU 实例上运行的进程的最近利用率。
- 添加了 nvmlDeviceSetVgpuHeterogeneousMode 以启用或禁用设备的 vGPU 异构模式。
- 添加了 nvmlDeviceGetVgpuHeterogeneousMode 以查询设备的 vGPU 异构模式。
- 添加了 nvmlVgpuInstanceGetPlacementId 以查询活动 vGPU 实例的放置 ID。
- 添加了 nvmlDeviceGetVgpuTypeSupportedPlacements 以查询 vGPU 类型的支持 vGPU 放置 ID。
- 添加了 nvmlDeviceGetVgpuTypeCreatablePlacements 以查询 vGPU 类型的可创建 vGPU 放置 ID。
- 添加了在 nvidia-smi pmon 和 dmon 命令中显示机密计算受保护内存以及 fb 和 bar1 的支持。
- 添加了 nvmlDeviceGetGpuFabricInfoV 以查询设备的 GPU Fabric Probe 信息。
- 已弃用 nvmlDeviceGetGpuFabricInfo。不应使用此函数,并将在未来版本中移除。请改用 nvmlDeviceGetGpuFabricInfoV。
- 修改了 nvmlDeviceGetGpuInstanceProfileInfo 和 >nvmlDeviceGetGpuInstancePossiblePlacements_v2,不再需要启用 MIG。
- 为枚举 nvmlEncoderType_t 添加了新的编码器类型 NVML_ENCODER_QUERY_AV1 和 NVML_ENCODER_QUERY_UNKNOWN。
- 添加了 nvmlSystemSetConfComputeKeyRotationThresholdInfo 以设置机密计算密钥轮换阈值。
- 添加了 nvmlSystemGetConfComputeKeyRotationThresholdInfo 以查询机密计算密钥轮换阈值详细信息。
- 添加了 INVALID_DOXYREF 设置设备所需的 vGPU 功能。
v535 和 v545 之间的变更
以下新功能在 NVIDIA 显示驱动程序 545 Production 或更高版本中公开。
- 添加了新的错误代码 NVML_ERROR_GPU_NOT_FOUND,如果在初始化期间未找到受支持的 GPU,则返回该错误代码。
- 在 nvmlGpuFabricInfo_v2_t 中,partitionId 已重命名为 cliqueId。
- 添加了新的版本化结构体 nvmlGpuInstanceProfileInfo_v3_t 和 nvmlComputeInstanceProfileInfo_v3_t。
- 添加了 nvmlDeviceGetLastBBXFlushTime,用于检索 BBX 对象最新刷新到 inforom 存储的时间戳和持续时间。
- 添加了 NVML_POWER_SCOPE_MEMORY 以报告 GPU 内存的功耗。
- 添加了 nvmlDeviceGetPciInfo_v3,它扩展了 nvmlDeviceGetPciInfo 以同时报告 PCI 基类和子类代码。
- 添加了新的结构体 nvmlPciInfoExt_v1_t,该结构体在 nvmlDeviceGetPciInfoExt 中使用。
- 添加了 nvmlDeviceGetRunningProcessDetailList API,以获取有关在 GPU 上运行的 Compute、Graphics 或 MPS-Compute 进程的信息,其中包含受保护的内存使用信息。
v530 和 v535 之间的变更
以下新功能在 NVIDIA 显示驱动程序 535 Production 或更高版本中公开。
- 添加了 nvmlDeviceGetSramEccErrorStatus 以查询设备的 SRAM ECC 错误状态。
- 添加了 nvmlDeviceGetModuleId 以获取设备模块 ID。
- 更新了 nvmlDeviceGetPowerSource API 以报告欠压电源。
- 添加了nvmlDeviceGetJpgUtilization 和 nvmlDeviceGetOfaUtilization API。
- 添加了 nvmlSystemGetNvlinkBwMode 和 nvmlSystemSetNvlinkBwMode API。
- 添加了 nvmlDeviceSetVgpuSchedulerState 以设置 vGPU 调度器状态。
- 添加了新的字段 ID NVML_FI_DEV_IS_RESETLESS_MIG_SUPPORTED,用于设备的无重置 MIG 功能。
- 添加了 nvmlDeviceGetComputeRunningProcesses_v3 以获取有关在 GPU 上运行的 Compute 进程的信息。
- 添加了 nvmlDeviceGetGraphicsRunningProcesses_v3 以获取有关在 GPU 上运行的 Graphics 进程的信息。
- 添加了 nvmlDeviceGetMPSComputeRunningProcesses_v3 以获取有关在 GPU 上运行的 MPS-Compute 进程的信息。
- 添加了 nvmlDeviceGetRunningProcessDetailList 以获取有关在 GPU 上运行的 Compute、Graphics 或 MPS-Compute 进程的信息,其中包含受保护的内存使用信息。
- 添加了 nvmlDeviceGetLastBBXFlushTime,用于检索 BBX 对象最新刷新到 inforom 存储的时间戳和持续时间。
- 添加了新的字段 ID NVML_FI_DEV_PCIE_COUNT_CORRECTABLE_ERRORS,用于 PCIe 可纠正错误计数器。
- 添加了新的字段 ID NVML_FI_DEV_PCIE_COUNT_NAKS_RECEIVED,用于 PCIe NAK 接收计数器。
- 添加了新的字段 ID NVML_FI_DEV_PCIE_COUNT_RECEIVER_ERROR,用于 PCIe 接收器错误计数器。
- 添加了新的字段 ID NVML_FI_DEV_PCIE_COUNT_BAD_TLP,用于 PCIe 坏 TLP 计数器。
- 添加了新的字段 ID NVML_FI_DEV_PCIE_COUNT_NAKS_SENT,用于 NAK 发送计数器。
- 添加了新的字段 ID NVML_FI_DEV_PCIE_COUNT_BAD_DLLP,用于 PCIe 坏 DLLP 计数器。
- 添加了新的字段 ID NVML_FI_DEV_PCIE_COUNT_NON_FATAL_ERROR,用于 PCIe 非致命错误计数器。
- 添加了新的字段 ID NVML_FI_DEV_PCIE_COUNT_FATAL_ERROR,用于 PCIe 致命错误计数器。
- 添加了新的字段 ID NVML_FI_DEV_PCIE_COUNT_UNSUPPORTED_REQ,用于 PCIe 不支持的请求计数器。
- 添加了新的字段 ID NVML_FI_DEV_PCIE_COUNT_LCRC_ERROR,用于 PCIe LCRC 错误计数器。
- 添加了 新的字段 ID NVML_FI_DEV_PCIE_COUNT_LANE_ERROR,用于每通道错误计数器,范围为 PCIe 通道号。
- 添加了 nvmlDeviceGetPowerUsage_v2 以检索当前功耗。
- 添加了 nvmlDeviceGetTotalEnergyConsumption_v2 以获取当前能耗。
- 添加了 nvmlDeviceSetPowerManagementLimit_v2 以设置功率限制。
- 添加了新的字段 ID NVML_FI_GPU_POWER_AVERAGE 和 NVML_FI_GPU_POWER_INSTANT,以查询功耗。
- 将 nvmlDeviceCcuGetStreamState 重命名为 nvmlGpmQueryIfStreamingEnabled,将 nvmlDeviceCcuSetStreamState 重命名为 nvmlGpmSetStreamingEnabled。
- 添加了在 nvidia-smi pmon 和 dmon 命令中显示机密计算受保护内存以及 fb 和 bar1 的支持。
- 添加了新的字段 ID 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,以查询 Ada 及更高版本架构上的温度阈值。
- 引入了 ClockEventReasons 和相关的 API,应使用它们代替 ClockThrottleReasons。已弃用 ClockThrottleReasons。
- 添加了使用新的枚举 NVML_TEMPERATURE_THRESHOLD_GPS_CURR 通过 nvmlDeviceGetTemperatureThreshold 获取 GPS 温度阈值的功能。
v525 和 v530 之间的变更
以下新功能在 NVIDIA 显示驱动程序 530 Production 或更高版本中公开。
- 修复了 nvmlGpuP2PStatus_t 中的拼写错误:为 NVML_P2P_STATUS_CHIPSET_NOT_SUPPORTED 添加了新的枚举条目,其数值与现有的错误条目("NVML_P2P_STATUS_CHIPSET_NOT_SUPPORED")相同。
- 添加了 nvmlDeviceGetVgpuSchedulerLog 以获取 vGPU 软件调度程序日志。
- 添加了 nvmlDeviceGetVgpuSchedulerState 以获取 vGPU 软件调度程序状态。
- 添加了 nvmlDeviceGetVgpuSchedulerCapabilities 以获取 vGPU 软件调度程序功能。
v520 和 v525 之间的变更
以下新功能在 NVIDIA 显示驱动程序 525 Production 或更高版本中公开。
- 添加了 nvmlDeviceGetPcieAtomicCaps 以报告 PCIe 原子功能。
- 添加了 nvmlDeviceCcuGetStreamState API 以报告计数器收集单元流状态。
- 添加了 nvmlDeviceCcuSetStreamState API 以设置计数器收集单元流状态。
- 移除了 Hopper 中对 NVML_FI_DEV_LINK_SPEED_MBPS_L{0..} 字段 ID 的支持。替换为 NVML_FI_DEV_NVLINK_GET_SPEED,范围为链路 ID。
- 移除了 Hopper 中对 NVML_FI_DEV_NVLINK_CRC_FLIT_ERROR_COUNT{0..} 字段 ID 的支持。替换为 NVML_FI_DEV_NVLINK_ERROR_DL_CRC,范围为链路 ID。
- 移除了 Hopper 中对 NVML_FI_DEV_NVLINK_REPLAY_ERROR_COUNT_L{0..} 字段 ID 的支持。替换为 NVML_FI_DEV_NVLINK_ERROR_DL_REPLAY,范围为链路 ID。
- 移除了 Hopper 中对 NVML_FI_DEV_NVLINK_RECOVERY_ERROR_COUNT_{0..} 字段 ID 的支持。替换为 NVML_FI_DEV_NVLINK_ERROR_DL_RECOVERY,范围为链路 ID。
- 添加了新的字段 ID NVML_FI_DEV_NVLINK_GET_STATE 以获取 nvlink 状态。
- 添加了新的字段 ID NVML_FI_DEV_NVLINK_GET_VERSION 以获取 nvlink 版本。
- 添加了新的字段 ID NVML_FI_DEV_C2C_LINK_COUNT 以获取 C2C 链路计数。
- 添加了新的字段 ID NVML_FI_DEV_C2C_LINK_GET_STATUS 以获取 C2C 链路状态。
- 添加了新的字段 ID NVML_FI_DEV_C2C_LINK_GET_MAX_BW 以获取 C2C 链路带宽。
v515 和 v520 之间的变更
以下新功能在 NVIDIA 显示驱动程序 520 Production 或更高版本中公开。
- 添加了 nvmlDeviceGetMemClkVfOffset API 以报告 MemClk VF 偏移值。
- 添加了 nvmlDeviceSetMemClkVfOffset API 以设置 MemClk VF 偏移值。
- 添加了 nvmlDeviceGetMemClkMinMaxVfOffset API 以报告用户可以为指定 GPU 设置的显存时钟最小和最大 VF 偏移量。
- 添加了 nvmlDeviceGetTargetFanSpeed API 以报告设备指定风扇的预期目标速度。
- 添加了 nvmlDeviceGetGpcClkMinMaxVfOffset API 以报告用户可以为指定 GPU 设置的图形时钟最小和最大 VF 偏移量。
- 添加了 nvmlGpmMetricsGet 以从两个 GPM 样本计算 GPM 指标。
- 添加了 nvmlGpmSampleFree 以释放已分配的 GPM 样本。
- 添加了 nvmlGpmSampleAlloc 以分配 GPM 样本。
- 添加了 nvmlGpmSampleGet 以检索 GPM 快照。
- 添加了 nvmlGpmQueryDeviceSupport 以查询设备是否支持 GPM
- 添加了 nvmlDeviceGetSupportedPowerModes API 以报告 GPU 支持的电源模式掩码。
- 添加了 nvmlDeviceGetPowerMode API 以报告 GPU 的当前电源模式。
- 添加了 nvmlDeviceSetPowerMode API 以设置新的电源模式。
- 添加了 nvmlDeviceGetFanControlPolicy_v2 API 以报告指定 GPU 风扇的控制策略。
- 添加了 nvmlDeviceSetFanControlPolicy API 以设置指定 GPU 风扇的控制策略。
v510 和 v515 之间的变更
以下新功能在 NVIDIA 显示驱动程序 515 Production 或更高版本中公开。
- 添加了 nvmlDeviceGetDefaultECCMode API 以报告 GPU 的默认 ECC 模式。
- 添加了 nvmlDeviceGetPcieSpeed API 以报告 GPU 的 PCIe 链路速度。
- 添加了 nvmlDeviceGetDynamicPstatesInfo API 以报告 GPU 的 P 状态信息。
- 添加了 nvmlDeviceSetFanSpeed_v2 API 以设置 GPU 的风扇速度。
- 添加了 nvmlDeviceSetDefaultFanSpeed_v2 API 以设置 GPU 的默认风扇速度。
- 添加了 nvmlDeviceGetThermalSettings API 以报告 GPU 的散热系统信息。
- 添加了 nvmlDeviceGetMinMaxClockOfPState API 以报告给定 P 状态下某些时钟域的最小和最大时钟。
- 添加了 nvmlDeviceGetSupportedPerformanceStates API 以获取 GPU 的所有支持的性能状态 (P 状态)。
- 添加了 nvmlDeviceGetGpcClkVfOffset API 以报告 GPCCLK VF 偏移值。
- 添加了 nvmlDeviceSetGpcClkVfOffset API 以设置 GPCCLK VF 偏移值。
- 添加了 nvmlDeviceGetMinMaxFanSpeed API 以报告用户可以为指定 GPU 风扇设置的最小和最大风扇速度。
v495 和 v510 之间的变更
以下新功能在 NVIDIA 显示驱动程序 510 Production 或更高版本中公开。
- 添加了 nvmlDeviceGetGpuInstanceProfileInfoV 和 nvmlGpuInstanceGetComputeInstanceProfileInfoV API,以在其输出中包含配置文件名称。
- 添加了 nvmlDeviceGetMemoryBusWidth API 以报告 GPU 的显存总线宽度。
- 添加了 nvmlDeviceGetPcieLinkMaxSpeed API 以报告 GPU 的 PCIe 最大速度。
- 添加了 nvmlDeviceGetPowerSource API 以报告 GPU 的电源为交流电还是电池。
- 添加了 nvmlDeviceGetNumFans API 以报告 GPU 的风扇数量。
- 添加了 nvmlDeviceGetNumGpuCores API 以报告 GPU 的核心数量。
- 添加了 nvmlDeviceGetMemoryInfo_v2。新版本分别计算系统保留内存,并将其包含在已用内存量中。API 的先前版本将总内存量减少了系统保留内存量。
- 添加了 nvmlDeviceGetAdaptiveClockInfoStatus API 以报告 GPU 自适应时钟的状态。
v465 和 v470 之间的变更
以下新功能在 NVIDIA 显示驱动程序 470 Production 或更高版本中公开。
- 添加了新的 MIG GPU 实例配置文件 NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV1。
- 添加了 nvmlDeviceGetGpuInstancePossiblePlacements_v2。API 的先前版本将不支持可能放置大于其总容量的配置文件,例如 NVML_GPU_INSTANCE_PROFILE_1_SLICE_REV1。
v460 和 v465 之间的变更
以下新功能在 NVIDIA 显示驱动程序 465 Production 或更高版本中公开。
- 为 NVIDIA、NVIDIA_RTX、GEFORCE_RTX、QUADRO_RTX 和 TITAN_RTX 添加了新的 NVML_BRAND_* 枚举值。
- 更新了 nvmlDeviceGetHandleByUUID 以使其支持 MIG。
- 更新了 nvmlDeviceGetUUID 以规范格式 'MIG-UUID' 返回 MIG UUID。
-
更新了 nvmlDeviceGetHandleByUUID 以接受两种 UUID 格式,'MIG-UUID' 和 'MIG-GPU UUID/GID/CID'。
- nvmlDeviceSetAPIRestriction 和 nvmlDeviceGetAPIRestriction API 将不再支持切换 nvmlDeviceSetApplicationsClocks 和 nvmlDeviceResetApplicationsClocks 的仅 root 用户要求的功能。
v450 和 v460 之间的变更
以下新功能在 NVIDIA 显示驱动程序 460 Production 或更高版本中公开。
- 添加了 nvmlDeviceCreateGpuInstanceWithPlacement,以允许在创建新的 MIG GPU 实例时指定放置。
v445 和 v450 之间的变更
以下新功能在 NVIDIA 显示驱动程序 450 Production 或更高版本中公开。
- 更新了 nvmlDeviceGetFanSpeed 和 nvmlDeviceGetFanSpeed_v2,以允许报告大于 100% 的风扇速度。
- 添加了 nvmlDeviceGetCpuAffinityWithinScope,以确定 NUMA 节点或插槽中最接近的处理器。
- 添加了 nvmlDeviceGetMemoryAffinity,以确定 NUMA 节点或插槽中最接近的 NUMA 节点。
- 添加了在 Windows 上查询和禁用 MIG 模式的支持。
v418 和 v445 之间的变更
以下新功能在 NVIDIA 显示驱动程序 445 Production 或更高版本中公开。
- 添加了对 NVIDIA Ampere 架构的支持。
- 添加了对多实例 GPU 管理的支持。有关详细信息,请参阅“多实例 GPU 管理”部分。
v361 和 v418 之间的变更
以下新功能在 NVIDIA 显示驱动程序 418 Production 或更高版本中公开。
- 添加了对 Volta 和 Turing 架构的支持、错误修复、性能改进和新功能。
v349 和 v361 之间的变更
以下新功能在 NVIDIA 显示驱动程序 361 Production 或更高版本中公开。
- 添加了 nvmlDeviceGetBoardPartNumber 以返回 GPU 部件号
- 移除了对独占线程计算模式的支持(在 7.5 中已弃用)
- 添加了 NVML_CLOCK_VIDEO (编码器/解码器) 时钟类型,作为 nvmlDeviceGetClockInfo 和 nvmlDeviceGetMaxClockInfo 支持的时钟类型。
v346 和 v349 版本之间的变更
以下新功能在 NVIDIA 显示驱动程序 349 Production 或更高版本中公开。
- 添加了 nvmlDeviceGetTopologyCommonAncestor,用于查找两个设备之间的共同路径。
- 添加了 nvmlDeviceGetTopologyNearestGpus,用于获取给定路径级别的 GPU 集合。
- 添加了 nvmlSystemGetTopologyGpuSet,用于检索具有给定 CPU 亲缘性的 GPU 集合。
- 停止支持 Perl 绑定。
- 更新了 nvmlDeviceGetAccountingPids 、 nvmlDeviceGetAccountingBufferSize 和 nvmlDeviceGetAccountingStats ,以报告活动和已终止进程的记帐信息。 nvmlAccountingStats_t 结构中的执行时间字段仅在进程终止时填充。
v340 和 v346 版本之间的变更
以下新功能在 NVIDIA 显示驱动程序 346 Production 或更高版本中公开。
- 添加了 nvmlDeviceGetGraphicsRunningProcesses_v2 以获取有关设备上运行的图形进程的信息。
- 添加了 nvmlDeviceGetPcieReplayCounter 以获取 PCI 重放计数器。
- 添加了 nvmlDeviceGetPcieThroughput 以获取 PCI 利用率信息。
- 停止支持 Perl 绑定。
NVML v331 和 v340 版本之间的变更
以下新功能在 NVIDIA 显示驱动程序 340 Production 或更高版本中公开。
- 添加了 nvmlDeviceGetSamples,用于获取 GPU 最近的功率、利用率和时钟采样。
- 添加了 nvmlDeviceGetTemperatureThreshold,用于获取 GPU 的温度阈值。
- 添加了 nvmlDeviceGetBrand,用于获取 GPU 的品牌名称。
- 添加了 nvmlDeviceGetViolationStatus,用于获取设备由于功率或热约束而受到限制(低于请求的时钟频率)的时间长度。目前不支持由于热上限引起的违规。
- 添加了 nvmlDeviceGetEncoderUtilization,用于获取 GPU 视频编码器利用率。
- 添加了 nvmlDeviceGetDecoderUtilization,用于获取 GPU 视频解码器利用率。
- 添加了 nvmlDeviceGetCpuAffinity,用于获取特定 GPU 最接近的处理器亲缘性。
- 添加了 nvmlDeviceSetCpuAffinity,用于将特定 GPU 的亲缘性设置为最接近的处理器。
- 添加了 nvmlDeviceClearCpuAffinity,用于清除特定 GPU 的亲缘性。
- 添加了 nvmlDeviceGetBoardId,用于获取运行系统的唯一 boardId。
- 添加了 nvmlDeviceGetMultiGpuBoard,用于获取设备是否在 multiGPU 板上。
- 添加了 nvmlDeviceGetAutoBoostedClocksEnabled 和 nvmlDeviceSetAutoBoostedClocksEnabled,用于查询和设置支持硬件上的自动加速时钟状态。
- 添加了 nvmlDeviceSetDefaultAutoBoostedClocksEnabled,用于设置支持硬件上的自动加速时钟的默认状态。
NVML v5.319 Update 和 v331 版本之间的变更
以下新功能在 NVIDIA 显示驱动程序 331 或更高版本中公开。
- 添加了 nvmlDeviceGetMinorNumber,用于获取设备的次要设备号。
- 添加了 nvmlDeviceGetBAR1MemoryInfo,用于获取 BAR1 总计、可用和已用内存大小。
- 添加了 nvmlDeviceGetBridgeChipInfo,用于获取与桥接芯片固件相关的信息。
- 添加了强制功率限制查询 API nvmlDeviceGetEnforcedPowerLimit
- 更新了 nvmlEventSetWait,以在 xid 错误事件的情况下返回 xid 事件数据。
NVML v5.319 RC 和 v5.319 Update 版本之间的变更
以下新功能在 NVIDIA 显示驱动程序 319 Update 或更高版本中公开。
- 添加了 nvmlDeviceSetAPIRestriction 和 nvmlDeviceGetAPIRestriction,最初能够切换 nvmlDeviceSetApplicationsClocks 和 nvmlDeviceResetApplicationsClocks 的仅 root 用户需求。
NVML v4.304 Production 和 v5.319 RC 版本之间的变更
以下新功能在 NVIDIA 显示驱动程序 319 RC 或更高版本中公开。
- 添加了 nvmlDeviceGetHandleByIndex 和 nvmlDeviceGetCount 的 _v2 版本,这些版本也计算当前用户无法访问的设备
- nvmlDeviceGetHandleByIndex_v2(默认)也可能返回 NVML_ERROR_NO_PERMISSION
- 添加了 nvmlInit_v2 和 nvmlDeviceGetHandleByIndex_v2,它们是更安全且因此推荐用于初始化库的函数
- nvmlInit_v2 仅延迟初始化请求的设备(使用 nvmlDeviceGetHandle* 查询)
- nvml.h 将 nvmlInit_v2 和 nvmlDeviceGetHandleByIndex_v2 定义为默认函数
- 添加了 nvmlDeviceGetIndex
- 添加了 NVML_ERROR_GPU_IS_LOST 以报告已从总线掉线的 GPU。
- 所有 NVML 设备 API 都可以返回此错误代码,因为 GPU 随时可能从总线掉线。
- 添加了用于收集进程统计信息的新 API 类 (nvmlAccountingStats)
- Quadro 产品线的 GPU 不再支持应用程序时钟
- 添加了 API 以支持动态页面停用。请参阅 nvmlDeviceGetRetiredPages 和 nvmlDeviceGetRetiredPagesPendingStatus
- 将 nvmlClocksThrottleReasonUserDefinedClocks 重命名为 nvmlClocksThrottleReasonApplicationsClocksSetting。旧名称已弃用,可能会在接下来的主要版本之一中删除。
- 添加了 nvmlDeviceGetDisplayActive,并更新了文档以阐明其与 nvmlDeviceGetDisplayMode 的区别
NVML v4.304 RC 和 v4.304 Production 版本之间的变更
以下新功能在 NVIDIA 显示驱动程序 304 Production 或更高版本中公开。
NVML v3.295 和 v4.304 RC 版本之间的变更
以下新功能在 NVIDIA 显示驱动程序 304 RC 或更高版本中公开。
- 添加了 nvmlDeviceGetInforomConfigurationChecksum 和 nvmlDeviceValidateInforom。
- 添加了 nvmlDeviceGetDisplayActive,并更新了文档以阐明其与 nvmlDeviceGetDisplayMode 的区别。
- 添加了由于内核模块未接收到中断而导致初始化失败的新错误返回值。
- 添加了 nvmlDeviceSetApplicationsClocks、nvmlDeviceGetApplicationsClock、nvmlDeviceResetApplicationsClocks。
- 添加了 nvmlDeviceGetSupportedMemoryClocks 和 nvmlDeviceGetSupportedGraphicsClocks。
- 添加了 nvmlDeviceGetPowerManagementLimitConstraints、nvmlDeviceGetPowerManagementDefaultLimit 和 nvmlDeviceSetPowerManagementLimit。
- 添加了 nvmlDeviceGetInforomImageVersion。
- 扩展了 nvmlDeviceGetUUID 以支持所有支持 CUDA 的 GPU。
- 弃用了 nvmlDeviceGetDetailedEccErrors,而推荐使用 nvmlDeviceGetMemoryErrorCounter。
- 添加了 NVML_MEMORY_LOCATION_TEXTURE_MEMORY 以支持报告纹理内存错误计数器。
- 添加了 nvmlDeviceGetCurrentClocksThrottleReasons 和 nvmlDeviceGetSupportedClocksThrottleReasons。
- NVML_CLOCK_SM 现在也在支持的 Kepler 设备上报告。
- 停止支持基于 GT200 的 Tesla 品牌 GPU:C1060、M1060、S1070。
NVML v2.285 和 v3.295 版本之间的变更
以下新功能在 NVIDIA 显示驱动程序 295 或更高版本中公开。
- 弃用了 nvmlDeviceGetHandleBySerial,而推荐使用新添加的 nvmlDeviceGetHandleByUUID。
- 将 nvmlDeviceGetHandleBySerial、nvmlDeviceGetHandleByUUID 和 nvmlDeviceGetHandleByPciBusId 的输入参数标记为 const。
- 添加了 nvmlDeviceOnSameBoard。
- 添加了 nvmlConstants 定义。
- 添加了 nvmlDeviceGetMaxPcieLinkGeneration、nvmlDeviceGetMaxPcieLinkWidth、nvmlDeviceGetCurrPcieLinkGeneration、nvmlDeviceGetCurrPcieLinkWidth。
- 更改了 nvmlDeviceGetUUID 输出的格式以匹配 UUID 标准。此函数将返回不同的值。
- nvmlDeviceGetDetailedEccErrors 将在支持部分 ECC 错误计数器时报告零以表示不支持的 ECC 错误计数器。
NVML v1.0 和 v2.285 版本之间的变更
以下新功能在 NVIDIA 显示驱动程序 285 或更高版本中公开。
- 添加了使用 nvmlDeviceGetDriverModel 分别查询当前和挂起的驱动程序模型的可能性。
- 修复了在非管理员用户帐户上使用 nvmlDeviceGetDriverModel 查询挂起的驱动程序模型时的错误消息。
- 修复了 nvmlDeviceGetDisplayMode 不会更新的问题。
- 添加了 API nvmlDeviceGetVbiosVersion 函数以报告 VBIOS 版本。
- 将 pciSubSystemId 添加到 nvmlPciInfo_t 结构。
- 添加了 API nvmlErrorString 函数以将错误代码转换为字符串。
- 更新了文档以指示我们支持 M2075 和 C2075。
- 添加了 API nvmlSystemGetHicVersion 函数以报告 HIC 固件版本。
-
添加了 NVML 版本控制支持
- 更改了 API 和/或 结构大小的函数已附加版本控制后缀(例如,nvmlDeviceGetPciInfo_v2)。已添加适当的 C 定义,将旧函数名称映射到较新版本的函数。
- 添加了对多个库并发库使用的支持。
- 添加了 API nvmlDeviceGetMaxClockInfo 函数以报告设备的时钟限制。
- 添加了新错误代码 NVML_ERROR_DRIVER_NOT_LOADED,供 nvmlInit 使用。
- 使用新字段子系统 ID 扩展了 nvmlPciInfo_t 结构。
- 在 Windows 访客帐户上添加了 NVML 支持。
- 更改了 nvmlPciInfo_t 的 pciBusId 字符串格式(为 XXXX:XX:XX.X)。
- 在 nvmlDeviceGetHandleByPciBusId 中,对 busId 的解析限制较少。您可以传递 0:2:0.0 或 0000:02:00 和其他变体。
- 添加了用于等待 GPU 事件的 API(仅限 Linux),请参阅 nvmlEvents 的文档。
- 添加了 API nvmlDeviceGetComputeRunningProcesses_v2 和 nvmlSystemGetProcessName 函数,用于查找当前正在运行的计算应用程序。
- 弃用了 nvmlDeviceGetPowerState,而推荐使用 nvmlDeviceGetPerformanceState。