amdsmi_gpu_metrics_t Struct Reference

amdsmi_gpu_metrics_t Struct Reference#

AMD SMI: amdsmi_gpu_metrics_t Struct Reference
amdsmi_gpu_metrics_t Struct Reference

Structure holds the gpu metrics values for a device. More...

#include <amdsmi.h>

Data Fields

amd_metrics_table_header_t common_header
 
uint16_t temperature_edge
 v1.0 Base
 
uint16_t temperature_hotspot
 
uint16_t temperature_mem
 
uint16_t temperature_vrgfx
 
uint16_t temperature_vrsoc
 
uint16_t temperature_vrmem
 
uint16_t average_gfx_activity
 Average Utilization (in %)
 
uint16_t average_umc_activity
 memory controller
 
uint16_t average_mm_activity
 UVD or VCN.
 
uint16_t average_socket_power
 Power (W) /Energy (15.259uJ per 1ns)
 
uint64_t energy_accumulator
 v1 mod. (32->64)
 
uint64_t system_clock_counter
 Driver attached timestamp (in ns)
 
uint16_t average_gfxclk_frequency
 Average clocks (MHz)
 
uint16_t average_socclk_frequency
 
uint16_t average_uclk_frequency
 
uint16_t average_vclk0_frequency
 
uint16_t average_dclk0_frequency
 
uint16_t average_vclk1_frequency
 
uint16_t average_dclk1_frequency
 
uint16_t current_gfxclk
 Current clocks (MHz)
 
uint16_t current_socclk
 
uint16_t current_uclk
 
uint16_t current_vclk0
 
uint16_t current_dclk0
 
uint16_t current_vclk1
 
uint16_t current_dclk1
 
uint32_t throttle_status
 Throttle status.
 
uint16_t current_fan_speed
 Fans (RPM)
 
uint16_t pcie_link_width
 Link width (number of lanes) /speed (0.1 GT/s)
 
uint16_t pcie_link_speed
 in 0.1 GT/s; v1 mod. (8->16)
 
uint32_t gfx_activity_acc
 new in v1
 
uint32_t mem_activity_acc
 new in v1
 
uint16_t temperature_hbm [AMDSMI_NUM_HBM_INSTANCES]
 new in v1
 
uint64_t firmware_timestamp
 PMFW attached timestamp (10ns resolution)
 
uint16_t voltage_soc
 In mV.
 
uint16_t voltage_gfx
 In mV.
 
uint16_t voltage_mem
 In mV.
 
uint64_t indep_throttle_status
 Throttle status.
 
uint16_t current_socket_power
 In Watts.
 
uint16_t vcn_activity [AMDSMI_MAX_NUM_VCN]
 Utilization (%)
 
uint32_t gfxclk_lock_status
 Clock Lock Status. Each bit corresponds to clock instance.
 
uint16_t xgmi_link_width
 XGMI bus width in GB/s.
 
uint16_t xgmi_link_speed
 XGMI bus bitrate in GB/s.
 
uint64_t pcie_bandwidth_acc
 PCIE accumulated bandwidth (GB/sec)
 
uint64_t pcie_bandwidth_inst
 PCIE instantaneous bandwidth (GB/sec)
 
uint64_t pcie_l0_to_recov_count_acc
 PCIE L0 to recovery state transition accumulated count.
 
uint64_t pcie_replay_count_acc
 PCIE replay accumulated count.
 
uint64_t pcie_replay_rover_count_acc
 PCIE replay rollover accumulated count.
 
uint64_t xgmi_read_data_acc [AMDSMI_MAX_NUM_XGMI_LINKS]
 XGMI accumulated data transfer size(KiloBytes)
 
uint64_t xgmi_write_data_acc [AMDSMI_MAX_NUM_XGMI_LINKS]
 In KB.
 
uint16_t current_gfxclks [AMDSMI_MAX_NUM_GFX_CLKS]
 XGMI current data transfer size(KiloBytes)
 
uint16_t current_socclks [AMDSMI_MAX_NUM_CLKS]
 In KB.
 
uint16_t current_vclk0s [AMDSMI_MAX_NUM_CLKS]
 In KB.
 
uint16_t current_dclk0s [AMDSMI_MAX_NUM_CLKS]
 In KB.
 
uint16_t jpeg_activity [AMDSMI_MAX_NUM_JPEG]
 v1.5 additions
 
uint32_t pcie_nak_sent_count_acc
 PCIE NAK sent accumulated count.
 
uint32_t pcie_nak_rcvd_count_acc
 PCIE NAK received accumulated count.
 
uint64_t accumulation_counter
 v1.6 additions
 
uint64_t prochot_residency_acc
 Accumulated throttler residencies.
 
uint64_t ppt_residency_acc
 Accumulated throttler residencies.
 
uint64_t socket_thm_residency_acc
 Accumulated throttler residencies.
 
uint64_t vr_thm_residency_acc
 
uint64_t hbm_thm_residency_acc
 
uint16_t num_partition
 Number of current partition.
 
amdsmi_gpu_xcp_metrics_t xcp_stats [AMDSMI_MAX_NUM_XCP]
 XCP (Graphic Cluster Partitions) metrics stats.
 
uint32_t pcie_lc_perf_other_end_recovery
 PCIE other end recovery counter.
 
uint64_t vram_max_bandwidth
 v1.7 additions
 
uint16_t xgmi_link_status [AMDSMI_MAX_NUM_XGMI_LINKS]
 XGMI link status(up/down)
 

Detailed Description

Structure holds the gpu metrics values for a device.

This structure is extended to fit the needs of different GPU metric versions when exposing data through the structure. Depending on the version, some data members will hold data, and some will not. A good example is the set of 'current clocks': current_gfxclk, current_socclk, current_vclk0, current_dclk0. These are single-valued data members, up to version 1.3. For version 1.4 and up these are multi-valued data members (arrays) and their counterparts; current_gfxclks[], current_socclks[], current_vclk0s[], current_dclk0s[], will hold the data

Definition at line 1831 of file amdsmi.h.

Field Documentation

◆ common_header

amd_metrics_table_header_t amdsmi_gpu_metrics_t::common_header

Definition at line 1832 of file amdsmi.h.

◆ temperature_edge

uint16_t amdsmi_gpu_metrics_t::temperature_edge

v1.0 Base

Temperature in C

Definition at line 1839 of file amdsmi.h.

◆ temperature_hotspot

uint16_t amdsmi_gpu_metrics_t::temperature_hotspot

Definition at line 1840 of file amdsmi.h.

◆ temperature_mem

uint16_t amdsmi_gpu_metrics_t::temperature_mem

Definition at line 1841 of file amdsmi.h.

◆ temperature_vrgfx

uint16_t amdsmi_gpu_metrics_t::temperature_vrgfx

Definition at line 1842 of file amdsmi.h.

◆ temperature_vrsoc

uint16_t amdsmi_gpu_metrics_t::temperature_vrsoc

Definition at line 1843 of file amdsmi.h.

◆ temperature_vrmem

uint16_t amdsmi_gpu_metrics_t::temperature_vrmem

Definition at line 1844 of file amdsmi.h.

◆ average_gfx_activity

uint16_t amdsmi_gpu_metrics_t::average_gfx_activity

Average Utilization (in %)

gfx

Definition at line 1849 of file amdsmi.h.

◆ average_umc_activity

uint16_t amdsmi_gpu_metrics_t::average_umc_activity

memory controller

Definition at line 1850 of file amdsmi.h.

◆ average_mm_activity

uint16_t amdsmi_gpu_metrics_t::average_mm_activity

UVD or VCN.

Definition at line 1851 of file amdsmi.h.

◆ average_socket_power

uint16_t amdsmi_gpu_metrics_t::average_socket_power

Power (W) /Energy (15.259uJ per 1ns)

Definition at line 1856 of file amdsmi.h.

◆ energy_accumulator

uint64_t amdsmi_gpu_metrics_t::energy_accumulator

v1 mod. (32->64)

Definition at line 1857 of file amdsmi.h.

◆ system_clock_counter

uint64_t amdsmi_gpu_metrics_t::system_clock_counter

Driver attached timestamp (in ns)

