NVAPI Reference Documentation
NVIDIA
Release 550
Wed Apr 17 2024

Data Structures | Macros | Typedefs | Enumerations | Functions
GPU Thermal Control Interface

Data Structures

struct  NV_GPU_THERMAL_SETTINGS_V1
 
struct  NV_GPU_THERMAL_SETTINGS_V2
 

Macros

#define NVAPI_MAX_THERMAL_SENSORS_PER_GPU   3
 

Typedefs

typedef NV_GPU_THERMAL_SETTINGS_V2 NV_GPU_THERMAL_SETTINGS
 

Enumerations

enum  NV_THERMAL_TARGET {
  NVAPI_THERMAL_TARGET_NONE = 0 , NVAPI_THERMAL_TARGET_GPU = 1 , NVAPI_THERMAL_TARGET_MEMORY = 2 , NVAPI_THERMAL_TARGET_POWER_SUPPLY = 4 ,
  NVAPI_THERMAL_TARGET_BOARD = 8 , NVAPI_THERMAL_TARGET_VCD_BOARD = 9 , NVAPI_THERMAL_TARGET_VCD_INLET = 10 , NVAPI_THERMAL_TARGET_VCD_OUTLET = 11 ,
  NVAPI_THERMAL_TARGET_ALL = 15 , NVAPI_THERMAL_TARGET_UNKNOWN = -1
}
 
enum  NV_THERMAL_CONTROLLER {
  NVAPI_THERMAL_CONTROLLER_NONE = 0 , NVAPI_THERMAL_CONTROLLER_GPU_INTERNAL , NVAPI_THERMAL_CONTROLLER_ADM1032 , NVAPI_THERMAL_CONTROLLER_MAX6649 ,
  NVAPI_THERMAL_CONTROLLER_MAX1617 , NVAPI_THERMAL_CONTROLLER_LM99 , NVAPI_THERMAL_CONTROLLER_LM89 , NVAPI_THERMAL_CONTROLLER_LM64 ,
  NVAPI_THERMAL_CONTROLLER_ADT7473 , NVAPI_THERMAL_CONTROLLER_SBMAX6649 , NVAPI_THERMAL_CONTROLLER_VBIOSEVT , NVAPI_THERMAL_CONTROLLER_OS ,
  NVAPI_THERMAL_CONTROLLER_UNKNOWN = -1
}
 

Functions

NVAPI_INTERFACE NvAPI_GPU_GetThermalSettings (NvPhysicalGpuHandle hPhysicalGpu, NvU32 sensorIndex, NV_GPU_THERMAL_SETTINGS *pThermalSettings)
 
#define NV_GPU_THERMAL_SETTINGS_VER_1   MAKE_NVAPI_VERSION(NV_GPU_THERMAL_SETTINGS_V1,1)
 
#define NV_GPU_THERMAL_SETTINGS_VER_2   MAKE_NVAPI_VERSION(NV_GPU_THERMAL_SETTINGS_V2,2)
 
#define NV_GPU_THERMAL_SETTINGS_VER   NV_GPU_THERMAL_SETTINGS_VER_2
 

Detailed Description

The GPU thermal control APIs are used to get temperature levels from the various thermal sensors associated with the GPU.

Macro Definition Documentation

◆ NV_GPU_THERMAL_SETTINGS_VER

#define NV_GPU_THERMAL_SETTINGS_VER   NV_GPU_THERMAL_SETTINGS_VER_2

Macro for constructing the version field of NV_GPU_THERMAL_SETTINGS.

◆ NV_GPU_THERMAL_SETTINGS_VER_1

#define NV_GPU_THERMAL_SETTINGS_VER_1   MAKE_NVAPI_VERSION(NV_GPU_THERMAL_SETTINGS_V1,1)

Macro for constructing the version field of NV_GPU_THERMAL_SETTINGS_V1.

◆ NV_GPU_THERMAL_SETTINGS_VER_2

#define NV_GPU_THERMAL_SETTINGS_VER_2   MAKE_NVAPI_VERSION(NV_GPU_THERMAL_SETTINGS_V2,2)

Macro for constructing the version field of NV_GPU_THERMAL_SETTINGS_V2.

◆ NVAPI_MAX_THERMAL_SENSORS_PER_GPU

#define NVAPI_MAX_THERMAL_SENSORS_PER_GPU   3

Typedef Documentation

◆ NV_GPU_THERMAL_SETTINGS

Enumeration Type Documentation

◆ NV_THERMAL_CONTROLLER

Used in NV_GPU_THERMAL_SETTINGS

Enumerator
NVAPI_THERMAL_CONTROLLER_NONE 
NVAPI_THERMAL_CONTROLLER_GPU_INTERNAL 
NVAPI_THERMAL_CONTROLLER_ADM1032 
NVAPI_THERMAL_CONTROLLER_MAX6649 
NVAPI_THERMAL_CONTROLLER_MAX1617 
NVAPI_THERMAL_CONTROLLER_LM99 
NVAPI_THERMAL_CONTROLLER_LM89 
NVAPI_THERMAL_CONTROLLER_LM64 
NVAPI_THERMAL_CONTROLLER_ADT7473 
NVAPI_THERMAL_CONTROLLER_SBMAX6649 
NVAPI_THERMAL_CONTROLLER_VBIOSEVT 
NVAPI_THERMAL_CONTROLLER_OS 
NVAPI_THERMAL_CONTROLLER_UNKNOWN 

◆ NV_THERMAL_TARGET

Used in NV_GPU_THERMAL_SETTINGS

Enumerator
NVAPI_THERMAL_TARGET_NONE 
NVAPI_THERMAL_TARGET_GPU 

GPU core temperature requires NvPhysicalGpuHandle.

NVAPI_THERMAL_TARGET_MEMORY 

GPU memory temperature requires NvPhysicalGpuHandle.

NVAPI_THERMAL_TARGET_POWER_SUPPLY 

GPU power supply temperature requires NvPhysicalGpuHandle.

NVAPI_THERMAL_TARGET_BOARD 

GPU board ambient temperature requires NvPhysicalGpuHandle.

NVAPI_THERMAL_TARGET_VCD_BOARD 

Visual Computing Device Board temperature requires NvVisualComputingDeviceHandle.

NVAPI_THERMAL_TARGET_VCD_INLET 

Visual Computing Device Inlet temperature requires NvVisualComputingDeviceHandle.

NVAPI_THERMAL_TARGET_VCD_OUTLET 

Visual Computing Device Outlet temperature requires NvVisualComputingDeviceHandle.

NVAPI_THERMAL_TARGET_ALL 
NVAPI_THERMAL_TARGET_UNKNOWN 

Function Documentation

◆ NvAPI_GPU_GetThermalSettings()

NVAPI_INTERFACE NvAPI_GPU_GetThermalSettings ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32  sensorIndex,
NV_GPU_THERMAL_SETTINGS pThermalSettings 
)

This function retrieves the thermal information of all thermal sensors or specific thermal sensor associated with the selected GPU. Thermal sensors are indexed 0 to NVAPI_MAX_THERMAL_SENSORS_PER_GPU-1.

  • To retrieve specific thermal sensor info, set the sensorIndex to the required thermal sensor index.
  • To retrieve info for all sensors, set sensorIndex to NVAPI_THERMAL_TARGET_ALL.

SUPPORTED OS: Windows 10 and higher

TCC_SUPPORTED

Since
Release: 85
Parameters
[in]hPhysicalGPUGPU selection.
[in]sensorIndexExplicit thermal sensor index selection.
[out]pThermalSettingsArray of thermal settings.
Return values
NVAPI_OKCompleted request
NVAPI_ERRORMiscellaneous error occurred.
NVAPI_INVALID_ARGUMENTpThermalInfo is NULL.
NVAPI_HANDLE_INVALIDATEDHandle passed has been invalidated (see user guide).
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEHandle passed is not a physical GPU handle.
NVAPI_INCOMPATIBLE_STRUCT_VERSIONThe version of the INFO struct is not supported.