4.20.1. Event Types
[Event Handling Methods]
Event Types which user can be notified about. See description of particular functions for details.
See nvmlDeviceRegisterEvents and nvmlDeviceGetSupportedEventTypes to check which devices support each event.
Types can be combined with bitwise or operator '|' when passed to nvmlDeviceRegisterEvents
Defines
- #define nvmlEventMigConfigChange 0x0000000000000100LL
- Event about MIG configuration changes.
- #define nvmlEventTypeAll
- Mask of all events.
- #define nvmlEventTypeClock 0x0000000000000010LL
- Event about clock changes.
- #define nvmlEventTypeDoubleBitEccError 0x0000000000000002LL
- Event about double bit ECC errors.
- #define nvmlEventTypeDramRetirementEvent 0x0000000000000400LL
- Event about DRAM retirement event.
- #define nvmlEventTypeDramRetirementFailure 0x0000000000000800LL
- Event about DRAM retirement failure.
- #define nvmlEventTypeFatalPoisonError 0x0000000000002000LL
- Event for Fatal Poison.
- #define nvmlEventTypeNonFatalPoisonError 0x0000000000001000LL
- Event for Non Fatal Poison.
- #define nvmlEventTypeNone 0x0000000000000000LL
- Mask with no events.
- #define nvmlEventTypePState 0x0000000000000004LL
- Event about PState changes.
- #define nvmlEventTypePowerSourceChange 0x0000000000000080LL
- Event about AC/Battery power source changes.
- #define nvmlEventTypeSingleBitEccError 0x0000000000000001LL
- Event about single bit ECC errors.
- #define nvmlEventTypeSingleBitEccErrorStorm 0x0000000000000200LL
- Event about single bit ECC error storm.
- #define nvmlEventTypeXidCriticalError 0x0000000000000008LL
- Event that Xid critical error occurred.
Defines
- #define nvmlEventMigConfigChange 0x0000000000000100LL
-
- #define nvmlEventTypeAll
-
Value
(nvmlEventTypeNone \ | nvmlEventTypeSingleBitEccError \ | nvmlEventTypeDoubleBitEccError \ | nvmlEventTypePState \ | nvmlEventTypeClock \ | nvmlEventTypeXidCriticalError \ | nvmlEventTypePowerSourceChange \ | nvmlEventMigConfigChange \ | nvmlEventTypeSingleBitEccErrorStorm \ | nvmlEventTypeDramRetirementEvent \ | nvmlEventTypeDramRetirementFailure \ | nvmlEventTypeNonFatalPoisonError \ | nvmlEventTypeFatalPoisonError \ )
- #define nvmlEventTypeClock 0x0000000000000010LL
-
Kepler only
- #define nvmlEventTypeDoubleBitEccError 0x0000000000000002LL
-
Note:
An uncorrected texture memory error is not an ECC error, so it does not generate a double bit event
- #define nvmlEventTypeDramRetirementEvent 0x0000000000000400LL
-
- #define nvmlEventTypeDramRetirementFailure 0x0000000000000800LL
-
- #define nvmlEventTypeFatalPoisonError 0x0000000000002000LL
-
- #define nvmlEventTypeNonFatalPoisonError 0x0000000000001000LL
-
- #define nvmlEventTypeNone 0x0000000000000000LL
-
- #define nvmlEventTypePState 0x0000000000000004LL
-
Note:
On Fermi architecture PState changes are also an indicator that GPU is throttling down due to no work being executed on the GPU, power capping or thermal capping. In a typical situation, Fermi-based GPU should stay in P0 for the duration of the execution of the compute process.
- #define nvmlEventTypePowerSourceChange 0x0000000000000080LL
-
- #define nvmlEventTypeSingleBitEccError 0x0000000000000001LL
-
Note:
A corrected texture memory error is not an ECC error, so it does not generate a single bit event
- #define nvmlEventTypeSingleBitEccErrorStorm 0x0000000000000200LL
-
- #define nvmlEventTypeXidCriticalError 0x0000000000000008LL
-