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 1849 of file amdsmi.h.

Field Documentation

◆ common_header

amd_metrics_table_header_t amdsmi_gpu_metrics_t::common_header

Definition at line 1850 of file amdsmi.h.

◆ temperature_edge

uint16_t amdsmi_gpu_metrics_t::temperature_edge

v1.0 Base

Temperature in C

Definition at line 1857 of file amdsmi.h.

◆ temperature_hotspot

uint16_t amdsmi_gpu_metrics_t::temperature_hotspot

Definition at line 1858 of file amdsmi.h.

◆ temperature_mem

uint16_t amdsmi_gpu_metrics_t::temperature_mem

Definition at line 1859 of file amdsmi.h.

◆ temperature_vrgfx

uint16_t amdsmi_gpu_metrics_t::temperature_vrgfx

Definition at line 1860 of file amdsmi.h.

◆ temperature_vrsoc

uint16_t amdsmi_gpu_metrics_t::temperature_vrsoc

Definition at line 1861 of file amdsmi.h.

◆ temperature_vrmem

uint16_t amdsmi_gpu_metrics_t::temperature_vrmem

Definition at line 1862 of file amdsmi.h.

◆ average_gfx_activity

uint16_t amdsmi_gpu_metrics_t::average_gfx_activity

Average Utilization (in %)

gfx

Definition at line 1867 of file amdsmi.h.

◆ average_umc_activity

uint16_t amdsmi_gpu_metrics_t::average_umc_activity

memory controller

Definition at line 1868 of file amdsmi.h.

◆ average_mm_activity

uint16_t amdsmi_gpu_metrics_t::average_mm_activity

UVD or VCN.

Definition at line 1869 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 1874 of file amdsmi.h.

◆ energy_accumulator

uint64_t amdsmi_gpu_metrics_t::energy_accumulator

v1 mod. (32->64)

Definition at line 1875 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 1878 of file amdsmi.h.

◆ average_gfxclk_frequency

uint16_t amdsmi_gpu_metrics_t::average_gfxclk_frequency

Average clocks (MHz)

Definition at line 1883 of file amdsmi.h.

◆ average_socclk_frequency

uint16_t amdsmi_gpu_metrics_t::average_socclk_frequency

Definition at line 1884 of file amdsmi.h.

◆ average_uclk_frequency

uint16_t amdsmi_gpu_metrics_t::average_uclk_frequency

Definition at line 1885 of file amdsmi.h.

◆ average_vclk0_frequency

uint16_t amdsmi_gpu_metrics_t::average_vclk0_frequency

Definition at line 1886 of file amdsmi.h.

◆ average_dclk0_frequency

uint16_t amdsmi_gpu_metrics_t::average_dclk0_frequency

Definition at line 1887 of file amdsmi.h.

◆ average_vclk1_frequency

uint16_t amdsmi_gpu_metrics_t::average_vclk1_frequency

Definition at line 1888 of file amdsmi.h.

◆ average_dclk1_frequency

uint16_t amdsmi_gpu_metrics_t::average_dclk1_frequency

Definition at line 1889 of file amdsmi.h.

◆ current_gfxclk

uint16_t amdsmi_gpu_metrics_t::current_gfxclk

Current clocks (MHz)

Definition at line 1894 of file amdsmi.h.

◆ current_socclk

uint16_t amdsmi_gpu_metrics_t::current_socclk

Definition at line 1895 of file amdsmi.h.

◆ current_uclk

uint16_t amdsmi_gpu_metrics_t::current_uclk

Definition at line 1896 of file amdsmi.h.

◆ current_vclk0

uint16_t amdsmi_gpu_metrics_t::current_vclk0

Definition at line 1897 of file amdsmi.h.

◆ current_dclk0

uint16_t amdsmi_gpu_metrics_t::current_dclk0

Definition at line 1898 of file amdsmi.h.

◆ current_vclk1

uint16_t amdsmi_gpu_metrics_t::current_vclk1

Definition at line 1899 of file amdsmi.h.

◆ current_dclk1

uint16_t amdsmi_gpu_metrics_t::current_dclk1

Definition at line 1900 of file amdsmi.h.

◆ throttle_status

uint32_t amdsmi_gpu_metrics_t::throttle_status

Throttle status.

Definition at line 1902 of file amdsmi.h.

◆ current_fan_speed

uint16_t amdsmi_gpu_metrics_t::current_fan_speed

Fans (RPM)

Definition at line 1904 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 1909 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 1910 of file amdsmi.h.

◆ gfx_activity_acc

uint32_t amdsmi_gpu_metrics_t::gfx_activity_acc

new in v1

Definition at line 1915 of file amdsmi.h.

◆ mem_activity_acc

uint32_t amdsmi_gpu_metrics_t::mem_activity_acc

new in v1

Definition at line 1916 of file amdsmi.h.

◆ temperature_hbm

uint16_t amdsmi_gpu_metrics_t::temperature_hbm[AMDSMI_NUM_HBM_INSTANCES]

new in v1

Definition at line 1917 of file amdsmi.h.

◆ firmware_timestamp

uint64_t amdsmi_gpu_metrics_t::firmware_timestamp

PMFW attached timestamp (10ns resolution)

Definition at line 1922 of file amdsmi.h.

◆ voltage_soc

uint16_t amdsmi_gpu_metrics_t::voltage_soc

In mV.

Definition at line 1927 of file amdsmi.h.

◆ voltage_gfx

uint16_t amdsmi_gpu_metrics_t::voltage_gfx

In mV.

Definition at line 1928 of file amdsmi.h.

◆ voltage_mem

uint16_t amdsmi_gpu_metrics_t::voltage_mem

In mV.

Definition at line 1929 of file amdsmi.h.

◆ indep_throttle_status

uint64_t amdsmi_gpu_metrics_t::indep_throttle_status

Throttle status.

Definition at line 1931 of file amdsmi.h.

◆ current_socket_power

uint16_t amdsmi_gpu_metrics_t::current_socket_power

In Watts.

Definition at line 1936 of file amdsmi.h.

◆ vcn_activity

uint16_t amdsmi_gpu_metrics_t::vcn_activity[AMDSMI_MAX_NUM_VCN]

Utilization (%)

Definition at line 1938 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 1940 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 1942 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 1943 of file amdsmi.h.

◆ pcie_bandwidth_acc

uint64_t amdsmi_gpu_metrics_t::pcie_bandwidth_acc

PCIE accumulated bandwidth (GB/sec)

Definition at line 1945 of file amdsmi.h.

◆ pcie_bandwidth_inst

uint64_t amdsmi_gpu_metrics_t::pcie_bandwidth_inst

PCIE instantaneous bandwidth (GB/sec)

Definition at line 1946 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 1947 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 1948 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 1949 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 1954 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 1955 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 1960 of file amdsmi.h.

◆ current_socclks

uint16_t amdsmi_gpu_metrics_t::current_socclks[AMDSMI_MAX_NUM_CLKS]

In KB.

Definition at line 1961 of file amdsmi.h.

◆ current_vclk0s

uint16_t amdsmi_gpu_metrics_t::current_vclk0s[AMDSMI_MAX_NUM_CLKS]

In KB.

Definition at line 1962 of file amdsmi.h.

◆ current_dclk0s

uint16_t amdsmi_gpu_metrics_t::current_dclk0s[AMDSMI_MAX_NUM_CLKS]

In KB.

Definition at line 1963 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 1968 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 1969 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 1970 of file amdsmi.h.

◆ accumulation_counter

uint64_t amdsmi_gpu_metrics_t::accumulation_counter

v1.6 additions

Accumulation cycle counter

Definition at line 1975 of file amdsmi.h.

◆ prochot_residency_acc

uint64_t amdsmi_gpu_metrics_t::prochot_residency_acc

Accumulated throttler residencies.

Definition at line 1980 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 1996 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 2012 of file amdsmi.h.

◆ vr_thm_residency_acc

uint64_t amdsmi_gpu_metrics_t::vr_thm_residency_acc

Definition at line 2013 of file amdsmi.h.

◆ hbm_thm_residency_acc

uint64_t amdsmi_gpu_metrics_t::hbm_thm_residency_acc

Definition at line 2014 of file amdsmi.h.

◆ num_partition

uint16_t amdsmi_gpu_metrics_t::num_partition

Number of current partition.

Definition at line 2016 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 2018 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 2020 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 2025 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 2027 of file amdsmi.h.


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