NVML API Reference Guide (PDF) - vR384 (older) - Last updated October 31, 2017 - Send Feedback

2.26. NvmlClocksThrottleReasons


#define nvmlClocksThrottleReasonAll
#define nvmlClocksThrottleReasonApplicationsClocksSetting 0x0000000000000002LL
#define nvmlClocksThrottleReasonGpuIdle 0x0000000000000001LL
#define nvmlClocksThrottleReasonHwSlowdown 0x0000000000000008LL
#define nvmlClocksThrottleReasonNone 0x0000000000000000LL
#define nvmlClocksThrottleReasonSwPowerCap 0x0000000000000004LL
#define nvmlClocksThrottleReasonSwThermalSlowdown 0x0000000000000020LL
#define nvmlClocksThrottleReasonSyncBoost 0x0000000000000010LL
#define nvmlClocksThrottleReasonUserDefinedClocks


#define nvmlClocksThrottleReasonAll

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


(nvmlClocksThrottleReasonNone \ | nvmlClocksThrottleReasonGpuIdle \ | nvmlClocksThrottleReasonApplicationsClocksSetting \ | nvmlClocksThrottleReasonSwPowerCap \ | nvmlClocksThrottleReasonHwSlowdown \ | nvmlClocksThrottleReasonSyncBoost \ | nvmlClocksThrottleReasonSwThermalSlowdown \ )

#define nvmlClocksThrottleReasonApplicationsClocksSetting 0x0000000000000002LL

GPU clocks are limited by current setting of applications clocks

See also:



#define nvmlClocksThrottleReasonGpuIdle 0x0000000000000001LL

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


This limiter may be removed in a later release

#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:




#define nvmlClocksThrottleReasonNone 0x0000000000000000LL

Bit mask representing no clocks throttling

Clocks are as high as possible.

#define nvmlClocksThrottleReasonSwPowerCap 0x0000000000000004LL

SW Power Scaling algorithm is reducing the clocks below requested clocks

See also:




#define nvmlClocksThrottleReasonSwThermalSlowdown 0x0000000000000020LL

SW Thermal Slowdown

This is an indicator of one or more of the following:

  • Current GPU temperature above the GPU Max Operating Temperature

  • Current memory temperature above the Memory Max Operating Temperature

#define nvmlClocksThrottleReasonSyncBoost 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 nvmlClocksThrottleReasonUserDefinedClocks

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



NVML API Reference Guide (PDF) - vR384 (older) - Last updated October 31, 2017 - Send Feedback