4.20.1. 事件类型
[事件处理方法]
用户可以接收通知的事件类型。 详情请参阅特定功能的描述。
请参阅 nvmlDeviceRegisterEvents 和 nvmlDeviceGetSupportedEventTypes 以检查哪些设备支持每种事件。
当传递给 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
-