NVML API 参考指南 (PDF) - vR570 (旧版本) - 最后更新于 2025 年 1 月 29 日 - 发送反馈

4.20.1. 事件类型

[事件处理方法]

用户可以接收通知的事件类型。 详情请参阅特定功能的描述。

请参阅 nvmlDeviceRegisterEventsnvmlDeviceGetSupportedEventTypes 以检查哪些设备支持每种事件。

当传递给 nvmlDeviceRegisterEvents 时,类型可以使用按位或运算符 '|' 组合

定义

#define nvmlEventMigConfigChange 0x0000000000000100LL
关于 MIG 配置更改的事件。
#define nvmlEventTypeAll
所有事件的掩码。
#define nvmlEventTypeClock 0x0000000000000010LL
关于时钟更改的事件。
#define nvmlEventTypeDoubleBitEccError 0x0000000000000002LL
关于双位 ECC 错误的事件。
#define nvmlEventTypeDramRetirementEvent 0x0000000000000400LL
关于 DRAM 停用事件的事件。
#define nvmlEventTypeDramRetirementFailure 0x0000000000000800LL
关于 DRAM 停用失败的事件。
#define nvmlEventTypeFatalPoisonError 0x0000000000002000LL
致命 Poison 事件。
#define nvmlEventTypeGpuRecoveryAction 0x0000000000008000LL
GPU 恢复操作事件。
#define nvmlEventTypeGpuUnavailableError 0x0000000000004000LL
GPU 不可用事件。
#define nvmlEventTypeNonFatalPoisonError 0x0000000000001000LL
非致命 Poison 事件。
#define nvmlEventTypeNone 0x0000000000000000LL
没有事件的掩码。
#define nvmlEventTypePState 0x0000000000000004LL
关于 PState 更改的事件。
#define nvmlEventTypePowerSourceChange 0x0000000000000080LL
关于 AC/电池 电源更改的事件。
#define nvmlEventTypeSingleBitEccError 0x0000000000000001LL
关于单位 ECC 错误的事件。
#define nvmlEventTypeSingleBitEccErrorStorm 0x0000000000000200LL
关于单位 ECC 错误风暴的事件。
#define nvmlEventTypeXidCriticalError 0x0000000000000008LL
发生 Xid 严重错误的事件。

定义

#define nvmlEventMigConfigChange 0x0000000000000100LL

#define nvmlEventTypeAll

(nvmlEventTypeNone \ | nvmlEventTypeSingleBitEccError \ | nvmlEventTypeDoubleBitEccError \ | nvmlEventTypePState \ | nvmlEventTypeClock \ | nvmlEventTypeXidCriticalError \ | nvmlEventTypePowerSourceChange \ | nvmlEventMigConfigChange \ | nvmlEventTypeSingleBitEccErrorStorm \ | nvmlEventTypeDramRetirementEvent \ | nvmlEventTypeDramRetirementFailure \ | nvmlEventTypeNonFatalPoisonError \ | nvmlEventTypeFatalPoisonError \ | nvmlEventTypeGpuUnavailableError \ | nvmlEventTypeGpuRecoveryAction)

#define nvmlEventTypeClock 0x0000000000000010LL

仅限 Kepler

#define nvmlEventTypeDoubleBitEccError 0x0000000000000002LL

注意

未更正的纹理内存错误不是 ECC 错误,因此不会生成双位事件

#define nvmlEventTypeDramRetirementEvent 0x0000000000000400LL

#define nvmlEventTypeDramRetirementFailure 0x0000000000000800LL

#define nvmlEventTypeFatalPoisonError 0x0000000000002000LL

#define nvmlEventTypeGpuRecoveryAction 0x0000000000008000LL

#define nvmlEventTypeGpuUnavailableError 0x0000000000004000LL

#define nvmlEventTypeNonFatalPoisonError 0x0000000000001000LL

#define nvmlEventTypeNone 0x0000000000000000LL

#define nvmlEventTypePState 0x0000000000000004LL

注意

在 Fermi 架构上,PState 更改也指示 GPU 由于 GPU 上未执行任何工作、功率限制或热限制而降低频率。 在典型情况下,基于 Fermi 的 GPU 在计算过程执行期间应保持在 P0 状态。

#define nvmlEventTypePowerSourceChange 0x0000000000000080LL

#define nvmlEventTypeSingleBitEccError 0x0000000000000001LL

注意

已更正的纹理内存错误不是 ECC 错误,因此不会生成单位事件

#define nvmlEventTypeSingleBitEccErrorStorm 0x0000000000000200LL

#define nvmlEventTypeXidCriticalError 0x0000000000000008LL


NVML API 参考指南 (PDF) - vR570 (旧版本) - 最后更新于 2025 年 1 月 29 日 - 发送反馈