NVML API Reference Guide (PDF) - vR550 (older) - Last updated March 12, 2024 - Send Feedback

4.31. NvmlClocksEventReasons

Defines

#define nvmlClocksEventReasonAll
#define nvmlClocksEventReasonApplicationsClocksSetting 0x0000000000000002LL
#define nvmlClocksEventReasonDisplayClockSetting 0x0000000000000100LL
#define nvmlClocksEventReasonGpuIdle 0x0000000000000001LL
#define nvmlClocksEventReasonNone 0x0000000000000000LL
#define nvmlClocksEventReasonSwPowerCap 0x0000000000000004LL
#define nvmlClocksEventReasonSwThermalSlowdown 0x0000000000000020LL
#define nvmlClocksEventReasonSyncBoost 0x0000000000000010LL
#define nvmlClocksThrottleReasonAll nvmlClocksEventReasonAll
#define nvmlClocksThrottleReasonApplicationsClocksSetting
#define nvmlClocksThrottleReasonDisplayClockSetting
#define nvmlClocksThrottleReasonGpuIdle
#define nvmlClocksThrottleReasonHwPowerBrakeSlowdown 0x0000000000000080LL
#define nvmlClocksThrottleReasonHwSlowdown 0x0000000000000008LL
#define nvmlClocksThrottleReasonHwThermalSlowdown 0x0000000000000040LL
#define nvmlClocksThrottleReasonNone
#define nvmlClocksThrottleReasonSwPowerCap
#define nvmlClocksThrottleReasonSwThermalSlowdown
#define nvmlClocksThrottleReasonSyncBoost
#define nvmlClocksThrottleReasonUserDefinedClocks

Defines

#define nvmlClocksEventReasonAll

Bit mask representing all supported clocks throttling reasons New reasons might be added to this list in the future

Value

(nvmlClocksThrottleReasonNone \ | nvmlClocksEventReasonGpuIdle \ | nvmlClocksEventReasonApplicationsClocksSetting \ | nvmlClocksEventReasonSwPowerCap \ | nvmlClocksThrottleReasonHwSlowdown \ | nvmlClocksEventReasonSyncBoost \ | nvmlClocksEventReasonSwThermalSlowdown \ | nvmlClocksThrottleReasonHwThermalSlowdown \ | nvmlClocksThrottleReasonHwPowerBrakeSlowdown \ | nvmlClocksEventReasonDisplayClockSetting \ )

#define nvmlClocksEventReasonApplicationsClocksSetting 0x0000000000000002LL

GPU clocks are limited by current setting of applications clocks

See also:

nvmlDeviceSetApplicationsClocks

nvmlDeviceGetApplicationsClock

#define nvmlClocksEventReasonDisplayClockSetting 0x0000000000000100LL

GPU clocks are limited by current setting of Display clocks

See also:

bug 1997531

#define nvmlClocksEventReasonGpuIdle 0x0000000000000001LL

Nothing is running on the GPU and the clocks are dropping to Idle state

Note:

This limiter may be removed in a later release

#define nvmlClocksEventReasonNone 0x0000000000000000LL

Bit mask representing no clocks throttling

Clocks are as high as possible.

#define nvmlClocksEventReasonSwPowerCap 0x0000000000000004LL

The clocks have been optimized to ensure not to exceed currently set power limits

See also:

nvmlDeviceGetPowerUsage

nvmlDeviceSetPowerManagementLimit

nvmlDeviceGetPowerManagementLimit

#define nvmlClocksEventReasonSwThermalSlowdown 0x0000000000000020LL

SW Thermal Slowdown

The current clocks have been optimized to ensure the the following is true:

  • Current GPU temperature does not exceed GPU Max Operating Temperature

  • Current memory temperature does not exceeed Memory Max Operating Temperature

#define nvmlClocksEventReasonSyncBoost 0x0000000000000010LL

Sync Boost

This GPU has been added to a Sync boost group with nvidia-smi or DCGM in order to maximize performance per watt. All GPUs in the sync boost group will boost to the minimum possible clocks across the entire group. Look at the throttle reasons for other GPUs in the system to see why those GPUs are holding this one at lower clocks.

#define nvmlClocksThrottleReasonAll nvmlClocksEventReasonAll
#define nvmlClocksThrottleReasonApplicationsClocksSetting
Value

nvmlClocksEventReasonApplicationsClocksSetting

#define nvmlClocksThrottleReasonDisplayClockSetting
Value

nvmlClocksEventReasonDisplayClockSetting

#define nvmlClocksThrottleReasonGpuIdle
Value

nvmlClocksEventReasonGpuIdle

#define nvmlClocksThrottleReasonHwPowerBrakeSlowdown 0x0000000000000080LL

HW Power Brake Slowdown (reducing the core clocks by a factor of 2 or more) is engaged

This is an indicator of:

  • External Power Brake Assertion being triggered (e.g. by the system power supply)

See also:

nvmlDeviceGetTemperature

nvmlDeviceGetTemperatureThreshold

nvmlDeviceGetPowerUsage

#define nvmlClocksThrottleReasonHwSlowdown 0x0000000000000008LL

HW Slowdown (reducing the core clocks by a factor of 2 or more) is engaged

This is an indicator of:

  • temperature being too high

  • External Power Brake Assertion is triggered (e.g. by the system power supply)

  • Power draw is too high and Fast Trigger protection is reducing the clocks

  • May be also reported during PState or clock change
    • This behavior may be removed in a later release.

See also:

nvmlDeviceGetTemperature

nvmlDeviceGetTemperatureThreshold

nvmlDeviceGetPowerUsage

#define nvmlClocksThrottleReasonHwThermalSlowdown 0x0000000000000040LL

HW Thermal Slowdown (reducing the core clocks by a factor of 2 or more) is engaged

This is an indicator of:

  • temperature being too high

See also:

nvmlDeviceGetTemperature

nvmlDeviceGetTemperatureThreshold

nvmlDeviceGetPowerUsage

#define nvmlClocksThrottleReasonNone
Value

nvmlClocksEventReasonNone

#define nvmlClocksThrottleReasonSwPowerCap
Value

nvmlClocksEventReasonSwPowerCap

#define nvmlClocksThrottleReasonSwThermalSlowdown
Value

nvmlClocksEventReasonSwThermalSlowdown

#define nvmlClocksThrottleReasonSyncBoost
Value

nvmlClocksEventReasonSyncBoost

#define nvmlClocksThrottleReasonUserDefinedClocks
Deprecated

Renamed to nvmlClocksThrottleReasonApplicationsClocksSetting as the name describes the situation more accurately.

Value

nvmlClocksEventReasonApplicationsClocksSetting


NVML API Reference Guide (PDF) - vR550 (older) - Last updated March 12, 2024 - Send Feedback