amdsmi.h File Reference#
AMD System Management Interface API. More...
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | amdsmi_hsmp_driver_version_t |
This structure holds HSMP Driver version information. More... | |
struct | amdsmi_range_t |
This structure represents a range (e.g., frequencies or voltages). More... | |
struct | amdsmi_xgmi_info_t |
XGMI Information. More... | |
struct | amdsmi_vram_usage_t |
VRam Usage. More... | |
struct | amdsmi_violation_status_t |
This structure hold violation status information. Note: for MI3x asics and higher, older ASICs will show unsupported. More... | |
struct | amdsmi_frequency_range_t |
Frequency Range. More... | |
union | amdsmi_bdf_t |
bdf types More... | |
struct | amdsmi_enumeration_info_t |
Structure holds enumeration information. More... | |
struct | amdsmi_pcie_info_t |
pcie information More... | |
struct | amdsmi_pcie_info_t::pcie_static_ |
struct | amdsmi_pcie_info_t::pcie_metric_ |
struct | amdsmi_power_cap_info_t |
Power Cap Information. More... | |
struct | amdsmi_vbios_info_t |
VBios Information. More... | |
struct | amdsmi_gpu_cache_info_t |
GPU Cache Information. More... | |
struct | amdsmi_gpu_cache_info_t::cache_ |
struct | amdsmi_fw_info_t |
Firmware Information. More... | |
struct | amdsmi_fw_info_t::fw_info_list_ |
struct | amdsmi_asic_info_t |
ASIC Information. More... | |
struct | amdsmi_kfd_info_t |
Structure holds kfd information. More... | |
union | amdsmi_nps_caps_t |
This union holds memory partition bitmask. More... | |
struct | amdsmi_nps_caps_t::nps_flags_ |
struct | amdsmi_memory_partition_config_t |
Memory Partition Configuration. This structure is used to identify various memory partition configurations. More... | |
struct | amdsmi_memory_partition_config_t::numa_range_ |
struct | amdsmi_accelerator_partition_profile_t |
Accelerator Partition Resource Profile. More... | |
struct | amdsmi_accelerator_partition_resource_profile_t |
Accelerator Partition Resources. This struct is used to identify various partition resource profiles. More... | |
struct | amdsmi_accelerator_partition_profile_config_t |
Accelerator Partition Profile Configurations. More... | |
struct | amdsmi_link_metrics_t |
Link Metrics. More... | |
struct | amdsmi_link_metrics_t::_links |
struct | amdsmi_vram_info_t |
VRam Information. More... | |
struct | amdsmi_driver_info_t |
Driver Information. More... | |
struct | amdsmi_board_info_t |
Board Information. More... | |
struct | amdsmi_power_info_t |
Power Information. More... | |
struct | amdsmi_clk_info_t |
Clock Information. More... | |
struct | amdsmi_engine_usage_t |
Engine Usage amdsmi_engine_usage_t: This structure holds common GPU activity values seen in both BM or SRIOV. More... | |
struct | amdsmi_proc_info_t |
Process Information. More... | |
struct | amdsmi_proc_info_t::engine_usage_ |
struct | amdsmi_proc_info_t::memory_usage_ |
struct | amdsmi_p2p_capability_t |
IO Link P2P Capability. More... | |
struct | amdsmi_counter_value_t |
Counter value. More... | |
struct | amdsmi_evt_notification_data_t |
Event notification data returned from event notification API. More... | |
struct | amdsmi_utilization_counter_t |
The utilization counter data. More... | |
struct | amdsmi_retired_page_record_t |
Reserved Memory Page Record. More... | |
struct | amdsmi_power_profile_status_t |
This structure contains information about which power profiles are supported by the system for a given device, and which power profile is currently active. More... | |
struct | amdsmi_frequencies_t |
This structure holds information about clock frequencies. More... | |
struct | amdsmi_dpm_policy_entry_t |
The dpm policy. More... | |
struct | amdsmi_dpm_policy_t |
DPM Policy. More... | |
struct | amdsmi_pcie_bandwidth_t |
This structure holds information about the possible PCIe bandwidths. Specifically, the possible transfer rates and their associated numbers of lanes are stored here. More... | |
struct | amdsmi_version_t |
This structure holds version information. More... | |
struct | amdsmi_od_vddc_point_t |
This structure represents a point on the frequency-voltage plane. More... | |
struct | amdsmi_freq_volt_region_t |
This structure holds 2 amdsmi_range_t's, one for frequency and one for voltage. These 2 ranges indicate the range of possible values for the corresponding amdsmi_od_vddc_point_t. More... | |
struct | amdsmi_od_volt_curve_t |
OD Vold Curve AMDSMI_NUM_VOLTAGE_CURVE_POINTS number of amdsmi_od_vddc_point_t's. More... | |
struct | amdsmi_od_volt_freq_data_t |
This structure holds the frequency-voltage values for a device. More... | |
struct | amd_metrics_table_header_t |
Structure holds the gpu metrics table header for a device. More... | |
struct | amdsmi_gpu_xcp_metrics_t |
The following structures hold the gpu statistics for a device. More... | |
struct | amdsmi_gpu_metrics_t |
Structure holds the gpu metrics values for a device. More... | |
struct | amdsmi_xgmi_link_status_t |
XGMI Link Status. More... | |
struct | amdsmi_name_value_t |
This structure holds the name value pairs. More... | |
struct | amdsmi_ras_feature_t |
This structure holds ras feature. More... | |
struct | amdsmi_error_count_t |
This structure holds error counts. More... | |
struct | amdsmi_process_info_t |
This structure contains information specific to a process. More... | |
struct | amdsmi_topology_nearest_t |
Topology Nearest. More... | |
struct | amdsmi_smu_fw_version_t |
This structure holds SMU Firmware version information. More... | |
struct | amdsmi_ddr_bw_metrics_t |
DDR bandwidth metrics. More... | |
struct | amdsmi_temp_range_refresh_rate_t |
temperature range and refresh rate metrics of a DIMM More... | |
struct | amdsmi_dimm_power_t |
DIMM Power(mW), power update rate(ms) and dimm address. More... | |
struct | amdsmi_dimm_thermal_t |
DIMM temperature(°C) and update rate(ms) and dimm address. More... | |
struct | amdsmi_link_id_bw_type_t |
LINK name and Bandwidth type Information.It contains link names i.e valid link names are "P0", "P1", "P2", "P3", "P4", "G0", "G1", "G2", "G3", "G4" "G5", "G6", "G7" Valid bandwidth types 1(Aggregate_BW), 2 (Read BW), 4 (Write BW). More... | |
struct | amdsmi_dpm_level_t |
max and min LCLK DPM level on a given NBIO ID. Valid max and min DPM level values are 0 - 1. More... | |
struct | amdsmi_cper_guid_t |
struct | amdsmi_cper_timestamp_t |
union | amdsmi_cper_valid_bits_t |
struct | amdsmi_cper_valid_bits_t::valid_bits_ |
struct | amdsmi_cper_hdr_t |
Macros | |
#define | AMDSMI_MAX_MM_IP_COUNT 8 |
Maximum size definitions. | |
#define | AMDSMI_MAX_DATE_LENGTH 32 |
YYYY-MM-DD:HH:MM:SS.MSC. | |
#define | AMDSMI_MAX_STRING_LENGTH 256 |
#define | AMDSMI_MAX_DEVICES 32 |
#define | AMDSMI_MAX_DRIVER_VERSION_LENGTH 80 |
#define | AMDSMI_MAX_CACHE_TYPES 10 |
#define | AMDSMI_MAX_ACCELERATOR_PROFILE 32 |
#define | AMDSMI_MAX_CP_PROFILE_RESOURCES 32 |
#define | AMDSMI_MAX_ACCELERATOR_PARTITIONS 8 |
#define | AMDSMI_MAX_NUM_NUMA_NODES 32 |
#define | AMDSMI_GPU_UUID_SIZE 38 |
#define | AMDSMI_MAX_NAME 32 |
Common defines. | |
#define | AMDSMI_MAX_NUM_XGMI_PHYSICAL_LINK 64 |
#define | AMDSMI_MAX_CONTAINER_TYPE 2 |
#define | AMDSMI_256_LENGTH AMDSMI_MAX_STRING_LENGTH |
Deprecated. | |
#define | CENTRIGRADE_TO_MILLI_CENTIGRADE 1000 |
The following structure holds the gpu metrics values for a device. More... | |
#define | AMDSMI_NUM_HBM_INSTANCES 4 |
This should match NUM_HBM_INSTANCES. | |
#define | AMDSMI_MAX_NUM_VCN 4 |
This should match MAX_NUM_VCN. | |
#define | AMDSMI_MAX_NUM_CLKS 4 |
This should match MAX_NUM_CLKS. | |
#define | AMDSMI_MAX_NUM_XGMI_LINKS 8 |
This should match MAX_NUM_XGMI_LINKS. | |
#define | AMDSMI_MAX_NUM_GFX_CLKS 8 |
This should match MAX_NUM_GFX_CLKS. | |
#define | AMDSMI_MAX_AID 4 |
This should match AMDSMI_MAX_AID. | |
#define | AMDSMI_MAX_ENGINES 8 |
This should match AMDSMI_MAX_ENGINES. | |
#define | AMDSMI_MAX_NUM_JPEG 32 |
This should match AMDSMI_MAX_NUM_JPEG (8*4=32) | |
#define | AMDSMI_MAX_NUM_XCC 8 |
This should match AMDSMI_MAX_NUM_XCC; XCC - Accelerated Compute Core, the collection of compute units, ACE (Asynchronous Compute Engines), caches, and global resources organized as one unit. More... | |
#define | AMDSMI_MAX_NUM_XCP 8 |
This should match AMDSMI_MAX_NUM_XCP; XCP - Accelerated Compute Processor, also referred to as the Graphics Compute Partitions. Each physical gpu could have a maximum of 8 separate partitions associated with each (depending on ASIC support). More... | |
#define | AMDSMI_TIME_FORMAT "%02d:%02d:%02d.%03d" |
#define | AMDSMI_DATE_FORMAT "%04d-%02d-%02d:%02d:%02d:%02d.%03d" |
#define | AMDSMI_LIB_VERSION_YEAR 25 |
library versioning More... | |
#define | AMDSMI_LIB_VERSION_MAJOR 25 |
Major version should be changed for every header change (adding/deleting APIs, changing names, fields of structures, etc.) | |
#define | AMDSMI_LIB_VERSION_MINOR 4 |
Minor version should be updated for each API change, but without changing headers. | |
#define | AMDSMI_LIB_VERSION_RELEASE 0 |
Release version should be set to 0 as default and can be updated by the PMs for each CSP point release. | |
#define | AMDSMI_LIB_VERSION_CREATE_STRING(MAJOR, MINOR, RELEASE) (#MAJOR "." #MINOR "." #RELEASE) |
#define | AMDSMI_LIB_VERSION_EXPAND_PARTS(MAJOR_STR, MINOR_STR, RELEASE_STR) AMDSMI_LIB_VERSION_CREATE_STRING(MAJOR_STR, MINOR_STR, RELEASE_STR) |
#define | AMDSMI_LIB_VERSION_STRING AMDSMI_LIB_VERSION_EXPAND_PARTS(AMDSMI_LIB_VERSION_MAJOR, AMDSMI_LIB_VERSION_MINOR, AMDSMI_LIB_VERSION_RELEASE) |
#define | AMDSMI_MAX_NUM_FREQUENCIES 33 |
Guaranteed maximum possible number of supported frequencies. | |
#define | AMDSMI_MAX_FAN_SPEED 255 |
#define | AMDSMI_NUM_VOLTAGE_CURVE_POINTS 3 |
The number of points that make up a voltage-frequency curve definition. | |
#define | AMDSMI_EVENT_MASK_FROM_INDEX(i) (1ULL << ((i) - 1)) |
Macro to generate event bitmask from event id. | |
#define | MAX_EVENT_NOTIFICATION_MSG_SIZE 96 |
Maximum number of characters an event notification message will be matches kfd message max size. | |
#define | AMDSMI_MAX_UTILIZATION_VALUES 4 |
The max number of values per counter type. | |
#define | AMDSMI_MAX_NUM_POWER_PROFILES (sizeof(amdsmi_bit_field_t) * 8) |
Number of possible power profiles that a system could support. | |
#define | AMDSMI_MAX_NUM_PM_POLICIES 32 |
#define | MAX_AMDSMI_NAME_LENGTH 64 |
#define | AMDSMI_DEFAULT_VARIANT 0xFFFFFFFFFFFFFFFF |
Typedefs | |
typedef void * | amdsmi_processor_handle |
opaque handler point to underlying implementation | |
typedef void * | amdsmi_socket_handle |
typedef void * | amdsmi_cpusocket_handle |
opaque handler point to underlying implementation | |
typedef uint32_t | amdsmi_process_handle_t |
Process Handle. | |
typedef uintptr_t | amdsmi_event_handle_t |
Handle to performance event counter. | |
typedef uint64_t | amdsmi_bit_field_t |
Bitfield used in various AMDSMI calls. | |
Enumerations | |
enum | amdsmi_init_flags_t { AMDSMI_INIT_ALL_PROCESSORS = 0xFFFFFFFF , AMDSMI_INIT_AMD_CPUS = (1 << 0) , AMDSMI_INIT_AMD_GPUS = (1 << 1) , AMDSMI_INIT_NON_AMD_CPUS = (1 << 2) , AMDSMI_INIT_NON_AMD_GPUS = (1 << 3) , AMDSMI_INIT_AMD_APUS = (AMDSMI_INIT_AMD_CPUS | AMDSMI_INIT_AMD_GPUS) } |
Initialization flags. More... | |
enum | amdsmi_mm_ip_t { AMDSMI_MM_UVD , AMDSMI_MM_VCE , AMDSMI_MM_VCN , AMDSMI_MM__MAX } |
GPU Capability info. | |
enum | amdsmi_container_types_t { AMDSMI_CONTAINER_LXC , AMDSMI_CONTAINER_DOCKER } |
Container. | |
enum | processor_type_t { AMDSMI_PROCESSOR_TYPE_UNKNOWN = 0 , AMDSMI_PROCESSOR_TYPE_AMD_GPU , AMDSMI_PROCESSOR_TYPE_AMD_CPU , AMDSMI_PROCESSOR_TYPE_NON_AMD_GPU , AMDSMI_PROCESSOR_TYPE_NON_AMD_CPU , AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE , AMDSMI_PROCESSOR_TYPE_AMD_APU } |
Processor types detectable by AMD SMI. More... | |
enum | amdsmi_status_t { AMDSMI_STATUS_SUCCESS = 0 , AMDSMI_STATUS_INVAL = 1 , AMDSMI_STATUS_NOT_SUPPORTED = 2 , AMDSMI_STATUS_NOT_YET_IMPLEMENTED = 3 , AMDSMI_STATUS_FAIL_LOAD_MODULE = 4 , AMDSMI_STATUS_FAIL_LOAD_SYMBOL = 5 , AMDSMI_STATUS_DRM_ERROR = 6 , AMDSMI_STATUS_API_FAILED = 7 , AMDSMI_STATUS_TIMEOUT = 8 , AMDSMI_STATUS_RETRY = 9 , AMDSMI_STATUS_NO_PERM = 10 , AMDSMI_STATUS_INTERRUPT = 11 , AMDSMI_STATUS_IO = 12 , AMDSMI_STATUS_ADDRESS_FAULT = 13 , AMDSMI_STATUS_FILE_ERROR = 14 , AMDSMI_STATUS_OUT_OF_RESOURCES = 15 , AMDSMI_STATUS_INTERNAL_EXCEPTION = 16 , AMDSMI_STATUS_INPUT_OUT_OF_BOUNDS = 17 , AMDSMI_STATUS_INIT_ERROR = 18 , AMDSMI_STATUS_REFCOUNT_OVERFLOW = 19 , AMDSMI_STATUS_BUSY = 30 , AMDSMI_STATUS_NOT_FOUND = 31 , AMDSMI_STATUS_NOT_INIT = 32 , AMDSMI_STATUS_NO_SLOT = 33 , AMDSMI_STATUS_DRIVER_NOT_LOADED = 34 , AMDSMI_STATUS_NO_DATA = 40 , AMDSMI_STATUS_INSUFFICIENT_SIZE = 41 , AMDSMI_STATUS_UNEXPECTED_SIZE = 42 , AMDSMI_STATUS_UNEXPECTED_DATA = 43 , AMDSMI_STATUS_NON_AMD_CPU = 44 , AMDSMI_STATUS_NO_ENERGY_DRV = 45 , AMDSMI_STATUS_NO_MSR_DRV = 46 , AMDSMI_STATUS_NO_HSMP_DRV = 47 , AMDSMI_STATUS_NO_HSMP_SUP = 48 , AMDSMI_STATUS_NO_HSMP_MSG_SUP = 49 , AMDSMI_STATUS_HSMP_TIMEOUT = 50 , AMDSMI_STATUS_NO_DRV = 51 , AMDSMI_STATUS_FILE_NOT_FOUND = 52 , AMDSMI_STATUS_ARG_PTR_NULL = 53 , AMDSMI_STATUS_AMDGPU_RESTART_ERR = 54 , AMDSMI_STATUS_SETTING_UNAVAILABLE = 55 , AMDSMI_STATUS_CORRUPTED_EEPROM = 56 , AMDSMI_STATUS_MORE_DATA = 57 , AMDSMI_STATUS_MAP_ERROR = 0xFFFFFFFE , AMDSMI_STATUS_UNKNOWN_ERROR = 0xFFFFFFFF } |
Error codes returned by amdsmi functions. More... | |
enum | amdsmi_clk_type_t { AMDSMI_CLK_TYPE_SYS = 0x0 , AMDSMI_CLK_TYPE_FIRST = AMDSMI_CLK_TYPE_SYS , AMDSMI_CLK_TYPE_GFX = AMDSMI_CLK_TYPE_SYS , AMDSMI_CLK_TYPE_DF , AMDSMI_CLK_TYPE_DCEF , AMDSMI_CLK_TYPE_SOC , AMDSMI_CLK_TYPE_MEM , AMDSMI_CLK_TYPE_PCIE , AMDSMI_CLK_TYPE_VCLK0 , AMDSMI_CLK_TYPE_VCLK1 , AMDSMI_CLK_TYPE_DCLK0 , AMDSMI_CLK_TYPE_DCLK1 , AMDSMI_CLK_TYPE__MAX = AMDSMI_CLK_TYPE_DCLK1 } |
Clock types. More... | |
enum | amdsmi_accelerator_partition_type_t { AMDSMI_ACCELERATOR_PARTITION_INVALID = 0 , AMDSMI_ACCELERATOR_PARTITION_SPX , AMDSMI_ACCELERATOR_PARTITION_DPX , AMDSMI_ACCELERATOR_PARTITION_TPX , AMDSMI_ACCELERATOR_PARTITION_QPX , AMDSMI_ACCELERATOR_PARTITION_CPX , AMDSMI_ACCELERATOR_PARTITION_MAX } |
Accelerator Partition. More... | |
enum | amdsmi_accelerator_partition_resource_type_t { AMDSMI_ACCELERATOR_XCC , AMDSMI_ACCELERATOR_ENCODER , AMDSMI_ACCELERATOR_DECODER , AMDSMI_ACCELERATOR_DMA , AMDSMI_ACCELERATOR_JPEG , AMDSMI_ACCELERATOR_MAX } |
Accelerator Partition Resource Types. | |
enum | amdsmi_compute_partition_type_t { AMDSMI_COMPUTE_PARTITION_INVALID = 0 , AMDSMI_COMPUTE_PARTITION_SPX , AMDSMI_COMPUTE_PARTITION_DPX , AMDSMI_COMPUTE_PARTITION_TPX , AMDSMI_COMPUTE_PARTITION_QPX , AMDSMI_COMPUTE_PARTITION_CPX } |
Compute Partition. This enum is used to identify various compute partitioning settings. More... | |
enum | amdsmi_memory_partition_type_t { AMDSMI_MEMORY_PARTITION_UNKNOWN = 0 , AMDSMI_MEMORY_PARTITION_NPS1 = 1 , AMDSMI_MEMORY_PARTITION_NPS2 = 2 , AMDSMI_MEMORY_PARTITION_NPS4 = 4 , AMDSMI_MEMORY_PARTITION_NPS8 = 8 } |
Memory Partitions. More... | |
enum | amdsmi_temperature_type_t { AMDSMI_TEMPERATURE_TYPE_EDGE , AMDSMI_TEMPERATURE_TYPE_FIRST = AMDSMI_TEMPERATURE_TYPE_EDGE , AMDSMI_TEMPERATURE_TYPE_HOTSPOT , AMDSMI_TEMPERATURE_TYPE_JUNCTION = AMDSMI_TEMPERATURE_TYPE_HOTSPOT , AMDSMI_TEMPERATURE_TYPE_VRAM , AMDSMI_TEMPERATURE_TYPE_HBM_0 , AMDSMI_TEMPERATURE_TYPE_HBM_1 , AMDSMI_TEMPERATURE_TYPE_HBM_2 , AMDSMI_TEMPERATURE_TYPE_HBM_3 , AMDSMI_TEMPERATURE_TYPE_PLX , AMDSMI_TEMPERATURE_TYPE__MAX = AMDSMI_TEMPERATURE_TYPE_PLX } |
This enumeration is used to indicate from which part of the processor a temperature reading should be obtained. | |
enum | amdsmi_fw_block_t { AMDSMI_FW_ID_SMU = 1 , AMDSMI_FW_ID_FIRST = AMDSMI_FW_ID_SMU , AMDSMI_FW_ID_CP_CE , AMDSMI_FW_ID_CP_PFP , AMDSMI_FW_ID_CP_ME , AMDSMI_FW_ID_CP_MEC_JT1 , AMDSMI_FW_ID_CP_MEC_JT2 , AMDSMI_FW_ID_CP_MEC1 , AMDSMI_FW_ID_CP_MEC2 , AMDSMI_FW_ID_RLC , AMDSMI_FW_ID_SDMA0 , AMDSMI_FW_ID_SDMA1 , AMDSMI_FW_ID_SDMA2 , AMDSMI_FW_ID_SDMA3 , AMDSMI_FW_ID_SDMA4 , AMDSMI_FW_ID_SDMA5 , AMDSMI_FW_ID_SDMA6 , AMDSMI_FW_ID_SDMA7 , AMDSMI_FW_ID_VCN , AMDSMI_FW_ID_UVD , AMDSMI_FW_ID_VCE , AMDSMI_FW_ID_ISP , AMDSMI_FW_ID_DMCU_ERAM , AMDSMI_FW_ID_DMCU_ISR , AMDSMI_FW_ID_RLC_RESTORE_LIST_GPM_MEM , AMDSMI_FW_ID_RLC_RESTORE_LIST_SRM_MEM , AMDSMI_FW_ID_RLC_RESTORE_LIST_CNTL , AMDSMI_FW_ID_RLC_V , AMDSMI_FW_ID_MMSCH , AMDSMI_FW_ID_PSP_SYSDRV , AMDSMI_FW_ID_PSP_SOSDRV , AMDSMI_FW_ID_PSP_TOC , AMDSMI_FW_ID_PSP_KEYDB , AMDSMI_FW_ID_DFC , AMDSMI_FW_ID_PSP_SPL , AMDSMI_FW_ID_DRV_CAP , AMDSMI_FW_ID_MC , AMDSMI_FW_ID_PSP_BL , AMDSMI_FW_ID_CP_PM4 , AMDSMI_FW_ID_RLC_P , AMDSMI_FW_ID_SEC_POLICY_STAGE2 , AMDSMI_FW_ID_REG_ACCESS_WHITELIST , AMDSMI_FW_ID_IMU_DRAM , AMDSMI_FW_ID_IMU_IRAM , AMDSMI_FW_ID_SDMA_TH0 , AMDSMI_FW_ID_SDMA_TH1 , AMDSMI_FW_ID_CP_MES , AMDSMI_FW_ID_MES_KIQ , AMDSMI_FW_ID_MES_STACK , AMDSMI_FW_ID_MES_THREAD1 , AMDSMI_FW_ID_MES_THREAD1_STACK , AMDSMI_FW_ID_RLX6 , AMDSMI_FW_ID_RLX6_DRAM_BOOT , AMDSMI_FW_ID_RS64_ME , AMDSMI_FW_ID_RS64_ME_P0_DATA , AMDSMI_FW_ID_RS64_ME_P1_DATA , AMDSMI_FW_ID_RS64_PFP , AMDSMI_FW_ID_RS64_PFP_P0_DATA , AMDSMI_FW_ID_RS64_PFP_P1_DATA , AMDSMI_FW_ID_RS64_MEC , AMDSMI_FW_ID_RS64_MEC_P0_DATA , AMDSMI_FW_ID_RS64_MEC_P1_DATA , AMDSMI_FW_ID_RS64_MEC_P2_DATA , AMDSMI_FW_ID_RS64_MEC_P3_DATA , AMDSMI_FW_ID_PPTABLE , AMDSMI_FW_ID_PSP_SOC , AMDSMI_FW_ID_PSP_DBG , AMDSMI_FW_ID_PSP_INTF , AMDSMI_FW_ID_RLX6_CORE1 , AMDSMI_FW_ID_RLX6_DRAM_BOOT_CORE1 , AMDSMI_FW_ID_RLCV_LX7 , AMDSMI_FW_ID_RLC_SAVE_RESTORE_LIST , AMDSMI_FW_ID_ASD , AMDSMI_FW_ID_TA_RAS , AMDSMI_FW_ID_TA_XGMI , AMDSMI_FW_ID_RLC_SRLG , AMDSMI_FW_ID_RLC_SRLS , AMDSMI_FW_ID_PM , AMDSMI_FW_ID_DMCU , AMDSMI_FW_ID__MAX } |
The values of this enum are used to identify the various firmware blocks. | |
enum | amdsmi_vram_type_t { AMDSMI_VRAM_TYPE_UNKNOWN = 0 , AMDSMI_VRAM_TYPE_HBM = 1 , AMDSMI_VRAM_TYPE_HBM2 = 2 , AMDSMI_VRAM_TYPE_HBM2E = 3 , AMDSMI_VRAM_TYPE_HBM3 = 4 , AMDSMI_VRAM_TYPE_DDR2 = 10 , AMDSMI_VRAM_TYPE_DDR3 = 11 , AMDSMI_VRAM_TYPE_DDR4 = 12 , AMDSMI_VRAM_TYPE_GDDR1 = 17 , AMDSMI_VRAM_TYPE_GDDR2 = 18 , AMDSMI_VRAM_TYPE_GDDR3 = 19 , AMDSMI_VRAM_TYPE_GDDR4 = 20 , AMDSMI_VRAM_TYPE_GDDR5 = 21 , AMDSMI_VRAM_TYPE_GDDR6 = 22 , AMDSMI_VRAM_TYPE_GDDR7 = 23 , AMDSMI_VRAM_TYPE__MAX = AMDSMI_VRAM_TYPE_GDDR7 } |
vRam Types. This enum is used to identify various VRam types. | |
enum | amdsmi_vram_vendor_type_t { AMDSMI_VRAM_VENDOR_SAMSUNG , AMDSMI_VRAM_VENDOR_INFINEON , AMDSMI_VRAM_VENDOR_ELPIDA , AMDSMI_VRAM_VENDOR_ETRON , AMDSMI_VRAM_VENDOR_NANYA , AMDSMI_VRAM_VENDOR_HYNIX , AMDSMI_VRAM_VENDOR_MOSEL , AMDSMI_VRAM_VENDOR_WINBOND , AMDSMI_VRAM_VENDOR_ESMT , AMDSMI_VRAM_VENDOR_MICRON , AMDSMI_VRAM_VENDOR_UNKNOWN } |
VRam Vendor Types. | |
enum | amdsmi_card_form_factor_t { AMDSMI_CARD_FORM_FACTOR_PCIE , AMDSMI_CARD_FORM_FACTOR_OAM , AMDSMI_CARD_FORM_FACTOR_CEM , AMDSMI_CARD_FORM_FACTOR_UNKNOWN } |
Card Form Factor. | |
enum | amdsmi_cache_property_type_t { AMDSMI_CACHE_PROPERTY_ENABLED = 0x00000001 , AMDSMI_CACHE_PROPERTY_DATA_CACHE = 0x00000002 , AMDSMI_CACHE_PROPERTY_INST_CACHE = 0x00000004 , AMDSMI_CACHE_PROPERTY_CPU_CACHE = 0x00000008 , AMDSMI_CACHE_PROPERTY_SIMD_CACHE = 0x00000010 } |
cache properties | |
enum | amdsmi_link_type_t { AMDSMI_LINK_TYPE_INTERNAL , AMDSMI_LINK_TYPE_XGMI , AMDSMI_LINK_TYPE_PCIE , AMDSMI_LINK_TYPE_NOT_APPLICABLE , AMDSMI_LINK_TYPE_UNKNOWN } |
Link type. | |
enum | amdsmi_dev_perf_level_t { AMDSMI_DEV_PERF_LEVEL_AUTO = 0 , AMDSMI_DEV_PERF_LEVEL_FIRST = AMDSMI_DEV_PERF_LEVEL_AUTO , AMDSMI_DEV_PERF_LEVEL_LOW , AMDSMI_DEV_PERF_LEVEL_HIGH , AMDSMI_DEV_PERF_LEVEL_MANUAL , AMDSMI_DEV_PERF_LEVEL_STABLE_STD , AMDSMI_DEV_PERF_LEVEL_STABLE_PEAK , AMDSMI_DEV_PERF_LEVEL_STABLE_MIN_MCLK , AMDSMI_DEV_PERF_LEVEL_STABLE_MIN_SCLK , AMDSMI_DEV_PERF_LEVEL_DETERMINISM , AMDSMI_DEV_PERF_LEVEL_LAST = AMDSMI_DEV_PERF_LEVEL_DETERMINISM , AMDSMI_DEV_PERF_LEVEL_UNKNOWN = 0x100 } |
PowerPlay performance levels. More... | |
enum | amdsmi_event_group_t { AMDSMI_EVNT_GRP_XGMI = 0 , AMDSMI_EVNT_GRP_XGMI_DATA_OUT = 10 , AMDSMI_EVNT_GRP_INVALID = 0xFFFFFFFF } |
Event Groups Enum denoting an event group. The value of the enum is the base value for all the event enums in the group. More... | |
enum | amdsmi_event_type_t { AMDSMI_EVNT_FIRST = AMDSMI_EVNT_GRP_XGMI , AMDSMI_EVNT_XGMI_FIRST = AMDSMI_EVNT_GRP_XGMI , AMDSMI_EVNT_XGMI_0_NOP_TX = AMDSMI_EVNT_XGMI_FIRST , AMDSMI_EVNT_XGMI_0_REQUEST_TX , AMDSMI_EVNT_XGMI_0_RESPONSE_TX , AMDSMI_EVNT_XGMI_0_BEATS_TX , AMDSMI_EVNT_XGMI_1_NOP_TX , AMDSMI_EVNT_XGMI_1_REQUEST_TX , AMDSMI_EVNT_XGMI_1_RESPONSE_TX , AMDSMI_EVNT_XGMI_1_BEATS_TX , AMDSMI_EVNT_XGMI_LAST = AMDSMI_EVNT_XGMI_1_BEATS_TX , AMDSMI_EVNT_XGMI_DATA_OUT_FIRST = AMDSMI_EVNT_GRP_XGMI_DATA_OUT , AMDSMI_EVNT_XGMI_DATA_OUT_0 = AMDSMI_EVNT_XGMI_DATA_OUT_FIRST , AMDSMI_EVNT_XGMI_DATA_OUT_1 , AMDSMI_EVNT_XGMI_DATA_OUT_2 , AMDSMI_EVNT_XGMI_DATA_OUT_3 , AMDSMI_EVNT_XGMI_DATA_OUT_4 , AMDSMI_EVNT_XGMI_DATA_OUT_5 , AMDSMI_EVNT_XGMI_DATA_OUT_LAST = AMDSMI_EVNT_XGMI_DATA_OUT_5 , AMDSMI_EVNT_LAST = AMDSMI_EVNT_XGMI_DATA_OUT_LAST } |
Event types Event type enum. Events belonging to a particular event group amdsmi_event_group_t should begin enumerating at the amdsmi_event_group_t value for that group. More... | |
enum | amdsmi_counter_command_t { AMDSMI_CNTR_CMD_START = 0 , AMDSMI_CNTR_CMD_STOP } |
Event counter commands. More... | |
enum | amdsmi_evt_notification_type_t { AMDSMI_EVT_NOTIF_NONE = 0 , AMDSMI_EVT_NOTIF_VMFAULT = 1 , AMDSMI_EVT_NOTIF_FIRST = AMDSMI_EVT_NOTIF_VMFAULT , AMDSMI_EVT_NOTIF_THERMAL_THROTTLE = 2 , AMDSMI_EVT_NOTIF_GPU_PRE_RESET = 3 , AMDSMI_EVT_NOTIF_GPU_POST_RESET = 4 , AMDSMI_EVT_NOTIF_RING_HANG = 5 , AMDSMI_EVT_NOTIF_LAST = AMDSMI_EVT_NOTIF_RING_HANG } |
Event notification event types. More... | |
enum | amdsmi_temperature_metric_t { AMDSMI_TEMP_CURRENT = 0x0 , AMDSMI_TEMP_FIRST = AMDSMI_TEMP_CURRENT , AMDSMI_TEMP_MAX , AMDSMI_TEMP_MIN , AMDSMI_TEMP_MAX_HYST , AMDSMI_TEMP_MIN_HYST , AMDSMI_TEMP_CRITICAL , AMDSMI_TEMP_CRITICAL_HYST , AMDSMI_TEMP_EMERGENCY , AMDSMI_TEMP_EMERGENCY_HYST , AMDSMI_TEMP_CRIT_MIN , AMDSMI_TEMP_CRIT_MIN_HYST , AMDSMI_TEMP_OFFSET , AMDSMI_TEMP_LOWEST , AMDSMI_TEMP_HIGHEST , AMDSMI_TEMP_SHUTDOWN , AMDSMI_TEMP_LAST = AMDSMI_TEMP_SHUTDOWN } |
Temperature Metrics. This enum is used to identify various temperature metrics. Corresponding values will be in millidegress Celcius {@linux_bm} or Celcius {@host}. More... | |
enum | amdsmi_voltage_metric_t { AMDSMI_VOLT_CURRENT = 0x0 , AMDSMI_VOLT_FIRST = AMDSMI_VOLT_CURRENT , AMDSMI_VOLT_MAX , AMDSMI_VOLT_MIN_CRIT , AMDSMI_VOLT_MIN , AMDSMI_VOLT_MAX_CRIT , AMDSMI_VOLT_AVERAGE , AMDSMI_VOLT_LOWEST , AMDSMI_VOLT_HIGHEST , AMDSMI_VOLT_LAST = AMDSMI_VOLT_HIGHEST } |
Voltage Metrics. This enum is used to identify various Volatge metrics. Corresponding values will be in millivolt. More... | |
enum | amdsmi_voltage_type_t { AMDSMI_VOLT_TYPE_FIRST = 0 , AMDSMI_VOLT_TYPE_VDDGFX = AMDSMI_VOLT_TYPE_FIRST , AMDSMI_VOLT_TYPE_LAST = AMDSMI_VOLT_TYPE_VDDGFX , AMDSMI_VOLT_TYPE_INVALID = 0xFFFFFFFF } |
This ennumeration is used to indicate which type of voltage reading should be obtained. More... | |
enum | amdsmi_power_profile_preset_masks_t { AMDSMI_PWR_PROF_PRST_CUSTOM_MASK = 0x1 , AMDSMI_PWR_PROF_PRST_VIDEO_MASK = 0x2 , AMDSMI_PWR_PROF_PRST_POWER_SAVING_MASK = 0x4 , AMDSMI_PWR_PROF_PRST_COMPUTE_MASK = 0x8 , AMDSMI_PWR_PROF_PRST_VR_MASK = 0x10 , AMDSMI_PWR_PROF_PRST_3D_FULL_SCR_MASK = 0x20 , AMDSMI_PWR_PROF_PRST_BOOTUP_DEFAULT = 0x40 , AMDSMI_PWR_PROF_PRST_LAST = AMDSMI_PWR_PROF_PRST_BOOTUP_DEFAULT , AMDSMI_PWR_PROF_PRST_INVALID = 0xFFFFFFFFFFFFFFFF } |
Pre-set Profile Selections. These bitmasks can be AND'd with the ::amdsmi_power_profile_status_t.available_profiles returned from :: amdsmi_get_gpu_power_profile_presets to determine which power profiles are supported by the system. More... | |
enum | amdsmi_gpu_block_t { AMDSMI_GPU_BLOCK_INVALID = 0x0000000000000000 , AMDSMI_GPU_BLOCK_FIRST = 0x0000000000000001 , AMDSMI_GPU_BLOCK_UMC = AMDSMI_GPU_BLOCK_FIRST , AMDSMI_GPU_BLOCK_SDMA = 0x0000000000000002 , AMDSMI_GPU_BLOCK_GFX = 0x0000000000000004 , AMDSMI_GPU_BLOCK_MMHUB = 0x0000000000000008 , AMDSMI_GPU_BLOCK_ATHUB = 0x0000000000000010 , AMDSMI_GPU_BLOCK_PCIE_BIF = 0x0000000000000020 , AMDSMI_GPU_BLOCK_HDP = 0x0000000000000040 , AMDSMI_GPU_BLOCK_XGMI_WAFL = 0x0000000000000080 , AMDSMI_GPU_BLOCK_DF = 0x0000000000000100 , AMDSMI_GPU_BLOCK_SMN = 0x0000000000000200 , AMDSMI_GPU_BLOCK_SEM = 0x0000000000000400 , AMDSMI_GPU_BLOCK_MP0 = 0x0000000000000800 , AMDSMI_GPU_BLOCK_MP1 = 0x0000000000001000 , AMDSMI_GPU_BLOCK_FUSE = 0x0000000000002000 , AMDSMI_GPU_BLOCK_MCA = 0x0000000000004000 , AMDSMI_GPU_BLOCK_VCN = 0x0000000000008000 , AMDSMI_GPU_BLOCK_JPEG = 0x0000000000010000 , AMDSMI_GPU_BLOCK_IH = 0x0000000000020000 , AMDSMI_GPU_BLOCK_MPIO = 0x0000000000040000 , AMDSMI_GPU_BLOCK_LAST = AMDSMI_GPU_BLOCK_MPIO , AMDSMI_GPU_BLOCK_RESERVED = 0x8000000000000000 } |
This enum is used to identify different GPU blocks. More... | |
enum | amdsmi_clk_limit_type_t { CLK_LIMIT_MIN , CLK_LIMIT_MAX } |
The clk limit type. More... | |
enum | amdsmi_cper_sev_t { AMDSMI_CPER_SEV_NON_FATAL_UNCORRECTED = 0 , AMDSMI_CPER_SEV_FATAL = 1 , AMDSMI_CPER_SEV_NON_FATAL_CORRECTED = 2 , AMDSMI_CPER_SEV_NUM = 3 , AMDSMI_CPER_SEV_UNUSED = 10 } |
enum | amdsmi_cper_notify_type_t { AMDSMI_CPER_NOTIFY_TYPE_CMC = 0x450eBDD72DCE8BB1 , AMDSMI_CPER_NOTIFY_TYPE_CPE = 0x4a55D8434E292F96 , AMDSMI_CPER_NOTIFY_TYPE_MCE = 0x4cc5919CE8F56FFE , AMDSMI_CPER_NOTIFY_TYPE_PCIE = 0x4dfc1A16CF93C01F , AMDSMI_CPER_NOTIFY_TYPE_INIT = 0x454a9308CC5263E8 , AMDSMI_CPER_NOTIFY_TYPE_NMI = 0x42c9B7E65BAD89FF , AMDSMI_CPER_NOTIFY_TYPE_BOOT = 0x409aAB403D61A466 , AMDSMI_CPER_NOTIFY_TYPE_DMAR = 0x4c27C6B3667DD791 , AMDSMI_CPER_NOTIFY_TYPE_SEA = 0x11E4BBE89A78788A , AMDSMI_CPER_NOTIFY_TYPE_SEI = 0x4E87B0AE5C284C81 , AMDSMI_CPER_NOTIFY_TYPE_PEI = 0x4214520409A9D5AC , AMDSMI_CPER_NOTIFY_TYPE_CXL_COMPONENT = 0x49A341DF69293BC9 } |
enum | amdsmi_ras_err_state_t { AMDSMI_RAS_ERR_STATE_NONE = 0 , AMDSMI_RAS_ERR_STATE_DISABLED , AMDSMI_RAS_ERR_STATE_PARITY , AMDSMI_RAS_ERR_STATE_SING_C , AMDSMI_RAS_ERR_STATE_MULT_UC , AMDSMI_RAS_ERR_STATE_POISON , AMDSMI_RAS_ERR_STATE_ENABLED , AMDSMI_RAS_ERR_STATE_LAST = AMDSMI_RAS_ERR_STATE_ENABLED , AMDSMI_RAS_ERR_STATE_INVALID = 0xFFFFFFFF } |
The current ECC state. More... | |
enum | amdsmi_memory_type_t { AMDSMI_MEM_TYPE_FIRST = 0 , AMDSMI_MEM_TYPE_VRAM = AMDSMI_MEM_TYPE_FIRST , AMDSMI_MEM_TYPE_VIS_VRAM , AMDSMI_MEM_TYPE_GTT , AMDSMI_MEM_TYPE_LAST = AMDSMI_MEM_TYPE_GTT } |
Types of memory. More... | |
enum | amdsmi_freq_ind_t { AMDSMI_FREQ_IND_MIN = 0 , AMDSMI_FREQ_IND_MAX = 1 , AMDSMI_FREQ_IND_INVALID = 0xFFFFFFFF } |
The values of this enum are used as frequency identifiers. More... | |
enum | amdsmi_xgmi_status_t { AMDSMI_XGMI_STATUS_NO_ERRORS = 0 , AMDSMI_XGMI_STATUS_ERROR , AMDSMI_XGMI_STATUS_MULTIPLE_ERRORS } |
XGMI Status. | |
enum | amdsmi_memory_page_status_t { AMDSMI_MEM_PAGE_STATUS_RESERVED = 0 , AMDSMI_MEM_PAGE_STATUS_PENDING , AMDSMI_MEM_PAGE_STATUS_UNRESERVABLE } |
Reserved Memory Page States. More... | |
enum | amdsmi_io_link_type_t { AMDSMI_IOLINK_TYPE_UNDEFINED = 0 , AMDSMI_IOLINK_TYPE_PCIEXPRESS = 1 , AMDSMI_IOLINK_TYPE_XGMI = 2 , AMDSMI_IOLINK_TYPE_NUMIOLINKTYPES , AMDSMI_IOLINK_TYPE_SIZE = 0xFFFFFFFF } |
Types for IO Link. More... | |
enum | amdsmi_utilization_counter_type_t { AMDSMI_UTILIZATION_COUNTER_FIRST = 0 , AMDSMI_COARSE_GRAIN_GFX_ACTIVITY = AMDSMI_UTILIZATION_COUNTER_FIRST , AMDSMI_COARSE_GRAIN_MEM_ACTIVITY , AMDSMI_COARSE_DECODER_ACTIVITY , AMDSMI_FINE_GRAIN_GFX_ACTIVITY = 100 , AMDSMI_FINE_GRAIN_MEM_ACTIVITY = 101 , AMDSMI_FINE_DECODER_ACTIVITY = 102 , AMDSMI_UTILIZATION_COUNTER_LAST = AMDSMI_FINE_DECODER_ACTIVITY } |
The utilization counter type. More... | |
enum | amdsmi_xgmi_link_status_type_t { AMDSMI_XGMI_LINK_DOWN , AMDSMI_XGMI_LINK_UP , AMDSMI_XGMI_LINK_DISABLE } |
XGMI Link Status Type. More... | |
enum | amdsmi_reg_type_t { AMDSMI_REG_XGMI , AMDSMI_REG_WAFL , AMDSMI_REG_PCIE , AMDSMI_REG_USR , AMDSMI_REG_USR1 } |
This register type for register table. | |
enum | amdsmi_virtualization_mode_t { AMDSMI_VIRTUALIZATION_MODE_UNKNOWN = 0 , AMDSMI_VIRTUALIZATION_MODE_BAREMETAL , AMDSMI_VIRTUALIZATION_MODE_HOST , AMDSMI_VIRTUALIZATION_MODE_GUEST , AMDSMI_VIRTUALIZATION_MODE_PASSTHROUGH } |
Variant placeholder. More... | |
enum | amdsmi_io_bw_encoding_t { AGG_BW0 = 1 , RD_BW0 = 2 , WR_BW0 = 4 } |
xGMI Bandwidth Encoding types More... | |
Functions | |
struct | __attribute__ ((__packed__)) |
HSMP Metrics table (supported only with hsmp proto version 6). More... | |
amdsmi_status_t | amdsmi_init (uint64_t init_flags) |
Initialize the AMD SMI library. More... | |
amdsmi_status_t | amdsmi_shut_down (void) |
Shutdown the AMD SMI library. More... | |
amdsmi_status_t | amdsmi_get_socket_handles (uint32_t *socket_count, amdsmi_socket_handle *socket_handles) |
Get the list of socket handles in the system. More... | |
amdsmi_status_t | amdsmi_get_cpu_handles (uint32_t *cpu_count, amdsmi_processor_handle *processor_handles) |
Get the list of cpu handles in the system. More... | |
amdsmi_status_t | amdsmi_get_socket_info (amdsmi_socket_handle socket_handle, size_t len, char *name) |
Get information about the given socket. More... | |
amdsmi_status_t | amdsmi_get_processor_info (amdsmi_processor_handle processor_handle, size_t len, char *name) |
Get information about the given processor. More... | |
amdsmi_status_t | amdsmi_get_processor_count_from_handles (amdsmi_processor_handle *processor_handles, uint32_t *processor_count, uint32_t *nr_cpusockets, uint32_t *nr_cpucores, uint32_t *nr_gpus) |
Get respective processor counts from the processor handles. More... | |
amdsmi_status_t | amdsmi_get_processor_handles_by_type (amdsmi_socket_handle socket_handle, processor_type_t processor_type, amdsmi_processor_handle *processor_handles, uint32_t *processor_count) |
Get processor list as per processor type. More... | |
amdsmi_status_t | amdsmi_get_processor_handles (amdsmi_socket_handle socket_handle, uint32_t *processor_count, amdsmi_processor_handle *processor_handles) |
Get the list of the processor handles associated to a socket. More... | |
amdsmi_status_t | amdsmi_get_cpucore_handles (uint32_t *cores_count, amdsmi_processor_handle *processor_handles) |
Get the list of the cpu core handles in a system. More... | |
amdsmi_status_t | amdsmi_get_processor_type (amdsmi_processor_handle processor_handle, processor_type_t *processor_type) |
Get the processor type of the processor_handle. More... | |
amdsmi_status_t | amdsmi_get_processor_handle_from_bdf (amdsmi_bdf_t bdf, amdsmi_processor_handle *processor_handle) |
Get processor handle with the matching bdf. More... | |
amdsmi_status_t | amdsmi_get_gpu_device_bdf (amdsmi_processor_handle processor_handle, amdsmi_bdf_t *bdf) |
Returns BDF of the given device. More... | |
amdsmi_status_t | amdsmi_get_gpu_device_uuid (amdsmi_processor_handle processor_handle, unsigned int *uuid_length, char *uuid) |
Returns the UUID of the device. More... | |
amdsmi_status_t | amdsmi_get_gpu_enumeration_info (amdsmi_processor_handle processor_handle, amdsmi_enumeration_info_t *info) |
Returns the Enumeration information for the device. More... | |
amdsmi_status_t | amdsmi_get_gpu_id (amdsmi_processor_handle processor_handle, uint16_t *id) |
Get the device id associated with the device with provided device handler. More... | |
amdsmi_status_t | amdsmi_get_gpu_revision (amdsmi_processor_handle processor_handle, uint16_t *revision) |
Get the device revision associated with the device. More... | |
amdsmi_status_t | amdsmi_get_gpu_vendor_name (amdsmi_processor_handle processor_handle, char *name, size_t len) |
Get the name string for a give vendor ID. More... | |
amdsmi_status_t | amdsmi_get_gpu_vram_vendor (amdsmi_processor_handle processor_handle, char *brand, uint32_t len) |
Get the vram vendor string of a device. More... | |
amdsmi_status_t | amdsmi_get_gpu_subsystem_id (amdsmi_processor_handle processor_handle, uint16_t *id) |
Get the subsystem device id associated with the device with provided processor handle. More... | |
amdsmi_status_t | amdsmi_get_gpu_subsystem_name (amdsmi_processor_handle processor_handle, char *name, size_t len) |
Get the name string for the device subsytem. More... | |
amdsmi_status_t | amdsmi_get_gpu_virtualization_mode (amdsmi_processor_handle processor_handle, amdsmi_virtualization_mode_t *mode) |
Returns the virtualization mode for the target device. More... | |
amdsmi_status_t | amdsmi_get_gpu_pci_bandwidth (amdsmi_processor_handle processor_handle, amdsmi_pcie_bandwidth_t *bandwidth) |
Get the list of possible PCIe bandwidths that are available. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_bdf_id (amdsmi_processor_handle processor_handle, uint64_t *bdfid) |
Get the unique PCI device identifier associated for a device. More... | |
amdsmi_status_t | amdsmi_get_gpu_topo_numa_affinity (amdsmi_processor_handle processor_handle, int32_t *numa_node) |
Get the NUMA node associated with a device. More... | |
amdsmi_status_t | amdsmi_get_gpu_pci_throughput (amdsmi_processor_handle processor_handle, uint64_t *sent, uint64_t *received, uint64_t *max_pkt_sz) |
Get PCIe traffic information. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_pci_replay_counter (amdsmi_processor_handle processor_handle, uint64_t *counter) |
Get PCIe replay counter. More... | |
amdsmi_status_t | amdsmi_set_gpu_pci_bandwidth (amdsmi_processor_handle processor_handle, uint64_t bw_bitmask) |
Control the set of allowed PCIe bandwidths that can be used. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_energy_count (amdsmi_processor_handle processor_handle, uint64_t *energy_accumulator, float *counter_resolution, uint64_t *timestamp) |
Get the energy accumulator counter of the processor with provided processor handle. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_set_power_cap (amdsmi_processor_handle processor_handle, uint32_t sensor_ind, uint64_t cap) |
Set the maximum gpu power cap value. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_set_gpu_power_profile (amdsmi_processor_handle processor_handle, uint32_t reserved, amdsmi_power_profile_preset_masks_t profile) |
Set the power performance profile. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_cpu_socket_power (amdsmi_processor_handle processor_handle, uint32_t *ppower) |
Get the socket power. More... | |
amdsmi_status_t | amdsmi_get_cpu_socket_power_cap (amdsmi_processor_handle processor_handle, uint32_t *pcap) |
Get the socket power cap. More... | |
amdsmi_status_t | amdsmi_get_cpu_socket_power_cap_max (amdsmi_processor_handle processor_handle, uint32_t *pmax) |
Get the maximum power cap value for a given socket. More... | |
amdsmi_status_t | amdsmi_get_cpu_pwr_svi_telemetry_all_rails (amdsmi_processor_handle processor_handle, uint32_t *power) |
Get the SVI based power telemetry for all rails. More... | |
amdsmi_status_t | amdsmi_set_cpu_socket_power_cap (amdsmi_processor_handle processor_handle, uint32_t pcap) |
Set the power cap value for a given socket. More... | |
amdsmi_status_t | amdsmi_set_cpu_pwr_efficiency_mode (amdsmi_processor_handle processor_handle, uint8_t mode) |
Set the power efficiency profile policy. More... | |
amdsmi_status_t | amdsmi_get_gpu_memory_total (amdsmi_processor_handle processor_handle, amdsmi_memory_type_t mem_type, uint64_t *total) |
Get the total amount of memory that exists. More... | |
amdsmi_status_t | amdsmi_get_gpu_memory_usage (amdsmi_processor_handle processor_handle, amdsmi_memory_type_t mem_type, uint64_t *used) |
Get the current memory usage. More... | |
amdsmi_status_t | amdsmi_get_gpu_bad_page_info (amdsmi_processor_handle processor_handle, uint32_t *num_pages, amdsmi_retired_page_record_t *info) |
Get the bad pages of a processor. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_bad_page_threshold (amdsmi_processor_handle processor_handle, uint32_t *threshold) |
Get the bad pages threshold of a processor. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_gpu_validate_ras_eeprom (amdsmi_processor_handle processor_handle) |
Verify the checksum of RAS EEPROM. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_ras_feature_info (amdsmi_processor_handle processor_handle, amdsmi_ras_feature_t *ras_feature) |
Returns RAS features info. More... | |
amdsmi_status_t | amdsmi_get_gpu_ras_block_features_enabled (amdsmi_processor_handle processor_handle, amdsmi_gpu_block_t block, amdsmi_ras_err_state_t *state) |
Returns if RAS features are enabled or disabled for given block. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_memory_reserved_pages (amdsmi_processor_handle processor_handle, uint32_t *num_pages, amdsmi_retired_page_record_t *records) |
Get information about reserved ("retired") memory pages. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_fan_rpms (amdsmi_processor_handle processor_handle, uint32_t sensor_ind, int64_t *speed) |
Get the fan speed in RPMs of the device with the specified processor handle and 0-based sensor index. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_fan_speed (amdsmi_processor_handle processor_handle, uint32_t sensor_ind, int64_t *speed) |
Get the fan speed for the specified device as a value relative to AMDSMI_MAX_FAN_SPEED. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_fan_speed_max (amdsmi_processor_handle processor_handle, uint32_t sensor_ind, uint64_t *max_speed) |
Get the max. fan speed of the device with provided processor handle. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_temp_metric (amdsmi_processor_handle processor_handle, amdsmi_temperature_type_t sensor_type, amdsmi_temperature_metric_t metric, int64_t *temperature) |
Get the temperature metric value for the specified metric, from the specified temperature sensor on the specified device. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_cache_info (amdsmi_processor_handle processor_handle, amdsmi_gpu_cache_info_t *info) |
Returns gpu cache info. More... | |
amdsmi_status_t | amdsmi_get_gpu_volt_metric (amdsmi_processor_handle processor_handle, amdsmi_voltage_type_t sensor_type, amdsmi_voltage_metric_t metric, int64_t *voltage) |
Get the voltage metric value for the specified metric, from the specified voltage sensor on the specified device. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_reset_gpu_fan (amdsmi_processor_handle processor_handle, uint32_t sensor_ind) |
Reset the fan to automatic driver control. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_set_gpu_fan_speed (amdsmi_processor_handle processor_handle, uint32_t sensor_ind, uint64_t speed) |
Set the fan speed for the specified device with the provided speed, in RPMs. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_busy_percent (amdsmi_processor_handle processor_handle, uint32_t *gpu_busy_percent) |
Get GPU busy percent from gpu_busy_percent sysfs file. More... | |
amdsmi_status_t | amdsmi_get_utilization_count (amdsmi_processor_handle processor_handle, amdsmi_utilization_counter_t utilization_counters[], uint32_t count, uint64_t *timestamp) |
Get coarse grain utilization counter of the specified device. More... | |
amdsmi_status_t | amdsmi_get_gpu_perf_level (amdsmi_processor_handle processor_handle, amdsmi_dev_perf_level_t *perf) |
Get the performance level of the device. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_set_gpu_perf_determinism_mode (amdsmi_processor_handle processor_handle, uint64_t clkvalue) |
Enter performance determinism mode with provided processor handle. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_overdrive_level (amdsmi_processor_handle processor_handle, uint32_t *od) |
Get the overdrive percent associated with the device with provided processor handle. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_mem_overdrive_level (amdsmi_processor_handle processor_handle, uint32_t *od) |
Get the GPU memory clock overdrive percent associated with the device with provided processor handle. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_clk_freq (amdsmi_processor_handle processor_handle, amdsmi_clk_type_t clk_type, amdsmi_frequencies_t *f) |
Get the list of possible system clock speeds of device for a specified clock type. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_reset_gpu (amdsmi_processor_handle processor_handle) |
Reset the gpu associated with the device with provided processor handle. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_od_volt_info (amdsmi_processor_handle processor_handle, amdsmi_od_volt_freq_data_t *odv) |
This function retrieves the overdrive GFX & MCLK information. If valid for the GPU it will also populate the voltage curve data. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_metrics_header_info (amdsmi_processor_handle processor_handle, amd_metrics_table_header_t *header_value) |
Get the 'metrics_header_info' from the GPU metrics associated with the device. More... | |
amdsmi_status_t | amdsmi_get_gpu_metrics_info (amdsmi_processor_handle processor_handle, amdsmi_gpu_metrics_t *pgpu_metrics) |
This function retrieves the gpu metrics information. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_pm_metrics_info (amdsmi_processor_handle processor_handle, amdsmi_name_value_t **pm_metrics, uint32_t *num_of_metrics) |
Get the pm metrics table with provided device index. More... | |
amdsmi_status_t | amdsmi_get_gpu_reg_table_info (amdsmi_processor_handle processor_handle, amdsmi_reg_type_t reg_type, amdsmi_name_value_t **reg_metrics, uint32_t *num_of_metrics) |
Get the register metrics table with provided device index and register type. More... | |
amdsmi_status_t | amdsmi_set_gpu_clk_range (amdsmi_processor_handle processor_handle, uint64_t minclkvalue, uint64_t maxclkvalue, amdsmi_clk_type_t clkType) |
This function sets the clock range information. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_set_gpu_clk_limit (amdsmi_processor_handle processor_handle, amdsmi_clk_type_t clk_type, amdsmi_clk_limit_type_t limit_type, uint64_t clk_value) |
This function sets the clock sets the clock min/max level. More... | |
void | amdsmi_free_name_value_pairs (void *p) |
Frees heap memory allocated by reg_table and pm_metrics. More... | |
amdsmi_status_t | amdsmi_set_gpu_od_clk_info (amdsmi_processor_handle processor_handle, amdsmi_freq_ind_t level, uint64_t clkvalue, amdsmi_clk_type_t clkType) |
This function sets the clock frequency information. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_set_gpu_od_volt_info (amdsmi_processor_handle processor_handle, uint32_t vpoint, uint64_t clkvalue, uint64_t voltvalue) |
This function sets 1 of the 3 voltage curve points. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_od_volt_curve_regions (amdsmi_processor_handle processor_handle, uint32_t *num_regions, amdsmi_freq_volt_region_t *buffer) |
This function will retrieve the current valid regions in the frequency/voltage space. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_power_profile_presets (amdsmi_processor_handle processor_handle, uint32_t sensor_ind, amdsmi_power_profile_status_t *status) |
Get the list of available preset power profiles and an indication of which profile is currently active. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_set_gpu_perf_level (amdsmi_processor_handle processor_handle, amdsmi_dev_perf_level_t perf_lvl) |
Set the PowerPlay performance level associated with the device with provided processor handle with the provided value. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_set_gpu_overdrive_level (amdsmi_processor_handle processor_handle, uint32_t od) |
Set the overdrive percent associated with the device with provided processor handle with the provided value. See details for WARNING. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_set_clk_freq (amdsmi_processor_handle processor_handle, amdsmi_clk_type_t clk_type, uint64_t freq_bitmask) |
Control the set of allowed frequencies that can be used for the specified clock. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_soc_pstate (amdsmi_processor_handle processor_handle, amdsmi_dpm_policy_t *policy) |
Get the soc pstate policy for the processor. More... | |
amdsmi_status_t | amdsmi_set_soc_pstate (amdsmi_processor_handle processor_handle, uint32_t policy_id) |
Set the soc pstate policy for the processor. More... | |
amdsmi_status_t | amdsmi_get_xgmi_plpd (amdsmi_processor_handle processor_handle, amdsmi_dpm_policy_t *xgmi_plpd) |
Get the xgmi per-link power down policy parameter for the processor. More... | |
amdsmi_status_t | amdsmi_set_xgmi_plpd (amdsmi_processor_handle processor_handle, uint32_t policy_id) |
Set the xgmi per-link power down policy parameter for the processor. More... | |
amdsmi_status_t | amdsmi_get_gpu_process_isolation (amdsmi_processor_handle processor_handle, uint32_t *pisolate) |
Get the status of the Process Isolation. More... | |
amdsmi_status_t | amdsmi_set_gpu_process_isolation (amdsmi_processor_handle processor_handle, uint32_t pisolate) |
Enable/disable the system Process Isolation. More... | |
amdsmi_status_t | amdsmi_clean_gpu_local_data (amdsmi_processor_handle processor_handle) |
Run the cleaner shader to clean up data in LDS/GPRs. More... | |
amdsmi_status_t | amdsmi_get_lib_version (amdsmi_version_t *version) |
Get the build version information for the currently running build of AMDSMI. More... | |
amdsmi_status_t | amdsmi_get_gpu_ecc_count (amdsmi_processor_handle processor_handle, amdsmi_gpu_block_t block, amdsmi_error_count_t *ec) |
Retrieve the error counts for a GPU block. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_ecc_enabled (amdsmi_processor_handle processor_handle, uint64_t *enabled_blocks) |
Retrieve the enabled ECC bit-mask. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_total_ecc_count (amdsmi_processor_handle processor_handle, amdsmi_error_count_t *ec) |
Returns the total number of ECC errors (correctable, uncorrectable and deferred) in the given GPU. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_cper_entries (amdsmi_processor_handle processor_handle, uint32_t severity_mask, char *cper_data, uint64_t *buf_size, amdsmi_cper_hdr_t **cper_hdrs, uint64_t *entry_count, uint64_t *cursor) |
Retrieve CPER entries cached in the driver. More... | |
amdsmi_status_t | amdsmi_get_gpu_ecc_status (amdsmi_processor_handle processor_handle, amdsmi_gpu_block_t block, amdsmi_ras_err_state_t *state) |
Retrieve the ECC status for a GPU block. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_status_code_to_string (amdsmi_status_t status, const char **status_string) |
Get a description of a provided AMDSMI error status. More... | |
amdsmi_status_t | amdsmi_gpu_counter_group_supported (amdsmi_processor_handle processor_handle, amdsmi_event_group_t group) |
Tell if an event group is supported by a given device. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_gpu_create_counter (amdsmi_processor_handle processor_handle, amdsmi_event_type_t type, amdsmi_event_handle_t *evnt_handle) |
Create a performance counter object. More... | |
amdsmi_status_t | amdsmi_gpu_destroy_counter (amdsmi_event_handle_t evnt_handle) |
Deallocate a performance counter object. More... | |
amdsmi_status_t | amdsmi_gpu_control_counter (amdsmi_event_handle_t evt_handle, amdsmi_counter_command_t cmd, void *cmd_args) |
Issue performance counter control commands. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_gpu_read_counter (amdsmi_event_handle_t evt_handle, amdsmi_counter_value_t *value) |
Read the current value of a performance counter. More... | |
amdsmi_status_t | amdsmi_get_gpu_available_counters (amdsmi_processor_handle processor_handle, amdsmi_event_group_t grp, uint32_t *available) |
Get the number of currently available counters. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_compute_process_info (amdsmi_process_info_t *procs, uint32_t *num_items) |
Get process information about processes currently using GPU. More... | |
amdsmi_status_t | amdsmi_get_gpu_compute_process_info_by_pid (uint32_t pid, amdsmi_process_info_t *proc) |
Get process information about a specific process. More... | |
amdsmi_status_t | amdsmi_get_gpu_compute_process_gpus (uint32_t pid, uint32_t *dv_indices, uint32_t *num_devices) |
Get the device indices currently being used by a process. More... | |
amdsmi_status_t | amdsmi_gpu_xgmi_error_status (amdsmi_processor_handle processor_handle, amdsmi_xgmi_status_t *status) |
Retrieve the XGMI error status for a device. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_reset_gpu_xgmi_error (amdsmi_processor_handle processor_handle) |
Reset the XGMI error status for a device. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_xgmi_info (amdsmi_processor_handle processor_handle, amdsmi_xgmi_info_t *info) |
Returns XGMI information for the GPU. More... | |
amdsmi_status_t | amdsmi_get_gpu_xgmi_link_status (amdsmi_processor_handle processor_handle, amdsmi_xgmi_link_status_t *link_status) |
Get the XGMI link status. More... | |
amdsmi_status_t | amdsmi_get_link_metrics (amdsmi_processor_handle processor_handle, amdsmi_link_metrics_t *link_metrics) |
Return link metric information. More... | |
amdsmi_status_t | amdsmi_topo_get_numa_node_number (amdsmi_processor_handle processor_handle, uint32_t *numa_node) |
Retrieve the NUMA CPU node number for a device. More... | |
amdsmi_status_t | amdsmi_topo_get_link_weight (amdsmi_processor_handle processor_handle_src, amdsmi_processor_handle processor_handle_dst, uint64_t *weight) |
Retrieve the weight for a connection between 2 GPUs. More... | |
amdsmi_status_t | amdsmi_get_minmax_bandwidth_between_processors (amdsmi_processor_handle processor_handle_src, amdsmi_processor_handle processor_handle_dst, uint64_t *min_bandwidth, uint64_t *max_bandwidth) |
Retreive minimal and maximal io link bandwidth between 2 GPUs. More... | |
amdsmi_status_t | amdsmi_topo_get_link_type (amdsmi_processor_handle processor_handle_src, amdsmi_processor_handle processor_handle_dst, uint64_t *hops, amdsmi_io_link_type_t *type) |
Retrieve the hops and the connection type between 2 GPUs. More... | |
amdsmi_status_t | amdsmi_get_link_topology_nearest (amdsmi_processor_handle processor_handle, amdsmi_link_type_t link_type, amdsmi_topology_nearest_t *topology_nearest_info) |
Retrieve the set of GPUs that are nearest to a given device at a specific interconnectivity level. More... | |
amdsmi_status_t | amdsmi_is_P2P_accessible (amdsmi_processor_handle processor_handle_src, amdsmi_processor_handle processor_handle_dst, bool *accessible) |
Return P2P availability status between 2 GPUs. More... | |
amdsmi_status_t | amdsmi_topo_get_p2p_status (amdsmi_processor_handle processor_handle_src, amdsmi_processor_handle processor_handle_dst, amdsmi_io_link_type_t *type, amdsmi_p2p_capability_t *cap) |
Retrieve connection type and P2P capabilities between 2 GPUs. More... | |
amdsmi_status_t | amdsmi_get_gpu_compute_partition (amdsmi_processor_handle processor_handle, char *compute_partition, uint32_t len) |
Retrieves the current compute partitioning for a desired device. More... | |
amdsmi_status_t | amdsmi_set_gpu_compute_partition (amdsmi_processor_handle processor_handle, amdsmi_compute_partition_type_t compute_partition) |
Modifies a selected device's compute partition setting. More... | |
amdsmi_status_t | amdsmi_get_gpu_memory_partition (amdsmi_processor_handle processor_handle, char *memory_partition, uint32_t len) |
Retrieves the current memory partition for a desired device. More... | |
amdsmi_status_t | amdsmi_set_gpu_memory_partition (amdsmi_processor_handle processor_handle, amdsmi_memory_partition_type_t memory_partition) |
Modifies a selected device's current memory partition setting. More... | |
amdsmi_status_t | amdsmi_get_gpu_memory_partition_config (amdsmi_processor_handle processor_handle, amdsmi_memory_partition_config_t *config) |
Version 2.0: Returns current gpu memory partition capabilities. More... | |
amdsmi_status_t | amdsmi_set_gpu_memory_partition_mode (amdsmi_processor_handle processor_handle, amdsmi_memory_partition_type_t mode) |
Version 2.0: Set accelerator partition setting based on profile_index from amdsmi_get_gpu_accelerator_partition_profile_config. More... | |
amdsmi_status_t | amdsmi_get_gpu_accelerator_partition_profile_config (amdsmi_processor_handle processor_handle, amdsmi_accelerator_partition_profile_config_t *profile_config) |
Version 2.0: Returns gpu accelerator partition caps as currently configured in the system User must use admin/sudo privledges to run this API, or API will not be able to read resources. More... | |
amdsmi_status_t | amdsmi_get_gpu_accelerator_partition_profile (amdsmi_processor_handle processor_handle, amdsmi_accelerator_partition_profile_t *profile, uint32_t *partition_id) |
Version 2.0: Returns current gpu accelerator partition capabilities. More... | |
amdsmi_status_t | amdsmi_set_gpu_accelerator_partition_profile (amdsmi_processor_handle processor_handle, uint32_t profile_index) |
Version 2.0: Set accelerator partition setting based on profile_index from amdsmi_get_gpu_accelerator_partition_profile_config. More... | |
amdsmi_status_t | amdsmi_init_gpu_event_notification (amdsmi_processor_handle processor_handle) |
Prepare to collect event notifications for a GPU. More... | |
amdsmi_status_t | amdsmi_set_gpu_event_notification_mask (amdsmi_processor_handle processor_handle, uint64_t mask) |
Specify which events to collect for a device. More... | |
amdsmi_status_t | amdsmi_get_gpu_event_notification (int timeout_ms, uint32_t *num_elem, amdsmi_evt_notification_data_t *data) |
Collect event notifications, waiting a specified amount of time. More... | |
amdsmi_status_t | amdsmi_stop_gpu_event_notification (amdsmi_processor_handle processor_handle) |
Close any file handles and free any resources used by event notification for a GPU. More... | |
amdsmi_status_t | amdsmi_get_gpu_driver_info (amdsmi_processor_handle processor_handle, amdsmi_driver_info_t *info) |
Returns the driver version information. More... | |
amdsmi_status_t | amdsmi_get_gpu_asic_info (amdsmi_processor_handle processor_handle, amdsmi_asic_info_t *info) |
Returns the ASIC information for the device. More... | |
amdsmi_status_t | amdsmi_get_gpu_kfd_info (amdsmi_processor_handle processor_handle, amdsmi_kfd_info_t *info) |
Returns the KFD (Kernel Fusion Driver) information for the device. More... | |
amdsmi_status_t | amdsmi_get_gpu_vram_info (amdsmi_processor_handle processor_handle, amdsmi_vram_info_t *info) |
Returns vram info. More... | |
amdsmi_status_t | amdsmi_get_gpu_board_info (amdsmi_processor_handle processor_handle, amdsmi_board_info_t *info) |
Returns the board part number and board information for the requested device. More... | |
amdsmi_status_t | amdsmi_get_power_cap_info (amdsmi_processor_handle processor_handle, uint32_t sensor_ind, amdsmi_power_cap_info_t *info) |
Returns the power caps as currently configured in the system. Power in units of uW. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_pcie_info (amdsmi_processor_handle processor_handle, amdsmi_pcie_info_t *info) |
Returns the PCIe info for the GPU. More... | |
amdsmi_status_t | amdsmi_get_gpu_xcd_counter (amdsmi_processor_handle processor_handle, uint16_t *xcd_count) |
Returns the 'xcd_counter' from the GPU metrics associated with the device. More... | |
amdsmi_status_t | amdsmi_get_fw_info (amdsmi_processor_handle processor_handle, amdsmi_fw_info_t *info) |
Returns the firmware versions running on the device. More... | |
amdsmi_status_t | amdsmi_get_gpu_vbios_info (amdsmi_processor_handle processor_handle, amdsmi_vbios_info_t *info) |
Returns the static information for the vBIOS on the device. More... | |
amdsmi_status_t | amdsmi_get_gpu_activity (amdsmi_processor_handle processor_handle, amdsmi_engine_usage_t *info) |
Returns the current usage of the GPU engines (GFX, MM and MEM). Each usage is reported as a percentage from 0-100%. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_power_info_v2 (amdsmi_processor_handle processor_handle, uint32_t sensor_ind, amdsmi_power_info_t *info) |
Returns the current power and voltage of the GPU. More... | |
amdsmi_status_t | amdsmi_get_power_info (amdsmi_processor_handle processor_handle, amdsmi_power_info_t *info) |
Returns the current power and voltage of the GPU. More... | |
amdsmi_status_t | amdsmi_is_gpu_power_management_enabled (amdsmi_processor_handle processor_handle, bool *enabled) |
Returns is power management enabled. More... | |
amdsmi_status_t | amdsmi_get_clock_info (amdsmi_processor_handle processor_handle, amdsmi_clk_type_t clk_type, amdsmi_clk_info_t *info) |
Returns the measurements of the clocks in the GPU for the GFX and multimedia engines and Memory. This call reports the averages over 1s in MHz. It is not supported on virtual machine guest. More... | |
amdsmi_status_t | amdsmi_get_gpu_vram_usage (amdsmi_processor_handle processor_handle, amdsmi_vram_usage_t *info) |
Returns the VRAM usage (both total and used memory) in MegaBytes. More... | |
amdsmi_status_t | amdsmi_get_violation_status (amdsmi_processor_handle processor_handle, amdsmi_violation_status_t *info) |
Returns the violations for a processor. More... | |
amdsmi_status_t | amdsmi_get_gpu_process_list (amdsmi_processor_handle processor_handle, uint32_t *max_processes, amdsmi_proc_info_t *list) |
Returns the list of process information running on a given GPU. If pdh.dll is not present on the system, this API returns AMDSMI_STATUS_NOT_SUPPORTED. More... | |
amdsmi_status_t | amdsmi_get_cpu_core_energy (amdsmi_processor_handle processor_handle, uint64_t *penergy) |
Get the core energy for a given core. More... | |
amdsmi_status_t | amdsmi_get_cpu_socket_energy (amdsmi_processor_handle processor_handle, uint64_t *penergy) |
Get the socket energy for a given socket. More... | |
amdsmi_status_t | amdsmi_get_threads_per_core (uint32_t *threads_per_core) |
Get Number of threads Per Core. More... | |
amdsmi_status_t | amdsmi_get_cpu_hsmp_driver_version (amdsmi_processor_handle processor_handle, amdsmi_hsmp_driver_version_t *amdsmi_hsmp_driver_ver) |
Get HSMP Driver Version. More... | |
amdsmi_status_t | amdsmi_get_cpu_smu_fw_version (amdsmi_processor_handle processor_handle, amdsmi_smu_fw_version_t *amdsmi_smu_fw) |
Get SMU Firmware Version. More... | |
amdsmi_status_t | amdsmi_get_cpu_hsmp_proto_ver (amdsmi_processor_handle processor_handle, uint32_t *proto_ver) |
Get HSMP protocol Version. More... | |
amdsmi_status_t | amdsmi_get_cpu_prochot_status (amdsmi_processor_handle processor_handle, uint32_t *prochot) |
Get normalized status of the processor's PROCHOT status. More... | |
amdsmi_status_t | amdsmi_get_cpu_fclk_mclk (amdsmi_processor_handle processor_handle, uint32_t *fclk, uint32_t *mclk) |
Get Data fabric clock and Memory clock in MHz. More... | |
amdsmi_status_t | amdsmi_get_cpu_cclk_limit (amdsmi_processor_handle processor_handle, uint32_t *cclk) |
Get core clock in MHz. More... | |
amdsmi_status_t | amdsmi_get_cpu_socket_current_active_freq_limit (amdsmi_processor_handle processor_handle, uint16_t *freq, char **src_type) |
Get current active frequency limit of the socket. More... | |
amdsmi_status_t | amdsmi_get_cpu_socket_freq_range (amdsmi_processor_handle processor_handle, uint16_t *fmax, uint16_t *fmin) |
Get socket frequency range. More... | |
amdsmi_status_t | amdsmi_get_cpu_core_current_freq_limit (amdsmi_processor_handle processor_handle, uint32_t *freq) |
Get socket frequency limit of the core. More... | |
amdsmi_status_t | amdsmi_get_cpu_core_boostlimit (amdsmi_processor_handle processor_handle, uint32_t *pboostlimit) |
Get the core boost limit. More... | |
amdsmi_status_t | amdsmi_get_cpu_socket_c0_residency (amdsmi_processor_handle processor_handle, uint32_t *pc0_residency) |
Get the socket c0 residency. More... | |
amdsmi_status_t | amdsmi_set_cpu_core_boostlimit (amdsmi_processor_handle processor_handle, uint32_t boostlimit) |
Set the core boostlimit value. More... | |
amdsmi_status_t | amdsmi_set_cpu_socket_boostlimit (amdsmi_processor_handle processor_handle, uint32_t boostlimit) |
Set the socket boostlimit value. More... | |
amdsmi_status_t | amdsmi_get_cpu_ddr_bw (amdsmi_processor_handle processor_handle, amdsmi_ddr_bw_metrics_t *ddr_bw) |
Get the DDR bandwidth data. More... | |
amdsmi_status_t | amdsmi_get_cpu_socket_temperature (amdsmi_processor_handle processor_handle, uint32_t *ptmon) |
Get socket temperature. More... | |
amdsmi_status_t | amdsmi_get_cpu_dimm_temp_range_and_refresh_rate (amdsmi_processor_handle processor_handle, uint8_t dimm_addr, amdsmi_temp_range_refresh_rate_t *rate) |
Get DIMM temperature range and refresh rate. More... | |
amdsmi_status_t | amdsmi_get_cpu_dimm_power_consumption (amdsmi_processor_handle processor_handle, uint8_t dimm_addr, amdsmi_dimm_power_t *dimm_pow) |
Get DIMM power consumption. More... | |
amdsmi_status_t | amdsmi_get_cpu_dimm_thermal_sensor (amdsmi_processor_handle processor_handle, uint8_t dimm_addr, amdsmi_dimm_thermal_t *dimm_temp) |
Get DIMM thermal sensor value. More... | |
amdsmi_status_t | amdsmi_set_cpu_xgmi_width (amdsmi_processor_handle processor_handle, uint8_t min, uint8_t max) |
Set xgmi width. More... | |
amdsmi_status_t | amdsmi_set_cpu_gmi3_link_width_range (amdsmi_processor_handle processor_handle, uint8_t min_link_width, uint8_t max_link_width) |
Set gmi3 link width range. More... | |
amdsmi_status_t | amdsmi_cpu_apb_enable (amdsmi_processor_handle processor_handle) |
Enable APB. More... | |
amdsmi_status_t | amdsmi_cpu_apb_disable (amdsmi_processor_handle processor_handle, uint8_t pstate) |
Disable APB. More... | |
amdsmi_status_t | amdsmi_set_cpu_socket_lclk_dpm_level (amdsmi_processor_handle processor_handle, uint8_t nbio_id, uint8_t min, uint8_t max) |
Set NBIO lclk dpm level value. More... | |
amdsmi_status_t | amdsmi_get_cpu_socket_lclk_dpm_level (amdsmi_processor_handle processor_handle, uint8_t nbio_id, amdsmi_dpm_level_t *nbio) |
Get NBIO LCLK dpm level. More... | |
amdsmi_status_t | amdsmi_set_cpu_pcie_link_rate (amdsmi_processor_handle processor_handle, uint8_t rate_ctrl, uint8_t *prev_mode) |
Set pcie link rate. More... | |
amdsmi_status_t | amdsmi_set_cpu_df_pstate_range (amdsmi_processor_handle processor_handle, uint8_t max_pstate, uint8_t min_pstate) |
Set df pstate range. More... | |
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... | |
amdsmi_status_t | amdsmi_get_hsmp_metrics_table_version (amdsmi_processor_handle processor_handle, uint32_t *metrics_version) |
Get HSMP metrics table version. More... | |
amdsmi_status_t | amdsmi_get_hsmp_metrics_table (amdsmi_processor_handle processor_handle, amdsmi_hsmp_metrics_table_t *metrics_table) |
Get HSMP metrics table. More... | |
amdsmi_status_t | amdsmi_first_online_core_on_cpu_socket (amdsmi_processor_handle processor_handle, uint32_t *pcore_ind) |
Get first online core on socket. More... | |
amdsmi_status_t | amdsmi_get_cpu_family (uint32_t *cpu_family) |
Get CPU family. More... | |
amdsmi_status_t | amdsmi_get_cpu_model (uint32_t *cpu_model) |
Get CPU model. More... | |
amdsmi_status_t | amdsmi_get_esmi_err_msg (amdsmi_status_t status, const char **status_string) |
Get a description of provided AMDSMI error status for esmi errors. More... | |
Variables | |
amdsmi_hsmp_metrics_table_t | |
Detailed Description
AMD System Management Interface API.
Macro Definition Documentation
◆ CENTRIGRADE_TO_MILLI_CENTIGRADE
#define CENTRIGRADE_TO_MILLI_CENTIGRADE 1000 |
The following structure holds the gpu metrics values for a device.
Unit conversion factor for HBM temperatures
◆ AMDSMI_MAX_NUM_XCC
#define AMDSMI_MAX_NUM_XCC 8 |
This should match AMDSMI_MAX_NUM_XCC; XCC - Accelerated Compute Core, the collection of compute units, ACE (Asynchronous Compute Engines), caches, and global resources organized as one unit.
Refer to amd.com documentation for more detail: https://www.amd.com/content/dam/amd/en/documents/instinct-tech-docs/white-papers/amd-cdna-3-white-paper.pdf
◆ AMDSMI_MAX_NUM_XCP
#define AMDSMI_MAX_NUM_XCP 8 |
This should match AMDSMI_MAX_NUM_XCP; XCP - Accelerated Compute Processor, also referred to as the Graphics Compute Partitions. Each physical gpu could have a maximum of 8 separate partitions associated with each (depending on ASIC support).
Refer to amd.com documentation for more detail: https://www.amd.com/content/dam/amd/en/documents/instinct-tech-docs/white-papers/amd-cdna-3-white-paper.pdf
◆ AMDSMI_LIB_VERSION_YEAR
#define AMDSMI_LIB_VERSION_YEAR 25 |
library versioning
Year should follow the IP driver package version: 22.40/23.10 and similar To Be Deprecated
◆ AMDSMI_MAX_FAN_SPEED
#define AMDSMI_MAX_FAN_SPEED 255 |
Maximum possible value for fan speed. Should be used as the denominator when determining fan speed percentage.
Enumeration Type Documentation
◆ amdsmi_init_flags_t
enum amdsmi_init_flags_t |
Initialization flags.
Initialization flags may be OR'd together and passed to amdsmi_init().
Enumerator | |
---|---|
AMDSMI_INIT_ALL_PROCESSORS | Initialize all processors. |
◆ processor_type_t
enum processor_type_t |
Processor types detectable by AMD SMI.
AMDSMI_PROCESSOR_TYPE_AMD_CPU - CPU Socket is a physical component that holds the CPU. AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE - CPU Cores are number of individual processing units within the CPU. AMDSMI_PROCESSOR_TYPE_AMD_APU - Combination of AMDSMI_PROCESSOR_TYPE_AMD_CPU and integrated GPU on single die
◆ amdsmi_status_t
enum amdsmi_status_t |
Error codes returned by amdsmi functions.
Please avoid status codes that are multiples of 256 (256, 512, etc..) Return values in the shell get modulo 256 applied, meaning any multiple of 256 ends up as 0
◆ amdsmi_clk_type_t
enum amdsmi_clk_type_t |
◆ amdsmi_accelerator_partition_type_t
Accelerator Partition.
◆ amdsmi_compute_partition_type_t
Compute Partition. This enum is used to identify various compute partitioning settings.
◆ amdsmi_memory_partition_type_t
Memory Partitions.
◆ amdsmi_dev_perf_level_t
PowerPlay performance levels.
◆ amdsmi_event_group_t
enum amdsmi_event_group_t |
◆ amdsmi_event_type_t
enum amdsmi_event_type_t |
Event types Event type enum. Events belonging to a particular event group amdsmi_event_group_t should begin enumerating at the amdsmi_event_group_t value for that group.
Data beats sent to neighbor 0; Each beat represents 32 bytes.
XGMI throughput can be calculated by multiplying a BEATs event such as AMDSMI_EVNT_XGMI_0_BEATS_TX by 32 and dividing by the time for which event collection occurred, amdsmi_counter_value_t.time_running (which is in nanoseconds). To get bytes per second, multiply this value by 109.
Throughput = BEATS/time_running * 109 (bytes/second)
Events in the AMDSMI_EVNT_GRP_XGMI_DATA_OUT group measure the number of beats sent on an XGMI link. Each beat represents 32 bytes. AMDSMI_EVNT_XGMI_DATA_OUT_n represents the number of outbound beats (each representing 32 bytes) on link n.
XGMI throughput can be calculated by multiplying a event such as ::AMDSMI_EVNT_XGMI_DATA_OUT_n by 32 and dividing by the time for which event collection occurred, amdsmi_counter_value_t.time_running (which is in nanoseconds). To get bytes per second, multiply this value by 109.
◆ amdsmi_counter_command_t
◆ amdsmi_evt_notification_type_t
◆ amdsmi_temperature_metric_t
Temperature Metrics. This enum is used to identify various temperature metrics. Corresponding values will be in millidegress Celcius {@linux_bm} or Celcius {@host}.
◆ amdsmi_voltage_metric_t
Voltage Metrics. This enum is used to identify various Volatge metrics. Corresponding values will be in millivolt.
◆ amdsmi_voltage_type_t
◆ amdsmi_power_profile_preset_masks_t
Pre-set Profile Selections. These bitmasks can be AND'd with the ::amdsmi_power_profile_status_t.available_profiles returned from :: amdsmi_get_gpu_power_profile_presets to determine which power profiles are supported by the system.
◆ amdsmi_gpu_block_t
enum amdsmi_gpu_block_t |
This enum is used to identify different GPU blocks.
◆ amdsmi_clk_limit_type_t
◆ amdsmi_ras_err_state_t
The current ECC state.
◆ amdsmi_memory_type_t
enum amdsmi_memory_type_t |
◆ amdsmi_freq_ind_t
enum amdsmi_freq_ind_t |
◆ amdsmi_memory_page_status_t
Reserved Memory Page States.
◆ amdsmi_io_link_type_t
◆ amdsmi_utilization_counter_type_t
◆ amdsmi_xgmi_link_status_type_t
◆ amdsmi_virtualization_mode_t
Variant placeholder.
Place-holder "variant" for functions that have don't have any variants, but do have monitors or sensors.
◆ amdsmi_io_bw_encoding_t
Function Documentation
◆ __attribute__()
struct __attribute__ | ( | (__packed__) | ) |
HSMP Metrics table (supported only with hsmp proto version 6).
< In C
< In C
< In C
< In C
< In C
< In C
< In W
< In W
< In W
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz
< In MHz