Bandwidth monitor#
Modules | |
HSMP Metrics Table | |
Auxillary functions | |
Data Structures | |
struct | amdsmi_pcie_info_t::pcie_static_ |
struct | amdsmi_pcie_info_t::pcie_metric_ |
struct | amdsmi_gpu_cache_info_t::cache_ |
struct | amdsmi_fw_info_t::fw_info_list_ |
struct | amdsmi_nps_caps_t::nps_flags_ |
struct | amdsmi_memory_partition_config_t::numa_range_ |
struct | amdsmi_link_metrics_t::_links |
struct | amdsmi_proc_info_t::engine_usage_ |
struct | amdsmi_proc_info_t::memory_usage_ |
Functions | |
amdsmi_status_t | amdsmi_get_cpu_current_io_bandwidth (amdsmi_processor_handle processor_handle, amdsmi_link_id_bw_type_t link, uint32_t *io_bw) |
Get current input output bandwidth. More... | |
amdsmi_status_t | amdsmi_get_cpu_current_xgmi_bw (amdsmi_processor_handle processor_handle, amdsmi_link_id_bw_type_t link, uint32_t *xgmi_bw) |
Get current input output bandwidth. More... | |
Variables | |
uint32_t | amdsmi_hsmp_driver_version_t::major |
Major version number. | |
uint32_t | amdsmi_hsmp_driver_version_t::minor |
Minor version number. | |
uint64_t | amdsmi_range_t::lower_bound |
Lower bound of range. | |
uint64_t | amdsmi_range_t::upper_bound |
Upper bound of range. | |
uint64_t | amdsmi_range_t::reserved [2] |
uint8_t | amdsmi_xgmi_info_t::xgmi_lanes |
uint64_t | amdsmi_xgmi_info_t::xgmi_hive_id |
uint64_t | amdsmi_xgmi_info_t::xgmi_node_id |
uint32_t | amdsmi_xgmi_info_t::index |
uint32_t | amdsmi_xgmi_info_t::reserved [9] |
uint32_t | amdsmi_vram_usage_t::vram_total |
In MB. | |
uint32_t | amdsmi_vram_usage_t::vram_used |
In MB. | |
uint32_t | amdsmi_vram_usage_t::reserved [2] |
uint64_t | amdsmi_violation_status_t::reference_timestamp |
Represents CPU timestamp in microseconds (uS) | |
uint64_t | amdsmi_violation_status_t::violation_timestamp |
Violation time. Units in nanoseconds (ns) {@linux_bm}, in milliseconds (ms) {@host}. | |
uint64_t | amdsmi_violation_status_t::acc_counter |
Current accumulated counter; Max uint64 means unsupported. | |
uint64_t | amdsmi_violation_status_t::acc_prochot_thrm |
Current accumulated processor hot violation count; Max uint64 means unsupported. | |
uint64_t | amdsmi_violation_status_t::acc_ppt_pwr |
PVIOL; Current accumulated Package Power Tracking (PPT) count; Max uint64 means unsupported. | |
uint64_t | amdsmi_violation_status_t::acc_socket_thrm |
TVIOL; Current accumulated Socket thermal count; Max uint64 means unsupported. | |
uint64_t | amdsmi_violation_status_t::acc_vr_thrm |
Current accumulated voltage regulator count; Max uint64 means unsupported. | |
uint64_t | amdsmi_violation_status_t::acc_hbm_thrm |
Current accumulated High Bandwidth Memory (HBM) thermal count; Max uint64 means unsupported. | |
uint64_t | amdsmi_violation_status_t::acc_gfx_clk_below_host_limit |
Current graphic clock below host limit count; Max uint64 means unsupported. | |
uint64_t | amdsmi_violation_status_t::per_prochot_thrm |
Processor hot violation % (greater than 0% is a violation); Max uint64 means unsupported. | |
uint64_t | amdsmi_violation_status_t::per_ppt_pwr |
PVIOL; Package Power Tracking (PPT) violation % (greater than 0% is a violation); Max uint64 means unsupported. | |
uint64_t | amdsmi_violation_status_t::per_socket_thrm |
TVIOL; Socket thermal violation % (greater than 0% is a violation); Max uint64 means unsupported. | |
uint64_t | amdsmi_violation_status_t::per_vr_thrm |
Voltage regulator violation % (greater than 0% is a violation); Max uint64 means unsupported. | |
uint64_t | amdsmi_violation_status_t::per_hbm_thrm |
High Bandwidth Memory (HBM) thermal violation % (greater than 0% is a violation); Max uint64 means unsupported. | |
uint64_t | amdsmi_violation_status_t::per_gfx_clk_below_host_limit |
Graphics clock below host limit violation % (greater than 0% is a violation); Max uint64 means unsupported. | |
uint8_t | amdsmi_violation_status_t::active_prochot_thrm |
Processor hot violation; 1 = active 0 = not active; Max uint8 means unsupported. | |
uint8_t | amdsmi_violation_status_t::active_ppt_pwr |
Package Power Tracking (PPT) violation; 1 = active 0 = not active; Max uint8 means unsupported. | |
uint8_t | amdsmi_violation_status_t::active_socket_thrm |
Socket thermal violation; 1 = active 0 = not active; Max uint8 means unsupported. | |
uint8_t | amdsmi_violation_status_t::active_vr_thrm |
Voltage regulator violation; 1 = active 0 = not active; Max uint8 means unsupported. | |
uint8_t | amdsmi_violation_status_t::active_hbm_thrm |
High Bandwidth Memory (HBM) thermal violation; 1 = active 0 = not active; Max uint8 means unsupported. | |
uint8_t | amdsmi_violation_status_t::active_gfx_clk_below_host_limit |
Graphics clock below host limit violation; 1 = active 0 = not active; Max uint8 means unsupported. | |
uint64_t | amdsmi_violation_status_t::reserved [3] |
Reserved for new violation info. | |
amdsmi_range_t | amdsmi_frequency_range_t::supported_freq_range |
In MHz. | |
amdsmi_range_t | amdsmi_frequency_range_t::current_freq_range |
In MHz. | |
uint32_t | amdsmi_frequency_range_t::reserved [8] |
uint64_t amdsmi_bdf_t::function_number: 3 | |
uint64_t amdsmi_bdf_t::device_number: 5 | |
uint64_t amdsmi_bdf_t::bus_number: 8 | |
uint64_t amdsmi_bdf_t::domain_number: 48 | |
struct { | |
uint64_t function_number: 3 | |
uint64_t device_number: 5 | |
uint64_t bus_number: 8 | |
uint64_t domain_number: 48 | |
}; | |
uint64_t | amdsmi_bdf_t::as_uint |
uint32_t | amdsmi_enumeration_info_t::drm_render |
uint32_t | amdsmi_enumeration_info_t::drm_card |
uint32_t | amdsmi_enumeration_info_t::hsa_id |
uint32_t | amdsmi_enumeration_info_t::hip_id |
char | amdsmi_enumeration_info_t::hip_uuid [AMDSMI_MAX_STRING_LENGTH] |
uint16_t | amdsmi_pcie_info_t::pcie_static_::max_pcie_width |
maximum number of PCIe lanes | |
uint32_t | amdsmi_pcie_info_t::pcie_static_::max_pcie_speed |
maximum PCIe speed in GT/s | |
uint32_t | amdsmi_pcie_info_t::pcie_static_::pcie_interface_version |
PCIe interface version. | |
amdsmi_card_form_factor_t | amdsmi_pcie_info_t::pcie_static_::slot_type |
card form factor | |
uint32_t | amdsmi_pcie_info_t::pcie_static_::max_pcie_interface_version |
maximum PCIe link generation | |
uint64_t | amdsmi_pcie_info_t::pcie_static_::reserved [9] |
struct amdsmi_pcie_info_t::pcie_static_ | amdsmi_pcie_info_t::pcie_static |
uint16_t | amdsmi_pcie_info_t::pcie_metric_::pcie_width |
current PCIe width | |
uint32_t | amdsmi_pcie_info_t::pcie_metric_::pcie_speed |
current PCIe speed in MT/s | |
uint32_t | amdsmi_pcie_info_t::pcie_metric_::pcie_bandwidth |
current instantaneous PCIe bandwidth in Mb/s | |
uint64_t | amdsmi_pcie_info_t::pcie_metric_::pcie_replay_count |
total number of the replays issued on the PCIe link | |
uint64_t | amdsmi_pcie_info_t::pcie_metric_::pcie_l0_to_recovery_count |
total number of times the PCIe link transitioned from L0 to the recovery state | |
uint64_t | amdsmi_pcie_info_t::pcie_metric_::pcie_replay_roll_over_count |
total number of replay rollovers issued on the PCIe link | |
uint64_t | amdsmi_pcie_info_t::pcie_metric_::pcie_nak_sent_count |
total number of NAKs issued on the PCIe link by the device | |
uint64_t | amdsmi_pcie_info_t::pcie_metric_::pcie_nak_received_count |
total number of NAKs issued on the PCIe link by the receiver | |
uint32_t | amdsmi_pcie_info_t::pcie_metric_::pcie_lc_perf_other_end_recovery_count |
PCIe other end recovery counter. | |
uint64_t | amdsmi_pcie_info_t::pcie_metric_::reserved [12] |
struct amdsmi_pcie_info_t::pcie_metric_ | amdsmi_pcie_info_t::pcie_metric |
uint64_t | amdsmi_pcie_info_t::reserved [32] |
uint64_t | amdsmi_power_cap_info_t::power_cap |
current power cap Units uW {@linux_bm} or W {@host} | |
uint64_t | amdsmi_power_cap_info_t::default_power_cap |
default power cap Units uW {@linux_bm} or W {@host} | |
uint64_t | amdsmi_power_cap_info_t::dpm_cap |
dpm power cap Units MHz {@linux_bm} or Hz {@host} | |
uint64_t | amdsmi_power_cap_info_t::min_power_cap |
minimum power cap Units uW {@linux_bm} or W {@host} | |
uint64_t | amdsmi_power_cap_info_t::max_power_cap |
maximum power cap Units uW {@linux_bm} or W {@host} | |
uint64_t | amdsmi_power_cap_info_t::reserved [3] |
char | amdsmi_vbios_info_t::name [AMDSMI_MAX_STRING_LENGTH] |
char | amdsmi_vbios_info_t::build_date [AMDSMI_MAX_DATE_LENGTH] |
char | amdsmi_vbios_info_t::part_number [AMDSMI_MAX_STRING_LENGTH] |
char | amdsmi_vbios_info_t::version [AMDSMI_MAX_STRING_LENGTH] |
uint64_t | amdsmi_vbios_info_t::reserved [32] |
uint32_t | amdsmi_gpu_cache_info_t::num_cache_types |
uint32_t | amdsmi_gpu_cache_info_t::cache_::cache_properties |
amdsmi_cache_property_type_t which is a bitmask | |
uint32_t | amdsmi_gpu_cache_info_t::cache_::cache_size |
In KB. | |
uint32_t | amdsmi_gpu_cache_info_t::cache_::cache_level |
uint32_t | amdsmi_gpu_cache_info_t::cache_::max_num_cu_shared |
Indicates how many Compute Units share this cache instance. | |
uint32_t | amdsmi_gpu_cache_info_t::cache_::num_cache_instance |
total number of instance of this cache type | |
uint32_t | amdsmi_gpu_cache_info_t::cache_::reserved [3] |
struct amdsmi_gpu_cache_info_t::cache_ | amdsmi_gpu_cache_info_t::cache [AMDSMI_MAX_CACHE_TYPES] |
uint32_t | amdsmi_gpu_cache_info_t::reserved [15] |
uint8_t | amdsmi_fw_info_t::num_fw_info |
amdsmi_fw_block_t | amdsmi_fw_info_t::fw_info_list_::fw_id |
uint64_t | amdsmi_fw_info_t::fw_info_list_::fw_version |
uint64_t | amdsmi_fw_info_t::fw_info_list_::reserved [2] |
struct amdsmi_fw_info_t::fw_info_list_ | amdsmi_fw_info_t::fw_info_list [AMDSMI_FW_ID__MAX] |
uint32_t | amdsmi_fw_info_t::reserved [7] |
char | amdsmi_asic_info_t::market_name [AMDSMI_MAX_STRING_LENGTH] |
uint32_t | amdsmi_asic_info_t::vendor_id |
Use 32 bit to be compatible with other platform. | |
char | amdsmi_asic_info_t::vendor_name [AMDSMI_MAX_STRING_LENGTH] |
uint32_t | amdsmi_asic_info_t::subvendor_id |
The subsystem vendor id. | |
uint64_t | amdsmi_asic_info_t::device_id |
The device id of a GPU. | |
uint32_t | amdsmi_asic_info_t::rev_id |
char | amdsmi_asic_info_t::asic_serial [AMDSMI_MAX_STRING_LENGTH] |
uint32_t | amdsmi_asic_info_t::oam_id |
0xFFFF if not supported | |
uint32_t | amdsmi_asic_info_t::num_of_compute_units |
0xFFFFFFFF if not supported | |
uint64_t | amdsmi_asic_info_t::target_graphics_version |
0xFFFFFFFFFFFFFFFF if not supported | |
uint32_t | amdsmi_asic_info_t::reserved [22] |
uint64_t | amdsmi_kfd_info_t::kfd_id |
uint32_t | amdsmi_kfd_info_t::node_id |
uint32_t | amdsmi_kfd_info_t::current_partition_id |
uint32_t | amdsmi_kfd_info_t::reserved [12] |
uint32_t | amdsmi_nps_caps_t::nps_flags_::nps1_cap:1 |
bool 1 = true; 0 = false | |
uint32_t | amdsmi_nps_caps_t::nps_flags_::nps2_cap:1 |
bool 1 = true; 0 = false | |
uint32_t | amdsmi_nps_caps_t::nps_flags_::nps4_cap:1 |
bool 1 = true; 0 = false | |
uint32_t | amdsmi_nps_caps_t::nps_flags_::nps8_cap:1 |
bool 1 = true; 0 = false | |
uint32_t | amdsmi_nps_caps_t::nps_flags_::reserved:28 |
struct amdsmi_nps_caps_t::nps_flags_ | amdsmi_nps_caps_t::nps_flags |
uint32_t | amdsmi_nps_caps_t::nps_cap_mask |
amdsmi_nps_caps_t | amdsmi_memory_partition_config_t::partition_caps |
amdsmi_memory_partition_type_t | amdsmi_memory_partition_config_t::mp_mode |
uint32_t | amdsmi_memory_partition_config_t::num_numa_ranges |
amdsmi_vram_type_t | amdsmi_memory_partition_config_t::numa_range_::memory_type |
uint64_t | amdsmi_memory_partition_config_t::numa_range_::start |
uint64_t | amdsmi_memory_partition_config_t::numa_range_::end |
struct amdsmi_memory_partition_config_t::numa_range_ | amdsmi_memory_partition_config_t::numa_range [AMDSMI_MAX_NUM_NUMA_NODES] |
uint64_t | amdsmi_memory_partition_config_t::reserved [11] |
amdsmi_accelerator_partition_type_t | amdsmi_accelerator_partition_profile_t::profile_type |
SPX, DPX, QPX, CPX and so on. | |
uint32_t | amdsmi_accelerator_partition_profile_t::num_partitions |
On MI300X: SPX=>1, DPX=>2, QPX=>4, CPX=>8; length of resources. | |
amdsmi_nps_caps_t | amdsmi_accelerator_partition_profile_t::memory_caps |
Possible memory partition capabilities. | |
uint32_t | amdsmi_accelerator_partition_profile_t::profile_index |
Index in the profiles array in amdsmi_accelerator_partition_profile_t. | |
uint32_t | amdsmi_accelerator_partition_profile_t::num_resources |
length of index_of_resources_profile | |
uint32_t | amdsmi_accelerator_partition_profile_t::resources [AMDSMI_MAX_ACCELERATOR_PARTITIONS][AMDSMI_MAX_CP_PROFILE_RESOURCES] |
uint64_t | amdsmi_accelerator_partition_profile_t::reserved [13] |
uint32_t | amdsmi_accelerator_partition_resource_profile_t::profile_index |
amdsmi_accelerator_partition_resource_type_t | amdsmi_accelerator_partition_resource_profile_t::resource_type |
uint32_t | amdsmi_accelerator_partition_resource_profile_t::partition_resource |
Resources a partition can use, which may be shared. | |
uint32_t | amdsmi_accelerator_partition_resource_profile_t::num_partitions_share_resource |
If it is greater than 1, then resource is shared. | |
uint64_t | amdsmi_accelerator_partition_resource_profile_t::reserved [6] |
uint32_t | amdsmi_accelerator_partition_profile_config_t::num_profiles |
The length of profiles array. | |
uint32_t | amdsmi_accelerator_partition_profile_config_t::num_resource_profiles |
amdsmi_accelerator_partition_resource_profile_t | amdsmi_accelerator_partition_profile_config_t::resource_profiles [AMDSMI_MAX_CP_PROFILE_RESOURCES] |
uint32_t | amdsmi_accelerator_partition_profile_config_t::default_profile_index |
The index of the default profile in the profiles array. | |
amdsmi_accelerator_partition_profile_t | amdsmi_accelerator_partition_profile_config_t::profiles [AMDSMI_MAX_ACCELERATOR_PROFILE] |
uint64_t | amdsmi_accelerator_partition_profile_config_t::reserved [30] |
uint32_t | amdsmi_link_metrics_t::num_links |
number of links | |
amdsmi_bdf_t | amdsmi_link_metrics_t::_links::bdf |
uint32_t | amdsmi_link_metrics_t::_links::bit_rate |
current link speed in Gb/s | |
uint32_t | amdsmi_link_metrics_t::_links::max_bandwidth |
max bandwidth of the link in Gb/s | |
amdsmi_link_type_t | amdsmi_link_metrics_t::_links::link_type |
type of the link | |
uint64_t | amdsmi_link_metrics_t::_links::read |
total data received for each link in KB | |
uint64_t | amdsmi_link_metrics_t::_links::write |
total data transfered for each link in KB | |
uint64_t | amdsmi_link_metrics_t::_links::reserved [2] |
struct amdsmi_link_metrics_t::_links | amdsmi_link_metrics_t::links [AMDSMI_MAX_NUM_XGMI_PHYSICAL_LINK] |
uint64_t | amdsmi_link_metrics_t::reserved [7] |
amdsmi_vram_type_t | amdsmi_vram_info_t::vram_type |
amdsmi_vram_vendor_type_t | amdsmi_vram_info_t::vram_vendor |
uint64_t | amdsmi_vram_info_t::vram_size |
vram size in MB | |
uint32_t | amdsmi_vram_info_t::vram_bit_width |
In bits. | |
uint64_t | amdsmi_vram_info_t::vram_max_bandwidth |
The VRAM max bandwidth at current memory clock (GB/s) | |
uint64_t | amdsmi_vram_info_t::reserved [4] |
char | amdsmi_driver_info_t::driver_version [AMDSMI_MAX_STRING_LENGTH] |
char | amdsmi_driver_info_t::driver_date [AMDSMI_MAX_STRING_LENGTH] |
char | amdsmi_driver_info_t::driver_name [AMDSMI_MAX_STRING_LENGTH] |
char | amdsmi_board_info_t::model_number [AMDSMI_MAX_STRING_LENGTH] |
char | amdsmi_board_info_t::product_serial [AMDSMI_MAX_STRING_LENGTH] |
char | amdsmi_board_info_t::fru_id [AMDSMI_MAX_STRING_LENGTH] |
char | amdsmi_board_info_t::product_name [AMDSMI_MAX_STRING_LENGTH] |
char | amdsmi_board_info_t::manufacturer_name [AMDSMI_MAX_STRING_LENGTH] |
uint64_t | amdsmi_board_info_t::reserved [32] |
uint64_t | amdsmi_power_info_t::socket_power |
Units in uW {@host}, Host only. | |
uint32_t | amdsmi_power_info_t::current_socket_power |
Units in W {@linux_bm}, Linux only. | |
uint32_t | amdsmi_power_info_t::average_socket_power |
Units in W {@linux_bm}, Linux only. | |
uint32_t | amdsmi_power_info_t::gfx_voltage |
GFX voltage measurement in mV {@linux_bm} or V {@host}. | |
uint32_t | amdsmi_power_info_t::soc_voltage |
SOC voltage measurement in mV {@linux_bm} or V {@host}. | |
uint32_t | amdsmi_power_info_t::mem_voltage |
MEM voltage measurement in mV {@linux_bm} or V {@host}. | |
uint32_t | amdsmi_power_info_t::power_limit |
The power limit in W {@linux_bm}, Linux only. | |
uint32_t | amdsmi_power_info_t::reserved [2] |
uint32_t | amdsmi_clk_info_t::clk |
In MHz. | |
uint32_t | amdsmi_clk_info_t::min_clk |
In MHz. | |
uint32_t | amdsmi_clk_info_t::max_clk |
In MHz. | |
uint8_t | amdsmi_clk_info_t::clk_locked |
True/False. | |
uint8_t | amdsmi_clk_info_t::clk_deep_sleep |
In MHz. | |
uint32_t | amdsmi_clk_info_t::reserved [4] |
uint32_t | amdsmi_engine_usage_t::gfx_activity |
In %. | |
uint32_t | amdsmi_engine_usage_t::umc_activity |
In %. | |
uint32_t | amdsmi_engine_usage_t::mm_activity |
In %. | |
uint32_t | amdsmi_engine_usage_t::reserved [13] |
char | amdsmi_proc_info_t::name [AMDSMI_MAX_STRING_LENGTH] |
amdsmi_process_handle_t | amdsmi_proc_info_t::pid |
uint64_t | amdsmi_proc_info_t::mem |
In bytes. | |
uint64_t | amdsmi_proc_info_t::engine_usage_::gfx |
In nano-secs. | |
uint64_t | amdsmi_proc_info_t::engine_usage_::enc |
In nano-secs. | |
uint32_t | amdsmi_proc_info_t::engine_usage_::reserved [12] |
struct amdsmi_proc_info_t::engine_usage_ | amdsmi_proc_info_t::engine_usage |
time the process spends using these engines in ns | |
uint64_t | amdsmi_proc_info_t::memory_usage_::gtt_mem |
In MB. | |
uint64_t | amdsmi_proc_info_t::memory_usage_::cpu_mem |
In MB. | |
uint64_t | amdsmi_proc_info_t::memory_usage_::vram_mem |
In MB. | |
uint32_t | amdsmi_proc_info_t::memory_usage_::reserved [10] |
struct amdsmi_proc_info_t::memory_usage_ | amdsmi_proc_info_t::memory_usage |
in bytes | |
char | amdsmi_proc_info_t::container_name [AMDSMI_MAX_STRING_LENGTH] |
uint32_t | amdsmi_proc_info_t::reserved [12] |
uint8_t | amdsmi_p2p_capability_t::is_iolink_coherent |
1 = true, 0 = false, UINT8_MAX = Not defined | |
uint8_t | amdsmi_p2p_capability_t::is_iolink_atomics_32bit |
1 = true, 0 = false, UINT8_MAX = Not defined | |
uint8_t | amdsmi_p2p_capability_t::is_iolink_atomics_64bit |
1 = true, 0 = false, UINT8_MAX = Not defined | |
uint8_t | amdsmi_p2p_capability_t::is_iolink_dma |
1 = true, 0 = false, UINT8_MAX = Not defined | |
uint8_t | amdsmi_p2p_capability_t::is_iolink_bi_directional |
1 = true, 0 = false, UINT8_MAX = Not defined | |
uint64_t | amdsmi_counter_value_t::value |
Counter value. | |
uint64_t | amdsmi_counter_value_t::time_enabled |
Time that the counter was enabled in nanoseconds. | |
uint64_t | amdsmi_counter_value_t::time_running |
Time that the counter was running in nanoseconds. | |
amdsmi_processor_handle | amdsmi_evt_notification_data_t::processor_handle |
Handler of device that corresponds to the event. | |
amdsmi_evt_notification_type_t | amdsmi_evt_notification_data_t::event |
Event type. | |
char | amdsmi_evt_notification_data_t::message [MAX_EVENT_NOTIFICATION_MSG_SIZE] |
Event message. | |
amdsmi_utilization_counter_type_t | amdsmi_utilization_counter_t::type |
Utilization counter type. | |
uint64_t | amdsmi_utilization_counter_t::value |
Coarse grain activity counter value (average) | |
uint64_t | amdsmi_utilization_counter_t::fine_value [AMDSMI_MAX_UTILIZATION_VALUES] |
Utilization counter value. | |
uint16_t | amdsmi_utilization_counter_t::fine_value_count |
uint64_t | amdsmi_retired_page_record_t::page_address |
Start address of page. | |
uint64_t | amdsmi_retired_page_record_t::page_size |
Page size. | |
amdsmi_memory_page_status_t | amdsmi_retired_page_record_t::status |
Page "reserved" status. | |
amdsmi_bit_field_t | amdsmi_power_profile_status_t::available_profiles |
amdsmi_power_profile_preset_masks_t | amdsmi_power_profile_status_t::current |
uint32_t | amdsmi_power_profile_status_t::num_profiles |
bool | amdsmi_frequencies_t::has_deep_sleep |
uint32_t | amdsmi_frequencies_t::num_supported |
uint32_t | amdsmi_frequencies_t::current |
uint64_t | amdsmi_frequencies_t::frequency [AMDSMI_MAX_NUM_FREQUENCIES] |
uint32_t | amdsmi_dpm_policy_entry_t::policy_id |
char | amdsmi_dpm_policy_entry_t::policy_description [AMDSMI_MAX_NAME] |
uint32_t | amdsmi_dpm_policy_t::num_supported |
The number of supported policies. | |
uint32_t | amdsmi_dpm_policy_t::current |
The current policy index. | |
amdsmi_dpm_policy_entry_t | amdsmi_dpm_policy_t::policies [AMDSMI_MAX_NUM_PM_POLICIES] |
List of policies. | |
amdsmi_frequencies_t | amdsmi_pcie_bandwidth_t::transfer_rate |
Transfer rates (T/s) that are possible. | |
uint32_t | amdsmi_pcie_bandwidth_t::lanes [AMDSMI_MAX_NUM_FREQUENCIES] |
List of lanes for corresponding transfer rate. | |
uint32_t | amdsmi_version_t::year |
Last 2 digits of the Year released - To Be Depricated. | |
uint32_t | amdsmi_version_t::major |
Major version. | |
uint32_t | amdsmi_version_t::minor |
Minor version. | |
uint32_t | amdsmi_version_t::release |
Patch, build or stepping version. | |
const char * | amdsmi_version_t::build |
Full Build version string. | |
uint64_t | amdsmi_od_vddc_point_t::frequency |
Frequency coordinate (in Hz) | |
uint64_t | amdsmi_od_vddc_point_t::voltage |
Voltage coordinate (in mV) | |
amdsmi_range_t | amdsmi_freq_volt_region_t::freq_range |
The frequency range for this VDDC Curve point. | |
amdsmi_range_t | amdsmi_freq_volt_region_t::volt_range |
The voltage range for this VDDC Curve point. | |
amdsmi_od_vddc_point_t | amdsmi_od_volt_curve_t::vc_points [AMDSMI_NUM_VOLTAGE_CURVE_POINTS] |
make up the voltage frequency curve points. | |
amdsmi_range_t | amdsmi_od_volt_freq_data_t::curr_sclk_range |
The current SCLK frequency range in MHz. | |
amdsmi_range_t | amdsmi_od_volt_freq_data_t::curr_mclk_range |
The current MCLK frequency range, upper bound only in MHz. | |
amdsmi_range_t | amdsmi_od_volt_freq_data_t::sclk_freq_limits |
The range possible of SCLK values in MHz. | |
amdsmi_range_t | amdsmi_od_volt_freq_data_t::mclk_freq_limits |
The range possible of MCLK values in MHz. | |
amdsmi_od_volt_curve_t | amdsmi_od_volt_freq_data_t::curve |
The current voltage curve. | |
uint32_t | amdsmi_od_volt_freq_data_t::num_regions |
The number of voltage curve regions. | |
uint32_t | amdsmi_gpu_xcp_metrics_t::gfx_busy_inst [AMDSMI_MAX_NUM_XCC] |
v1.6 additions The max uint32_t will be used if that information is N/A More... | |
uint16_t | amdsmi_gpu_xcp_metrics_t::jpeg_busy [AMDSMI_MAX_NUM_JPEG] |
Utilization Instantaneous in %. | |
uint16_t | amdsmi_gpu_xcp_metrics_t::vcn_busy [AMDSMI_MAX_NUM_VCN] |
Utilization Instantaneous in %. | |
uint64_t | amdsmi_gpu_xcp_metrics_t::gfx_busy_acc [AMDSMI_MAX_NUM_XCC] |
Utilization Accumulated in %. | |
uint64_t | amdsmi_gpu_xcp_metrics_t::gfx_below_host_limit_acc [AMDSMI_MAX_NUM_XCC] |
v1.7 additions More... | |
amd_metrics_table_header_t | amdsmi_gpu_metrics_t::common_header |
uint16_t | amdsmi_gpu_metrics_t::temperature_edge |
v1.0 Base More... | |
uint16_t | amdsmi_gpu_metrics_t::temperature_hotspot |
uint16_t | amdsmi_gpu_metrics_t::temperature_mem |
uint16_t | amdsmi_gpu_metrics_t::temperature_vrgfx |
uint16_t | amdsmi_gpu_metrics_t::temperature_vrsoc |
uint16_t | amdsmi_gpu_metrics_t::temperature_vrmem |
uint16_t | amdsmi_gpu_metrics_t::average_gfx_activity |
Average Utilization (in %) More... | |
uint16_t | amdsmi_gpu_metrics_t::average_umc_activity |
memory controller | |
uint16_t | amdsmi_gpu_metrics_t::average_mm_activity |
UVD or VCN. | |
uint16_t | amdsmi_gpu_metrics_t::average_socket_power |
Power (W) /Energy (15.259uJ per 1ns) | |
uint64_t | amdsmi_gpu_metrics_t::energy_accumulator |
v1 mod. (32->64) | |
uint64_t | amdsmi_gpu_metrics_t::system_clock_counter |
Driver attached timestamp (in ns) More... | |
uint16_t | amdsmi_gpu_metrics_t::average_gfxclk_frequency |
Average clocks (MHz) | |
uint16_t | amdsmi_gpu_metrics_t::average_socclk_frequency |
uint16_t | amdsmi_gpu_metrics_t::average_uclk_frequency |
uint16_t | amdsmi_gpu_metrics_t::average_vclk0_frequency |
uint16_t | amdsmi_gpu_metrics_t::average_dclk0_frequency |
uint16_t | amdsmi_gpu_metrics_t::average_vclk1_frequency |
uint16_t | amdsmi_gpu_metrics_t::average_dclk1_frequency |
uint16_t | amdsmi_gpu_metrics_t::current_gfxclk |
Current clocks (MHz) | |
uint16_t | amdsmi_gpu_metrics_t::current_socclk |
uint16_t | amdsmi_gpu_metrics_t::current_uclk |
uint16_t | amdsmi_gpu_metrics_t::current_vclk0 |
uint16_t | amdsmi_gpu_metrics_t::current_dclk0 |
uint16_t | amdsmi_gpu_metrics_t::current_vclk1 |
uint16_t | amdsmi_gpu_metrics_t::current_dclk1 |
uint32_t | amdsmi_gpu_metrics_t::throttle_status |
Throttle status. | |
uint16_t | amdsmi_gpu_metrics_t::current_fan_speed |
Fans (RPM) | |
uint16_t | amdsmi_gpu_metrics_t::pcie_link_width |
Link width (number of lanes) /speed (0.1 GT/s) More... | |
uint16_t | amdsmi_gpu_metrics_t::pcie_link_speed |
in 0.1 GT/s; v1 mod. (8->16) | |
uint32_t | amdsmi_gpu_metrics_t::gfx_activity_acc |
new in v1 | |
uint32_t | amdsmi_gpu_metrics_t::mem_activity_acc |
new in v1 | |
uint16_t | amdsmi_gpu_metrics_t::temperature_hbm [AMDSMI_NUM_HBM_INSTANCES] |
new in v1 | |
uint64_t | amdsmi_gpu_metrics_t::firmware_timestamp |
PMFW attached timestamp (10ns resolution) | |
uint16_t | amdsmi_gpu_metrics_t::voltage_soc |
In mV. | |
uint16_t | amdsmi_gpu_metrics_t::voltage_gfx |
In mV. | |
uint16_t | amdsmi_gpu_metrics_t::voltage_mem |
In mV. | |
uint64_t | amdsmi_gpu_metrics_t::indep_throttle_status |
Throttle status. | |
uint16_t | amdsmi_gpu_metrics_t::current_socket_power |
In Watts. | |
uint16_t | amdsmi_gpu_metrics_t::vcn_activity [AMDSMI_MAX_NUM_VCN] |
Utilization (%) | |
uint32_t | amdsmi_gpu_metrics_t::gfxclk_lock_status |
Clock Lock Status. Each bit corresponds to clock instance. | |
uint16_t | amdsmi_gpu_metrics_t::xgmi_link_width |
XGMI bus width in GB/s. | |
uint16_t | amdsmi_gpu_metrics_t::xgmi_link_speed |
XGMI bus bitrate in GB/s. | |
uint64_t | amdsmi_gpu_metrics_t::pcie_bandwidth_acc |
PCIE accumulated bandwidth (GB/sec) | |
uint64_t | amdsmi_gpu_metrics_t::pcie_bandwidth_inst |
PCIE instantaneous bandwidth (GB/sec) | |
uint64_t | amdsmi_gpu_metrics_t::pcie_l0_to_recov_count_acc |
PCIE L0 to recovery state transition accumulated count. | |
uint64_t | amdsmi_gpu_metrics_t::pcie_replay_count_acc |
PCIE replay accumulated count. | |
uint64_t | amdsmi_gpu_metrics_t::pcie_replay_rover_count_acc |
PCIE replay rollover accumulated count. | |
uint64_t | amdsmi_gpu_metrics_t::xgmi_read_data_acc [AMDSMI_MAX_NUM_XGMI_LINKS] |
XGMI accumulated data transfer size(KiloBytes) More... | |
uint64_t | amdsmi_gpu_metrics_t::xgmi_write_data_acc [AMDSMI_MAX_NUM_XGMI_LINKS] |
In KB. | |
uint16_t | amdsmi_gpu_metrics_t::current_gfxclks [AMDSMI_MAX_NUM_GFX_CLKS] |
XGMI current data transfer size(KiloBytes) More... | |
uint16_t | amdsmi_gpu_metrics_t::current_socclks [AMDSMI_MAX_NUM_CLKS] |
In KB. | |
uint16_t | amdsmi_gpu_metrics_t::current_vclk0s [AMDSMI_MAX_NUM_CLKS] |
In KB. | |
uint16_t | amdsmi_gpu_metrics_t::current_dclk0s [AMDSMI_MAX_NUM_CLKS] |
In KB. | |
uint16_t | amdsmi_gpu_metrics_t::jpeg_activity [AMDSMI_MAX_NUM_JPEG] |
v1.5 additions More... | |
uint32_t | amdsmi_gpu_metrics_t::pcie_nak_sent_count_acc |
PCIE NAK sent accumulated count. | |
uint32_t | amdsmi_gpu_metrics_t::pcie_nak_rcvd_count_acc |
PCIE NAK received accumulated count. | |
uint64_t | amdsmi_gpu_metrics_t::accumulation_counter |
v1.6 additions More... | |
uint64_t | amdsmi_gpu_metrics_t::prochot_residency_acc |
Accumulated throttler residencies. | |
uint64_t | amdsmi_gpu_metrics_t::ppt_residency_acc |
Accumulated throttler residencies. More... | |
uint64_t | amdsmi_gpu_metrics_t::socket_thm_residency_acc |
Accumulated throttler residencies. More... | |
uint64_t | amdsmi_gpu_metrics_t::vr_thm_residency_acc |
uint64_t | amdsmi_gpu_metrics_t::hbm_thm_residency_acc |
uint16_t | amdsmi_gpu_metrics_t::num_partition |
Number of current partition. | |
amdsmi_gpu_xcp_metrics_t | amdsmi_gpu_metrics_t::xcp_stats [AMDSMI_MAX_NUM_XCP] |
XCP (Graphic Cluster Partitions) metrics stats. | |
uint32_t | amdsmi_gpu_metrics_t::pcie_lc_perf_other_end_recovery |
PCIE other end recovery counter. | |
uint64_t | amdsmi_gpu_metrics_t::vram_max_bandwidth |
VRAM max bandwidth at max memory clock (GB/s) | |
uint16_t | amdsmi_gpu_metrics_t::xgmi_link_status [AMDSMI_MAX_NUM_XGMI_LINKS] |
XGMI link status(up/down) | |
uint32_t | amdsmi_xgmi_link_status_t::total_links |
The total links in the status array. | |
amdsmi_xgmi_link_status_type_t | amdsmi_xgmi_link_status_t::status [AMDSMI_MAX_NUM_XGMI_LINKS] |
uint64_t | amdsmi_xgmi_link_status_t::reserved [7] |
char | amdsmi_name_value_t::name [MAX_AMDSMI_NAME_LENGTH] |
Name. | |
uint64_t | amdsmi_name_value_t::value |
Use uint64_t to make it universal. | |
uint32_t | amdsmi_ras_feature_t::ras_eeprom_version |
uint32_t | amdsmi_ras_feature_t::ecc_correction_schema_flag |
ecc_correction_schema mask | |
uint64_t | amdsmi_error_count_t::correctable_count |
Accumulated correctable errors. | |
uint64_t | amdsmi_error_count_t::uncorrectable_count |
Accumulated uncorrectable errors. | |
uint64_t | amdsmi_error_count_t::deferred_count |
Accumulated deferred errors. | |
uint64_t | amdsmi_error_count_t::reserved [5] |
uint32_t | amdsmi_process_info_t::process_id |
Process ID. | |
uint32_t | amdsmi_process_info_t::pasid |
PASID (Not working in ROCm 6.4+, deprecating in 7.0) | |
uint64_t | amdsmi_process_info_t::vram_usage |
VRAM usage in MB. | |
uint64_t | amdsmi_process_info_t::sdma_usage |
SDMA usage in microseconds. | |
uint32_t | amdsmi_process_info_t::cu_occupancy |
Compute Unit usage in percent. | |
uint32_t | amdsmi_topology_nearest_t::count |
amdsmi_processor_handle | amdsmi_topology_nearest_t::processor_list [AMDSMI_MAX_DEVICES] |
uint64_t | amdsmi_topology_nearest_t::reserved [15] |
uint8_t | amdsmi_smu_fw_version_t::debug |
SMU fw Debug version number. | |
uint8_t | amdsmi_smu_fw_version_t::minor |
SMU fw Minor version number. | |
uint8_t | amdsmi_smu_fw_version_t::major |
SMU fw Major version number. | |
uint8_t | amdsmi_smu_fw_version_t::unused |
reserved fields | |
uint32_t | amdsmi_ddr_bw_metrics_t::max_bw |
DDR Maximum theoritical bandwidth in GB/s. | |
uint32_t | amdsmi_ddr_bw_metrics_t::utilized_bw |
DDR bandwidth utilization in GB/s. | |
uint32_t | amdsmi_ddr_bw_metrics_t::utilized_pct |
DDR bandwidth utilization in % of theoritical max. | |
uint8_t | amdsmi_temp_range_refresh_rate_t::range: 3 |
temp range[2:0](3 bit data) | |
uint8_t | amdsmi_temp_range_refresh_rate_t::ref_rate: 1 |
DDR refresh rate mode[3](1 bit data) | |
uint16_t | amdsmi_dimm_power_t::power: 15 |
Dimm power consumption[31:17](15 bits data) | |
uint16_t | amdsmi_dimm_power_t::update_rate: 9 |
Time since last update[16:8](9 bit data) | |
uint8_t | amdsmi_dimm_power_t::dimm_addr |
Dimm address[7:0](8 bit data) | |
uint16_t | amdsmi_dimm_thermal_t::sensor: 11 |
Dimm thermal sensor[31:21](11 bit data) | |
uint16_t | amdsmi_dimm_thermal_t::update_rate: 9 |
Time since last update[16:8](9 bit data) | |
uint8_t | amdsmi_dimm_thermal_t::dimm_addr |
Dimm address[7:0](8 bit data) | |
float | amdsmi_dimm_thermal_t::temp |
temperature in degree celcius | |
amdsmi_io_bw_encoding_t | amdsmi_link_id_bw_type_t::bw_type |
Bandwidth Type Information [1, 2, 4]. | |
char * | amdsmi_link_id_bw_type_t::link_name |
Link name [P0, P1, G0, G1 etc]. | |
uint8_t | amdsmi_dpm_level_t::max_dpm_level |
Max LCLK DPM level[15:8](8 bit data) | |
uint8_t | amdsmi_dpm_level_t::min_dpm_level |
Min LCLK DPM level[7:0](8 bit data) | |
Detailed Description
Function Documentation
◆ amdsmi_get_cpu_current_io_bandwidth()
amdsmi_status_t amdsmi_get_cpu_current_io_bandwidth | ( | amdsmi_processor_handle | processor_handle, |
amdsmi_link_id_bw_type_t | link, | ||
uint32_t * | io_bw | ||
) |
Get current input output bandwidth.
- Platform:
- cpu_bm
- Parameters
-
[in] processor_handle Cpu socket which to query [in] link - link id and bw type to which io bandwidth to be obtained [in,out] io_bw - Input buffer to fill bandwidth data
- Returns
- amdsmi_status_t | AMDSMI_STATUS_SUCCESS on success, non-zero on fail
◆ amdsmi_get_cpu_current_xgmi_bw()
amdsmi_status_t amdsmi_get_cpu_current_xgmi_bw | ( | amdsmi_processor_handle | processor_handle, |
amdsmi_link_id_bw_type_t | link, | ||
uint32_t * | xgmi_bw | ||
) |
Get current input output bandwidth.
- Platform:
- cpu_bm
- Parameters
-
[in] processor_handle Cpu socket which to query [in] link - link id and bw type to which xgmi bandwidth to be obtained [in,out] xgmi_bw - Input buffer to fill bandwidth data
- Returns
- amdsmi_status_t | AMDSMI_STATUS_SUCCESS on success, non-zero on fail
Variable Documentation
◆ gfx_busy_inst
uint32_t amdsmi_gpu_xcp_metrics_t::gfx_busy_inst[AMDSMI_MAX_NUM_XCC] |
v1.6 additions The max uint32_t will be used if that information is N/A
Utilization Instantaneous in %
◆ gfx_below_host_limit_acc
uint64_t amdsmi_gpu_xcp_metrics_t::gfx_below_host_limit_acc[AMDSMI_MAX_NUM_XCC] |
v1.7 additions
Total App Clock Counter Accumulated
◆ 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))