v1 mod. (moved from top of struct)

Definition at line 1860 of file amdsmi.h.

◆ average_gfxclk_frequency

uint16_t amdsmi_gpu_metrics_t::average_gfxclk_frequency

Average clocks (MHz)

Definition at line 1865 of file amdsmi.h.

◆ average_socclk_frequency

uint16_t amdsmi_gpu_metrics_t::average_socclk_frequency

Definition at line 1866 of file amdsmi.h.

◆ average_uclk_frequency

uint16_t amdsmi_gpu_metrics_t::average_uclk_frequency

Definition at line 1867 of file amdsmi.h.

◆ average_vclk0_frequency

uint16_t amdsmi_gpu_metrics_t::average_vclk0_frequency

Definition at line 1868 of file amdsmi.h.

◆ average_dclk0_frequency

uint16_t amdsmi_gpu_metrics_t::average_dclk0_frequency

Definition at line 1869 of file amdsmi.h.

◆ average_vclk1_frequency

uint16_t amdsmi_gpu_metrics_t::average_vclk1_frequency

Definition at line 1870 of file amdsmi.h.

◆ average_dclk1_frequency

uint16_t amdsmi_gpu_metrics_t::average_dclk1_frequency

Definition at line 1871 of file amdsmi.h.

◆ current_gfxclk

uint16_t amdsmi_gpu_metrics_t::current_gfxclk

Current clocks (MHz)

Definition at line 1876 of file amdsmi.h.

◆ current_socclk

uint16_t amdsmi_gpu_metrics_t::current_socclk

Definition at line 1877 of file amdsmi.h.

◆ current_uclk

uint16_t amdsmi_gpu_metrics_t::current_uclk

Definition at line 1878 of file amdsmi.h.

◆ current_vclk0

uint16_t amdsmi_gpu_metrics_t::current_vclk0

Definition at line 1879 of file amdsmi.h.

◆ current_dclk0

uint16_t amdsmi_gpu_metrics_t::current_dclk0

Definition at line 1880 of file amdsmi.h.

◆ current_vclk1

uint16_t amdsmi_gpu_metrics_t::current_vclk1

Definition at line 1881 of file amdsmi.h.

◆ current_dclk1

uint16_t amdsmi_gpu_metrics_t::current_dclk1

Definition at line 1882 of file amdsmi.h.

◆ throttle_status

uint32_t amdsmi_gpu_metrics_t::throttle_status

Throttle status.

Definition at line 1884 of file amdsmi.h.

◆ current_fan_speed

uint16_t amdsmi_gpu_metrics_t::current_fan_speed

Fans (RPM)

Definition at line 1886 of file amdsmi.h.

◆ pcie_link_width

uint16_t amdsmi_gpu_metrics_t::pcie_link_width

Link width (number of lanes) /speed (0.1 GT/s)

v1 mod.(8->16)

Definition at line 1891 of file amdsmi.h.

◆ pcie_link_speed

uint16_t amdsmi_gpu_metrics_t::pcie_link_speed

in 0.1 GT/s; v1 mod. (8->16)

Definition at line 1892 of file amdsmi.h.

◆ gfx_activity_acc

uint32_t amdsmi_gpu_metrics_t::gfx_activity_acc

new in v1

Definition at line 1897 of file amdsmi.h.

◆ mem_activity_acc

uint32_t amdsmi_gpu_metrics_t::mem_activity_acc

new in v1

Definition at line 1898 of file amdsmi.h.

◆ temperature_hbm

uint16_t amdsmi_gpu_metrics_t::temperature_hbm[AMDSMI_NUM_HBM_INSTANCES]

new in v1

Definition at line 1899 of file amdsmi.h.

◆ firmware_timestamp

uint64_t amdsmi_gpu_metrics_t::firmware_timestamp

PMFW attached timestamp (10ns resolution)

Definition at line 1904 of file amdsmi.h.

◆ voltage_soc

uint16_t amdsmi_gpu_metrics_t::voltage_soc

In mV.

Definition at line 1909 of file amdsmi.h.

◆ voltage_gfx

uint16_t amdsmi_gpu_metrics_t::voltage_gfx

In mV.

Definition at line 1910 of file amdsmi.h.

◆ voltage_mem

uint16_t amdsmi_gpu_metrics_t::voltage_mem

In mV.

Definition at line 1911 of file amdsmi.h.

◆ indep_throttle_status

uint64_t amdsmi_gpu_metrics_t::indep_throttle_status

Throttle status.

Definition at line 1913 of file amdsmi.h.

◆ current_socket_power

uint16_t amdsmi_gpu_metrics_t::current_socket_power

In Watts.

Definition at line 1918 of file amdsmi.h.

◆ vcn_activity

uint16_t amdsmi_gpu_metrics_t::vcn_activity[AMDSMI_MAX_NUM_VCN]

Utilization (%)

Definition at line 1920 of file amdsmi.h.

◆ gfxclk_lock_status

uint32_t amdsmi_gpu_metrics_t::gfxclk_lock_status

Clock Lock Status. Each bit corresponds to clock instance.

Definition at line 1922 of file amdsmi.h.

◆ xgmi_link_width

uint16_t amdsmi_gpu_metrics_t::xgmi_link_width

XGMI bus width in GB/s.

Definition at line 1924 of file amdsmi.h.

◆ xgmi_link_speed

uint16_t amdsmi_gpu_metrics_t::xgmi_link_speed

XGMI bus bitrate in GB/s.

Definition at line 1925 of file amdsmi.h.

◆ pcie_bandwidth_acc

uint64_t amdsmi_gpu_metrics_t::pcie_bandwidth_acc

PCIE accumulated bandwidth (GB/sec)

Definition at line 1927 of file amdsmi.h.

◆ pcie_bandwidth_inst

uint64_t amdsmi_gpu_metrics_t::pcie_bandwidth_inst

PCIE instantaneous bandwidth (GB/sec)

Definition at line 1928 of file amdsmi.h.

◆ pcie_l0_to_recov_count_acc

uint64_t amdsmi_gpu_metrics_t::pcie_l0_to_recov_count_acc

PCIE L0 to recovery state transition accumulated count.

Definition at line 1929 of file amdsmi.h.

◆ pcie_replay_count_acc

uint64_t amdsmi_gpu_metrics_t::pcie_replay_count_acc

PCIE replay accumulated count.

Definition at line 1930 of file amdsmi.h.

◆ pcie_replay_rover_count_acc

uint64_t amdsmi_gpu_metrics_t::pcie_replay_rover_count_acc

PCIE replay rollover accumulated count.

Definition at line 1931 of file amdsmi.h.

◆ xgmi_read_data_acc

uint64_t amdsmi_gpu_metrics_t::xgmi_read_data_acc[AMDSMI_MAX_NUM_XGMI_LINKS]

XGMI accumulated data transfer size(KiloBytes)

In KB

Definition at line 1936 of file amdsmi.h.

◆ xgmi_write_data_acc

uint64_t amdsmi_gpu_metrics_t::xgmi_write_data_acc[AMDSMI_MAX_NUM_XGMI_LINKS]

In KB.

Definition at line 1937 of file amdsmi.h.

◆ current_gfxclks

uint16_t amdsmi_gpu_metrics_t::current_gfxclks[AMDSMI_MAX_NUM_GFX_CLKS]

XGMI current data transfer size(KiloBytes)

In KB

Definition at line 1942 of file amdsmi.h.

◆ current_socclks

uint16_t amdsmi_gpu_metrics_t::current_socclks[AMDSMI_MAX_NUM_CLKS]

In KB.

Definition at line 1943 of file amdsmi.h.

◆ current_vclk0s

uint16_t amdsmi_gpu_metrics_t::current_vclk0s[AMDSMI_MAX_NUM_CLKS]

In KB.

Definition at line 1944 of file amdsmi.h.

◆ current_dclk0s

uint16_t amdsmi_gpu_metrics_t::current_dclk0s[AMDSMI_MAX_NUM_CLKS]

In KB.

Definition at line 1945 of file amdsmi.h.

◆ jpeg_activity

uint16_t amdsmi_gpu_metrics_t::jpeg_activity[AMDSMI_MAX_NUM_JPEG]

v1.5 additions

JPEG activity percent (encode/decode)

Definition at line 1950 of file amdsmi.h.

◆ pcie_nak_sent_count_acc

uint32_t amdsmi_gpu_metrics_t::pcie_nak_sent_count_acc

PCIE NAK sent accumulated count.

Definition at line 1951 of file amdsmi.h.

◆ pcie_nak_rcvd_count_acc

uint32_t amdsmi_gpu_metrics_t::pcie_nak_rcvd_count_acc

PCIE NAK received accumulated count.

Definition at line 1952 of file amdsmi.h.

◆ accumulation_counter

uint64_t amdsmi_gpu_metrics_t::accumulation_counter

v1.6 additions

Accumulation cycle counter

Definition at line 1957 of file amdsmi.h.

◆ prochot_residency_acc

uint64_t amdsmi_gpu_metrics_t::prochot_residency_acc

Accumulated throttler residencies.

Definition at line 1962 of file amdsmi.h.

◆ ppt_residency_acc

uint64_t amdsmi_gpu_metrics_t::ppt_residency_acc

Accumulated throttler residencies.

Prochot (thermal) - PPT (power) Package Power Tracking (PPT) violation % (greater than 0% is a violation); aka PVIOL

Ex. PVIOL/TVIOL calculations Where A and B are measurments recorded at prior points in time. Typically A is the earlier measured value and B is the latest measured value.

PVIOL % = (PptResidencyAcc (B) - PptResidencyAcc (A)) * 100/ (AccumulationCounter (B) - AccumulationCounter (A)) TVIOL % = (SocketThmResidencyAcc (B) - SocketThmResidencyAcc (A)) * 100 / (AccumulationCounter (B) - AccumulationCounter (A))

Definition at line 1978 of file amdsmi.h.

◆ socket_thm_residency_acc

uint64_t amdsmi_gpu_metrics_t::socket_thm_residency_acc

Accumulated throttler residencies.

Socket (thermal) - Socket thermal violation % (greater than 0% is a violation); aka TVIOL

Ex. PVIOL/TVIOL calculations Where A and B are measurments recorded at prior points in time. Typically A is the earlier measured value and B is the latest measured value.

PVIOL % = (PptResidencyAcc (B) - PptResidencyAcc (A)) * 100/ (AccumulationCounter (B) - AccumulationCounter (A)) TVIOL % = (SocketThmResidencyAcc (B) - SocketThmResidencyAcc (A)) * 100 / (AccumulationCounter (B) - AccumulationCounter (A))

Definition at line 1994 of file amdsmi.h.

◆ vr_thm_residency_acc

uint64_t amdsmi_gpu_metrics_t::vr_thm_residency_acc

Definition at line 1995 of file amdsmi.h.

◆ hbm_thm_residency_acc

uint64_t amdsmi_gpu_metrics_t::hbm_thm_residency_acc

Definition at line 1996 of file amdsmi.h.

◆ num_partition

uint16_t amdsmi_gpu_metrics_t::num_partition

Number of current partition.

Definition at line 1998 of file amdsmi.h.

◆ xcp_stats

amdsmi_gpu_xcp_metrics_t amdsmi_gpu_metrics_t::xcp_stats[AMDSMI_MAX_NUM_XCP]

XCP (Graphic Cluster Partitions) metrics stats.

Definition at line 2000 of file amdsmi.h.

◆ pcie_lc_perf_other_end_recovery

uint32_t amdsmi_gpu_metrics_t::pcie_lc_perf_other_end_recovery

PCIE other end recovery counter.

Definition at line 2002 of file amdsmi.h.

◆ vram_max_bandwidth

uint64_t amdsmi_gpu_metrics_t::vram_max_bandwidth

v1.7 additions

VRAM max bandwidth at max memory clock (GB/s)

Definition at line 2007 of file amdsmi.h.

◆ xgmi_link_status

uint16_t amdsmi_gpu_metrics_t::xgmi_link_status[AMDSMI_MAX_NUM_XGMI_LINKS]

XGMI link status(up/down)

Definition at line 2009 of file amdsmi.h.


The documentation for this struct was generated from the following file: