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 More... | |
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 %) More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
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 More... | |
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 More... | |
uint64_t | prochot_residency_acc |
Accumulated throttler residencies. | |
uint64_t | ppt_residency_acc |
Accumulated throttler residencies. More... | |
uint64_t | socket_thm_residency_acc |
Accumulated throttler residencies. More... | |
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 More... | |
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
Field Documentation
◆ temperature_edge
uint16_t amdsmi_gpu_metrics_t::temperature_edge |
v1.0 Base
Temperature in C
◆ average_gfx_activity
uint16_t amdsmi_gpu_metrics_t::average_gfx_activity |
Average Utilization (in %)
gfx
◆ system_clock_counter
uint64_t amdsmi_gpu_metrics_t::system_clock_counter |
Driver attached timestamp (in ns)
v1 mod. (moved from top of struct)
◆ 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)
◆ 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
◆ current_gfxclks
uint16_t amdsmi_gpu_metrics_t::current_gfxclks[AMDSMI_MAX_NUM_GFX_CLKS] |
XGMI current data transfer size(KiloBytes)
In KB
◆ jpeg_activity
uint16_t amdsmi_gpu_metrics_t::jpeg_activity[AMDSMI_MAX_NUM_JPEG] |
v1.5 additions
JPEG activity percent (encode/decode)
◆ accumulation_counter
uint64_t amdsmi_gpu_metrics_t::accumulation_counter |
v1.6 additions
Accumulation cycle counter
◆ 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))
◆ 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))
◆ vram_max_bandwidth
uint64_t amdsmi_gpu_metrics_t::vram_max_bandwidth |
v1.7 additions
VRAM max bandwidth at max memory clock (GB/s)
The documentation for this struct was generated from the following file: