NVML API Reference Guide (PDF) - vR470 (older) - Last updated July 29, 2021 - Send Feedback

2.29. NvmlClocksThrottleReasons

Defines

#define nvmlClocksThrottleReasonAll
#define nvmlClocksThrottleReasonApplicationsClocksSetting 0x0000000000000002LL
#define nvmlClocksThrottleReasonDisplayClockSetting 0x0000000000000100LL
#define nvmlClocksThrottleReasonGpuIdle 0x0000000000000001LL
#define nvmlClocksThrottleReasonHwPowerBrakeSlowdown 0x0000000000000080LL
#define nvmlClocksThrottleReasonHwSlowdown 0x0000000000000008LL
#define nvmlClocksThrottleReasonHwThermalSlowdown 0x0000000000000040LL
#define nvmlClocksThrottleReasonNone 0x0000000000000000LL
#define nvmlClocksThrottleReasonSwPowerCap 0x0000000000000004LL
#define nvmlClocksThrottleReasonSwThermalSlowdown 0x0000000000000020LL
#define nvmlClocksThrottleReasonSyncBoost 0x0000000000000010LL
#define nvmlClocksThrottleReasonUserDefinedClocks

Defines

#define nvmlClocksThrottleReasonAll

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

Value

(nvmlClocksThrottleReasonNone \ | nvmlClocksThrottleReasonGpuIdle \ | nvmlClocksThrottleReasonApplicationsClocksSetting \ | nvmlClocksThrottleReasonSwPowerCap \ | nvmlClocksThrottleReasonHwSlowdown \ | nvmlClocksThrottleReasonSyncBoost \ | nvmlClocksThrottleReasonSwThermalSlowdown \ | nvmlClocksThrottleReasonHwThermalSlowdown \ | nvmlClocksThrottleReasonHwPowerBrakeSlowdown \ | nvmlClocksThrottleReasonDisplayClockSetting \ )

#define nvmlClocksThrottleReasonApplicationsClocksSetting 0x0000000000000002LL

GPU clocks are limited by current setting of applications clocks

See also:

nvmlDeviceSetApplicationsClocks

nvmlDeviceGetApplicationsClock

#define nvmlClocksThrottleReasonDisplayClockSetting 0x0000000000000100LL

GPU clocks are limited by current setting of Display clocks

See also:

bug 1997531

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

nvmlDeviceGetPowerUsage

nvmlDeviceSetPowerManagementLimit

nvmlDeviceGetPowerManagementLimit

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

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

Value

nvmlClocksThrottleReasonApplicationsClocksSetting


NVML API Reference Guide (PDF) - vR470 (older) - Last updated July 29, 2021 - Send Feedback