AMD SMI C/C++ types#
Data types used across the AMD SMI API, including enums for statuses, library initialization flags, device states, and device capabilities. This reference includes:
Enumerations#
-
enum amdsmi_init_flags_t#
Initialization flags.
Initialization flags may be OR’d together and passed to amdsmi_init().
Values:
-
enumerator AMDSMI_INIT_ALL_PROCESSORS#
Initialize all processors.
-
enumerator AMDSMI_INIT_AMD_CPUS#
Initialize AMD CPUS.
-
enumerator AMDSMI_INIT_AMD_GPUS#
Initialize AMD GPUS.
-
enumerator AMDSMI_INIT_NON_AMD_CPUS#
Initialize Non-AMD CPUS.
-
enumerator AMDSMI_INIT_NON_AMD_GPUS#
Initialize Non-AMD GPUS.
-
enumerator AMDSMI_INIT_AMD_APUS#
Initialize AMD CPUS and GPUS (Default option)
-
enumerator AMDSMI_INIT_AMD_NICS#
Initialize NIC’s.
-
enumerator AMDSMI_INIT_ALL_PROCESSORS#
-
enum amdsmi_mm_ip_t#
GPU Capability info.
Values:
-
enumerator AMDSMI_MM_UVD#
Multi-Media Unified Video Decoder.
-
enumerator AMDSMI_MM_VCE#
Multi-Media Video Coding Engine.
-
enumerator AMDSMI_MM_VCN#
Multi-Media Video Core Next.
-
enumerator AMDSMI_MM__MAX#
-
enumerator AMDSMI_MM_UVD#
-
enum amdsmi_container_types_t#
Container.
Values:
-
enumerator AMDSMI_CONTAINER_LXC#
Linux containers.
-
enumerator AMDSMI_CONTAINER_DOCKER#
Docker containers.
-
enumerator AMDSMI_CONTAINER_LXC#
-
enum amdsmi_processor_type_t#
Processor types detectable by AMD SMI.
Values:
-
enumerator AMDSMI_PROCESSOR_TYPE_UNKNOWN#
Unknown processor type.
-
enumerator AMDSMI_PROCESSOR_TYPE_AMD_GPU#
AMD Graphics processor type.
-
enumerator AMDSMI_PROCESSOR_TYPE_AMD_CPU#
AMD CPU processor type, physical component that holds the CPU.
-
enumerator AMDSMI_PROCESSOR_TYPE_NON_AMD_GPU#
Non-AMD Graphics processor type.
-
enumerator AMDSMI_PROCESSOR_TYPE_NON_AMD_CPU#
Non-AMD CPU processor type.
-
enumerator AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE#
AMD CPU-Core processor type, individual processing units within the CPU
-
enumerator AMDSMI_PROCESSOR_TYPE_AMD_APU#
AMD Accelerated processor type, GPU and CPU on a single die.
-
enumerator AMDSMI_PROCESSOR_TYPE_AMD_NIC#
AMD Network Interface Card processor type.
-
enumerator AMDSMI_PROCESSOR_TYPE_BRCM_NIC#
Broadcom Network Interface Card type.
-
enumerator AMDSMI_PROCESSOR_TYPE_BRCM_SWITCH#
Broadcom Switch type.
-
enumerator AMDSMI_PROCESSOR_TYPE_UNKNOWN#
-
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
Values:
-
enumerator AMDSMI_STATUS_SUCCESS#
Call succeeded.
-
enumerator AMDSMI_STATUS_INVAL#
Invalid parameters.
-
enumerator AMDSMI_STATUS_NOT_SUPPORTED#
Command not supported.
-
enumerator AMDSMI_STATUS_NOT_YET_IMPLEMENTED#
Not implemented yet.
-
enumerator AMDSMI_STATUS_FAIL_LOAD_MODULE#
Fail to load lib.
-
enumerator AMDSMI_STATUS_FAIL_LOAD_SYMBOL#
Fail to load symbol.
-
enumerator AMDSMI_STATUS_DRM_ERROR#
Error when call libdrm.
-
enumerator AMDSMI_STATUS_API_FAILED#
API call failed.
-
enumerator AMDSMI_STATUS_TIMEOUT#
Timeout in API call.
-
enumerator AMDSMI_STATUS_RETRY#
Retry operation.
-
enumerator AMDSMI_STATUS_NO_PERM#
Permission Denied.
-
enumerator AMDSMI_STATUS_INTERRUPT#
An interrupt occurred during execution of function.
-
enumerator AMDSMI_STATUS_IO#
I/O Error.
-
enumerator AMDSMI_STATUS_ADDRESS_FAULT#
Bad address.
-
enumerator AMDSMI_STATUS_FILE_ERROR#
Problem accessing a file.
-
enumerator AMDSMI_STATUS_OUT_OF_RESOURCES#
Not enough memory.
-
enumerator AMDSMI_STATUS_INTERNAL_EXCEPTION#
An internal exception was caught.
-
enumerator AMDSMI_STATUS_INPUT_OUT_OF_BOUNDS#
The provided input is out of allowable or safe range.
-
enumerator AMDSMI_STATUS_INIT_ERROR#
An error occurred when initializing internal data structures.
-
enumerator AMDSMI_STATUS_REFCOUNT_OVERFLOW#
An internal reference counter exceeded INT32_MAX.
-
enumerator AMDSMI_STATUS_DIRECTORY_NOT_FOUND#
Error when a directory is not found, maps to ENOTDIR.
-
enumerator AMDSMI_STATUS_IPC_ERROR#
IPC communication error occurred.
-
enumerator AMDSMI_STATUS_BUSY#
Processor busy.
-
enumerator AMDSMI_STATUS_NOT_FOUND#
Processor Not found.
-
enumerator AMDSMI_STATUS_NOT_INIT#
Processor not initialized.
-
enumerator AMDSMI_STATUS_NO_SLOT#
No more free slot.
-
enumerator AMDSMI_STATUS_DRIVER_NOT_LOADED#
Processor driver not loaded.
-
enumerator AMDSMI_STATUS_MORE_DATA#
There is more data than the buffer size the user passed.
-
enumerator AMDSMI_STATUS_NO_DATA#
No data was found for a given input.
-
enumerator AMDSMI_STATUS_INSUFFICIENT_SIZE#
Not enough resources were available for the operation.
-
enumerator AMDSMI_STATUS_UNEXPECTED_SIZE#
An unexpected amount of data was read.
-
enumerator AMDSMI_STATUS_UNEXPECTED_DATA#
The data read or provided is not what was expected.
-
enumerator AMDSMI_STATUS_NON_AMD_CPU#
System has different cpu than AMD.
-
enumerator AMDSMI_STATUS_NO_ENERGY_DRV#
Energy driver not found.
-
enumerator AMDSMI_STATUS_NO_MSR_DRV#
MSR driver not found.
-
enumerator AMDSMI_STATUS_NO_HSMP_DRV#
HSMP driver not found.
-
enumerator AMDSMI_STATUS_NO_HSMP_SUP#
HSMP not supported.
-
enumerator AMDSMI_STATUS_NO_HSMP_MSG_SUP#
HSMP message/feature not supported.
-
enumerator AMDSMI_STATUS_HSMP_TIMEOUT#
HSMP message timed out.
-
enumerator AMDSMI_STATUS_NO_DRV#
No Energy and HSMP driver present.
-
enumerator AMDSMI_STATUS_FILE_NOT_FOUND#
file or directory not found
-
enumerator AMDSMI_STATUS_ARG_PTR_NULL#
Parsed argument is invalid.
-
enumerator AMDSMI_STATUS_AMDGPU_RESTART_ERR#
AMDGPU restart failed.
-
enumerator AMDSMI_STATUS_SETTING_UNAVAILABLE#
Setting is not available.
-
enumerator AMDSMI_STATUS_CORRUPTED_EEPROM#
EEPROM is corrupted.
-
enumerator AMDSMI_STATUS_MAP_ERROR#
Library error did not map to a status code.
-
enumerator AMDSMI_STATUS_UNKNOWN_ERROR#
An unknown error occurred.
-
enumerator AMDSMI_STATUS_SUCCESS#
-
enum amdsmi_clk_type_t#
Clock types.
Values:
-
enumerator AMDSMI_CLK_TYPE_SYS#
System clock.
-
enumerator AMDSMI_CLK_TYPE_FIRST#
-
enumerator AMDSMI_CLK_TYPE_GFX#
Graphics clock.
-
enumerator AMDSMI_CLK_TYPE_DF#
Data Fabric clock (for ASICs running on a separate clock)
-
enumerator AMDSMI_CLK_TYPE_DCEF#
Display Controller Engine Front clock, timing/bandwidth signals to display
-
enumerator AMDSMI_CLK_TYPE_SOC#
System On Chip clock, integrated circuit frequency.
-
enumerator AMDSMI_CLK_TYPE_MEM#
Memory clock speed, system operating frequency.
-
enumerator AMDSMI_CLK_TYPE_PCIE#
PCI Express clock, high bandwidth peripherals.
-
enumerator AMDSMI_CLK_TYPE_VCLK0#
Video 0 clock, video processing units.
-
enumerator AMDSMI_CLK_TYPE_VCLK1#
Video 1 clock, video processing units.
-
enumerator AMDSMI_CLK_TYPE_DCLK0#
Display 1 clock, timing signals for display output.
-
enumerator AMDSMI_CLK_TYPE_DCLK1#
Display 2 clock, timing signals for display output.
-
enumerator AMDSMI_CLK_TYPE__MAX#
-
enumerator AMDSMI_CLK_TYPE_SYS#
-
enum amdsmi_accelerator_partition_type_t#
Accelerator Partition.
Values:
-
enumerator AMDSMI_ACCELERATOR_PARTITION_INVALID#
Invalid accelerator partition type.
-
enumerator AMDSMI_ACCELERATOR_PARTITION_SPX#
Single GPU mode (SPX)- All XCCs work together with shared memory
-
enumerator AMDSMI_ACCELERATOR_PARTITION_DPX#
Dual GPU mode (DPX)- Half XCCs work together with shared memory
-
enumerator AMDSMI_ACCELERATOR_PARTITION_TPX#
Triple GPU mode (TPX)- One-third XCCs work together with shared memory
-
enumerator AMDSMI_ACCELERATOR_PARTITION_QPX#
Quad GPU mode (QPX)- Quarter XCCs work together with shared memory
-
enumerator AMDSMI_ACCELERATOR_PARTITION_CPX#
Core mode (CPX)- Per-chip XCC with shared memory
-
enumerator AMDSMI_ACCELERATOR_PARTITION_MAX#
-
enumerator AMDSMI_ACCELERATOR_PARTITION_INVALID#
-
enum amdsmi_accelerator_partition_resource_type_t#
Accelerator Partition Resource Types.
Values:
-
enumerator AMDSMI_ACCELERATOR_XCC#
Compute complex or stream processors.
-
enumerator AMDSMI_ACCELERATOR_ENCODER#
Video encoding.
-
enumerator AMDSMI_ACCELERATOR_DECODER#
Video decoding.
-
enumerator AMDSMI_ACCELERATOR_DMA#
Direct Memory Access, high speed data transfers.
-
enumerator AMDSMI_ACCELERATOR_JPEG#
Encoding and Decoding jpeg engines.
-
enumerator AMDSMI_ACCELERATOR_MAX#
-
enumerator AMDSMI_ACCELERATOR_XCC#
-
enum amdsmi_compute_partition_type_t#
Compute Partition. This enum is used to identify various compute partitioning settings.
Values:
-
enumerator AMDSMI_COMPUTE_PARTITION_INVALID#
Invalid compute partition type.
-
enumerator AMDSMI_COMPUTE_PARTITION_SPX#
Single GPU mode (SPX)- All XCCs work together with shared memory
-
enumerator AMDSMI_COMPUTE_PARTITION_DPX#
Dual GPU mode (DPX)- Half XCCs work together with shared memory
-
enumerator AMDSMI_COMPUTE_PARTITION_TPX#
Triple GPU mode (TPX)- One-third XCCs work together with shared memory
-
enumerator AMDSMI_COMPUTE_PARTITION_QPX#
Quad GPU mode (QPX)- Quarter XCCs work together with shared memory
-
enumerator AMDSMI_COMPUTE_PARTITION_CPX#
Core mode (CPX)- Per-chip XCC with shared memory
-
enumerator AMDSMI_COMPUTE_PARTITION_INVALID#
-
enum amdsmi_compute_partition_mem_alloc_mode_t#
Compute Partition Memory Allocation Mode. Controls how GPU memory is allocated across XCPs within a memory partition.
Values:
-
enumerator AMDSMI_COMPUTE_PARTITION_MEM_ALLOC_INVALID#
Invalid mode.
-
enumerator AMDSMI_COMPUTE_PARTITION_MEM_ALLOC_CAPPING#
Memory is evenly capped per XCP.
-
enumerator AMDSMI_COMPUTE_PARTITION_MEM_ALLOC_ALL#
Each XCP in the partition may use the full partition memory
-
enumerator AMDSMI_COMPUTE_PARTITION_MEM_ALLOC_INVALID#
-
enum amdsmi_memory_partition_type_t#
Memory Partitions.
Values:
-
enumerator AMDSMI_MEMORY_PARTITION_UNKNOWN#
-
enumerator AMDSMI_MEMORY_PARTITION_NPS1#
NPS1 - All CCD & XCD data is interleaved across all 8 HBM stacks (all stacks/1)
-
enumerator AMDSMI_MEMORY_PARTITION_NPS2#
NPS2 - 2 sets of CCDs or 4 XCD interleaved across the 4 HBM stacks per AID pair (8 stacks/2)
-
enumerator AMDSMI_MEMORY_PARTITION_NPS4#
NPS4 - Each XCD data is interleaved across 2 (or single) HBM stacks (8 stacks/8 or 8 stacks/4)
-
enumerator AMDSMI_MEMORY_PARTITION_NPS8#
NPS8 - Each XCD uses a single HBM stack (8 stacks/8). Or each XCD uses a single HBM stack & CCDs share 2 non-interleaved HBM stacks on its AID (AID[1,2,3] = 6 stacks/6)
-
enumerator AMDSMI_MEMORY_PARTITION_UNKNOWN#
-
enum amdsmi_temperature_type_t#
This enumeration is used to indicate from which part of the processor a temperature reading should be obtained.
Values:
-
enumerator AMDSMI_TEMPERATURE_TYPE_EDGE#
Edge temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_FIRST#
-
enumerator AMDSMI_TEMPERATURE_TYPE_HOTSPOT#
Hottest temperature reported for entire die.
-
enumerator AMDSMI_TEMPERATURE_TYPE_JUNCTION#
Synonymous with HOTSPOT.
-
enumerator AMDSMI_TEMPERATURE_TYPE_VRAM#
VRAM temperature on graphics card.
-
enumerator AMDSMI_TEMPERATURE_TYPE_HBM_0#
High Bandwidth 0 temperature per stack.
-
enumerator AMDSMI_TEMPERATURE_TYPE_HBM_1#
High Bandwidth 1 temperature per stack.
-
enumerator AMDSMI_TEMPERATURE_TYPE_HBM_2#
High Bandwidth 2 temperature per stack.
-
enumerator AMDSMI_TEMPERATURE_TYPE_HBM_3#
High Bandwidth 3 temperature per stack.
-
enumerator AMDSMI_TEMPERATURE_TYPE_PLX#
PCIe switch temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_FIRST#
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_RETIMER_X#
Retimer X temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_IBC#
OAM X IBC temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_IBC_2#
OAM X IBC 2 temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_VDD18_VR#
OAM X VDD 1.8V voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_04_HBM_B_VR#
OAM X 0.4V HBM B voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_04_HBM_D_VR#
OAM X 0.4V HBM D voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_LAST#
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VR_FIRST#
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_VDD0#
VDDCR VDD0 voltage regulator temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_VDD1#
VDDCR VDD1 voltage regulator temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_VDD2#
VDDCR VDD2 voltage regulator temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_VDD3#
VDDCR VDD3 voltage regulator temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_SOC_A#
VDDCR SOC A voltage regulator temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_SOC_C#
VDDCR SOC C voltage regulator temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_SOCIO_A#
VDDCR SOCIO A voltage regulator temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_SOCIO_C#
VDDCR SOCIO C voltage regulator temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDD_085_HBM#
VDD 0.85V HBM voltage regulator temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_11_HBM_B#
VDDCR 1.1V HBM B voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_11_HBM_D#
VDDCR 1.1V HBM D voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDD_USR#
VDD USR voltage regulator temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDIO_11_E32#
VDDIO 1.1V E32 voltage regulator temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDIO_04_HBM_B#
VDDIO 0.4V HBM B voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDIO_04_HBM_D#
VDDIO 0.4V HBM D voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_075_HBM_B#
VDDCR 0.75V HBM B voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_075_HBM_D#
VDDCR 0.75V HBM D voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDIO_11_GTA_A#
VDDIO 1.1V GTA A voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDIO_11_GTA_C#
VDDIO 1.1V GTA C voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDAN_075_GTA_A#
VDDAN 0.75V GTA A voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDAN_075_GTA_C#
VDDAN 0.75V GTA C voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_075_UCIE#
VDDCR 0.75V UCIE voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDIO_065_UCIEAA#
VDDIO 0.65V UCIEAA voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDIO_065_UCIEAM_A#
VDDIO 0.65V UCIEAM A voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDIO_065_UCIEAM_C#
VDDIO 0.65V UCIEAM C voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDAN_075#
VDDAN 0.75V voltage regulator temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VR_LAST#
-
enumerator AMDSMI_TEMPERATURE_TYPE_GPUBOARD_LAST#
Last GPU board temperature type.
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_FIRST#
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_FPGA#
UBB FPGA temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_FRONT#
UBB front temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_BACK#
UBB back temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_OAM7#
UBB OAM7 temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_IBC#
UBB IBC temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_UFPGA#
UBB UFPGA temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_OAM1#
UBB OAM1 temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_0_1_HSC#
OAM 0-1 HSC temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_2_3_HSC#
OAM 2-3 HSC temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_4_5_HSC#
OAM 4-5 HSC temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_6_7_HSC#
OAM 6-7 HSC temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_FPGA_0V72_VR#
UBB FPGA 0.72V voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_FPGA_3V3_VR#
UBB FPGA 3.3V voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_0_1_2_3_1V2_VR#
Retimer 0-1-2-3 1.2V voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_4_5_6_7_1V2_VR#
Retimer 4-5-6-7 1.2V voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_0_1_0V9_VR#
Retimer 0-1 0.9V voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_4_5_0V9_VR#
Retimer 4-5 0.9V voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_2_3_0V9_VR#
Retimer 2-3 0.9V voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_6_7_0V9_VR#
Retimer 6-7 0.9V voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_0_1_2_3_3V3_VR#
OAM 0-1-2-3 3.3V voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_4_5_6_7_3V3_VR#
OAM 4-5-6-7 3.3V voltage regulator temperature
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_IBC_HSC#
IBC HSC temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_IBC#
IBC temperature.
-
enumerator AMDSMI_TEMPERATURE_TYPE_BASEBOARD_LAST#
-
enumerator AMDSMI_TEMPERATURE_TYPE__MAX#
Maximum per GPU temperature type.
-
enumerator AMDSMI_TEMPERATURE_TYPE_EDGE#
-
enum amdsmi_fw_block_t#
The values of this enum are used to identify the various firmware blocks.
Values:
-
enumerator AMDSMI_FW_ID_SMU#
System Management Unit (power management, clock control, thermal monitoring, etc…)
-
enumerator AMDSMI_FW_ID_FIRST#
-
enumerator AMDSMI_FW_ID_CP_CE#
Compute Processor - Command_Engine (fetch, decode, dispatch).
-
enumerator AMDSMI_FW_ID_CP_PFP#
Compute Processor - Pixel Front End Processor (pixelating process).
-
enumerator AMDSMI_FW_ID_CP_ME#
Compute Processor - Micro Engine (specialize processing).
-
enumerator AMDSMI_FW_ID_CP_MEC_JT1#
Compute Processor - Micro Engine Controller Job Table 1 (queues, scheduling)
-
enumerator AMDSMI_FW_ID_CP_MEC_JT2#
Compute Processor - Micro Engine Controller Job Table 2 (queues, scheduling)
-
enumerator AMDSMI_FW_ID_CP_MEC1#
Compute Processor - Micro Engine Controller 1 (scheduling, managing resources)
-
enumerator AMDSMI_FW_ID_CP_MEC2#
Compute Processor - Micro Engine Controller 2 (scheduling, managing resources)
-
enumerator AMDSMI_FW_ID_RLC#
Rasterizer and L2 Cache (rasterization process).
-
enumerator AMDSMI_FW_ID_SDMA0#
System Direct Memory Access 0 (high speed data transfers).
-
enumerator AMDSMI_FW_ID_SDMA1#
System Direct Memory Access 1 (high speed data transfers).
-
enumerator AMDSMI_FW_ID_SDMA2#
System Direct Memory Access 2 (high speed data transfers).
-
enumerator AMDSMI_FW_ID_SDMA3#
System Direct Memory Access 3 (high speed data transfers).
-
enumerator AMDSMI_FW_ID_SDMA4#
System Direct Memory Access 4 (high speed data transfers).
-
enumerator AMDSMI_FW_ID_SDMA5#
System Direct Memory Access 5 (high speed data transfers).
-
enumerator AMDSMI_FW_ID_SDMA6#
System Direct Memory Access 6 (high speed data transfers).
-
enumerator AMDSMI_FW_ID_SDMA7#
System Direct Memory Access 7 (high speed data transfers).
-
enumerator AMDSMI_FW_ID_VCN#
Video Core Next (encoding and decoding).
-
enumerator AMDSMI_FW_ID_UVD#
Unified Video Decoder (decode specific video formats).
-
enumerator AMDSMI_FW_ID_VCE#
Video Coding Engine (Encoding video).
-
enumerator AMDSMI_FW_ID_ISP#
Image Signal Processor (processing raw image data from sensors).
-
enumerator AMDSMI_FW_ID_DMCU_ERAM#
Digital Micro Controller Unit - Embedded RAM (memory used by DMU).
-
enumerator AMDSMI_FW_ID_DMCU_ISR#
Digital Micro Controller Unit - Interrupt Service Routine (interrupt handlers)
-
enumerator AMDSMI_FW_ID_RLC_RESTORE_LIST_GPM_MEM#
Rasterizier and L2 Cache Restore List Graphics Processor Memory
-
enumerator AMDSMI_FW_ID_RLC_RESTORE_LIST_SRM_MEM#
Rasterizier and L2 Cache Restore List System RAM Memory
-
enumerator AMDSMI_FW_ID_RLC_RESTORE_LIST_CNTL#
Rasterizier and L2 Cache Restore List Control.
-
enumerator AMDSMI_FW_ID_RLC_V#
Rasterizier and L2 Cache Virtual memory.
-
enumerator AMDSMI_FW_ID_MMSCH#
Multi-Media Shader Hardware Scheduler.
-
enumerator AMDSMI_FW_ID_PSP_SYSDRV#
Platform Security Processor System Driver.
-
enumerator AMDSMI_FW_ID_PSP_SOSDRV#
Platform Security Processor Secure Operating System Driver.
-
enumerator AMDSMI_FW_ID_PSP_TOC#
Platform Security Processor Table of Contents.
-
enumerator AMDSMI_FW_ID_PSP_KEYDB#
Platform Security Processor Table of Contents.
-
enumerator AMDSMI_FW_ID_DFC#
Data Fabric Controller (bandwidth and coherency).
-
enumerator AMDSMI_FW_ID_PSP_SPL#
Platform Security Processor Secure Program Loader.
-
enumerator AMDSMI_FW_ID_DRV_CAP#
Driver Capabilities (capabilities, features).
-
enumerator AMDSMI_FW_ID_MC#
Memory Controller (RAM and VRAM).
-
enumerator AMDSMI_FW_ID_PSP_BL#
Platform Security Processor Bootloader (initial firmware).
-
enumerator AMDSMI_FW_ID_CP_PM4#
Compute Processor Packet Processor 4 (processing command packets).
-
enumerator AMDSMI_FW_ID_RLC_P#
Rasterizier and L2 Cache Partition.
-
enumerator AMDSMI_FW_ID_SEC_POLICY_STAGE2#
Security Policy Stage 2 (security features).
-
enumerator AMDSMI_FW_ID_REG_ACCESS_WHITELIST#
Register Access Whitelist (Prevent unathorizied access).
-
enumerator AMDSMI_FW_ID_IMU_DRAM#
Input/Output Memory Management Unit - Dynamic RAM.
-
enumerator AMDSMI_FW_ID_IMU_IRAM#
Input/Output Memory Management Unit - Instruction RAM.
-
enumerator AMDSMI_FW_ID_SDMA_TH0#
System Direct Memory Access - Thread Handler 0.
-
enumerator AMDSMI_FW_ID_SDMA_TH1#
System Direct Memory Access - Thread Handler 1.
-
enumerator AMDSMI_FW_ID_CP_MES#
Compute Processor - Micro Engine Scheduler.
-
enumerator AMDSMI_FW_ID_MES_KIQ#
Micro Engine Scheduler - Kernel Indirect Queue.
-
enumerator AMDSMI_FW_ID_MES_STACK#
Micro Engine Scheduler - Stack.
-
enumerator AMDSMI_FW_ID_MES_THREAD1#
Micro Engine Scheduler - Thread 1.
-
enumerator AMDSMI_FW_ID_MES_THREAD1_STACK#
Micro Engine Scheduler - Thread 1 Stack.
-
enumerator AMDSMI_FW_ID_RLX6#
Hardware Block RLX6.
-
enumerator AMDSMI_FW_ID_RLX6_DRAM_BOOT#
Hardware Block RLX6 - Dynamic Ram Boot.
-
enumerator AMDSMI_FW_ID_RS64_ME#
Hardware Block RS64 - Micro Engine.
-
enumerator AMDSMI_FW_ID_RS64_ME_P0_DATA#
Hardware Block RS64 - Micro Engine Partition 0 Data.
-
enumerator AMDSMI_FW_ID_RS64_ME_P1_DATA#
Hardware Block RS64 - Micro Engine Partition 1 Data.
-
enumerator AMDSMI_FW_ID_RS64_PFP#
Hardware Block RS64 - Pixel Front End Processor.
-
enumerator AMDSMI_FW_ID_RS64_PFP_P0_DATA#
Hardware Block RS64 - Pixel Front End Processor Partition 0 Data
-
enumerator AMDSMI_FW_ID_RS64_PFP_P1_DATA#
Hardware Block RS64 - Pixel Front End Processor Partition 1 Data
-
enumerator AMDSMI_FW_ID_RS64_MEC#
Hardware Block RS64 - Micro Engine Controller.
-
enumerator AMDSMI_FW_ID_RS64_MEC_P0_DATA#
Hardware Block RS64 - Micro Engine Controller Partition 0 Data
-
enumerator AMDSMI_FW_ID_RS64_MEC_P1_DATA#
Hardware Block RS64 - Micro Engine Controller Partition 1 Data
-
enumerator AMDSMI_FW_ID_RS64_MEC_P2_DATA#
Hardware Block RS64 - Micro Engine Controller Partition 2 Data
-
enumerator AMDSMI_FW_ID_RS64_MEC_P3_DATA#
Hardware Block RS64 - Micro Engine Controller Partition 3 Data
-
enumerator AMDSMI_FW_ID_PPTABLE#
Power Policy Table (power management policies).
-
enumerator AMDSMI_FW_ID_PSP_SOC#
Platform Security Processor - System On a Chip.
-
enumerator AMDSMI_FW_ID_PSP_DBG#
Platform Security Processor - Debug.
-
enumerator AMDSMI_FW_ID_PSP_INTF#
Platform Security Processor - Interface.
-
enumerator AMDSMI_FW_ID_RLX6_CORE1#
Hardware Block RLX6 - Core 1.
-
enumerator AMDSMI_FW_ID_RLX6_DRAM_BOOT_CORE1#
Hardware Block RLX6 Core 1 - Dynamic RAM Boot.
-
enumerator AMDSMI_FW_ID_RLCV_LX7#
Hardware Block RLCV - Subsystem LX7.
-
enumerator AMDSMI_FW_ID_RLC_SAVE_RESTORE_LIST#
Rasterizier and L2 Cache - Save Restore List.
-
enumerator AMDSMI_FW_ID_ASD#
Asynchronous Shader Dispatcher.
-
enumerator AMDSMI_FW_ID_TA_RAS#
Trusted Applications - Reliability Availability and Serviceability.
-
enumerator AMDSMI_FW_ID_TA_XGMI#
Trusted Applications - Reliability XGMI.
-
enumerator AMDSMI_FW_ID_RLC_SRLG#
Rasterizier and L2 Cache - Shared Resource Local Group.
-
enumerator AMDSMI_FW_ID_RLC_SRLS#
Rasterizier and L2 Cache - Shared Resource Local Segment.
-
enumerator AMDSMI_FW_ID_PM#
Power Management Firmware.
-
enumerator AMDSMI_FW_ID_DMCU#
Display Micro-Controller Unit.
-
enumerator AMDSMI_FW_ID_PLDM_BUNDLE#
Platform Level Data Model Firmware Bundle.
-
enumerator AMDSMI_FW_ID__MAX#
-
enumerator AMDSMI_FW_ID_SMU#
-
enum amdsmi_vram_type_t#
vRam Types. This enum is used to identify various VRam types.
Values:
-
enumerator AMDSMI_VRAM_TYPE_UNKNOWN#
Unknown memory type.
-
enumerator AMDSMI_VRAM_TYPE_HBM#
High Bandwidth Memory.
-
enumerator AMDSMI_VRAM_TYPE_HBM2#
High Bandwidth Memory, Generation 2.
-
enumerator AMDSMI_VRAM_TYPE_HBM2E#
High Bandwidth Memory, Generation 2 Enhanced.
-
enumerator AMDSMI_VRAM_TYPE_HBM3#
High Bandwidth Memory, Generation 3.
-
enumerator AMDSMI_VRAM_TYPE_HBM3E#
High Bandwidth Memory, Generation 3 Enhanced.
-
enumerator AMDSMI_VRAM_TYPE_DDR2#
Double Data Rate, Generation 2.
-
enumerator AMDSMI_VRAM_TYPE_DDR3#
Double Data Rate, Generation 3.
-
enumerator AMDSMI_VRAM_TYPE_DDR4#
Double Data Rate, Generation 4.
-
enumerator AMDSMI_VRAM_TYPE_DDR5#
Double Data Rate, Generation 5.
-
enumerator AMDSMI_VRAM_TYPE_GDDR1#
Graphics Double Data Rate, Generation 1.
-
enumerator AMDSMI_VRAM_TYPE_GDDR2#
Graphics Double Data Rate, Generation 2.
-
enumerator AMDSMI_VRAM_TYPE_GDDR3#
Graphics Double Data Rate, Generation 3.
-
enumerator AMDSMI_VRAM_TYPE_GDDR4#
Graphics Double Data Rate, Generation 4.
-
enumerator AMDSMI_VRAM_TYPE_GDDR5#
Graphics Double Data Rate, Generation 5.
-
enumerator AMDSMI_VRAM_TYPE_GDDR6#
Graphics Double Data Rate, Generation 6.
-
enumerator AMDSMI_VRAM_TYPE_GDDR7#
Graphics Double Data Rate, Generation 7.
-
enumerator AMDSMI_VRAM_TYPE_LPDDR4#
Low Power Double Data Rate, Generation 4.
-
enumerator AMDSMI_VRAM_TYPE_LPDDR5#
Low Power Double Data Rate, Generation 5.
-
enumerator AMDSMI_VRAM_TYPE__MAX#
-
enumerator AMDSMI_VRAM_TYPE_UNKNOWN#
-
enum amdsmi_card_form_factor_t#
Card Form Factor.
Values:
-
enumerator AMDSMI_CARD_FORM_FACTOR_PCIE#
PCIE card form factor.
-
enumerator AMDSMI_CARD_FORM_FACTOR_OAM#
OAM form factor.
-
enumerator AMDSMI_CARD_FORM_FACTOR_CEM#
CEM form factor.
-
enumerator AMDSMI_CARD_FORM_FACTOR_UNKNOWN#
Unknown Form factor.
-
enumerator AMDSMI_CARD_FORM_FACTOR_PCIE#
-
enum amdsmi_power_cap_type_t#
Power Cap Package Power Tracking (PPT) type.
Values:
-
enumerator AMDSMI_POWER_CAP_TYPE_PPT0#
PPT0 power cap; lower limit, filtered input.
-
enumerator AMDSMI_POWER_CAP_TYPE_PPT1#
PPT1 power cap; higher limit, raw input.
-
enumerator AMDSMI_POWER_CAP_TYPE_PPT0#
-
enum amdsmi_cache_property_type_t#
cache properties
Values:
-
enumerator AMDSMI_CACHE_PROPERTY_ENABLED#
Cache enabled.
-
enumerator AMDSMI_CACHE_PROPERTY_DATA_CACHE#
Data cache.
-
enumerator AMDSMI_CACHE_PROPERTY_INST_CACHE#
Instruction cache.
-
enumerator AMDSMI_CACHE_PROPERTY_CPU_CACHE#
CPU cache.
-
enumerator AMDSMI_CACHE_PROPERTY_SIMD_CACHE#
Single Instruction, Multiple Data Cache.
-
enumerator AMDSMI_CACHE_PROPERTY_ENABLED#
-
enum amdsmi_link_type_t#
Link type.
Values:
-
enumerator AMDSMI_LINK_TYPE_INTERNAL#
Internal Link Type, within chip.
-
enumerator AMDSMI_LINK_TYPE_PCIE#
Peripheral Component Interconnect Express Link Type.
-
enumerator AMDSMI_LINK_TYPE_XGMI#
GPU Memory Interconnect (multi GPU communication).
-
enumerator AMDSMI_LINK_TYPE_NOT_APPLICABLE#
Not Applicable Link Type.
-
enumerator AMDSMI_LINK_TYPE_UNKNOWN#
Unknown Link Type.
-
enumerator AMDSMI_LINK_TYPE_NUMA#
Two processors connect via different PCIe switches but on the same CPU (NIC-to-GPU only)
-
enumerator AMDSMI_LINK_TYPE_XNUMA#
Two processors connect via different PCIe switches on different CPUs (NIC-to-GPU only).
-
enumerator AMDSMI_LINK_TYPE_INTERNAL#
-
enum amdsmi_link_status_t#
Link Status.
Values:
-
enumerator AMDSMI_LINK_STATUS_ENABLED#
-
enumerator AMDSMI_LINK_STATUS_DISABLED#
-
enumerator AMDSMI_LINK_STATUS_INACTIVE#
-
enumerator AMDSMI_LINK_STATUS_ERROR#
-
enumerator AMDSMI_LINK_STATUS_ENABLED#
-
enum amdsmi_dev_perf_level_t#
PowerPlay performance levels.
Values:
-
enumerator AMDSMI_DEV_PERF_LEVEL_AUTO#
Performance level is “auto”.
-
enumerator AMDSMI_DEV_PERF_LEVEL_FIRST#
-
enumerator AMDSMI_DEV_PERF_LEVEL_LOW#
Keep PowerPlay levels “low”, regardless of workload.
-
enumerator AMDSMI_DEV_PERF_LEVEL_HIGH#
Keep PowerPlay levels “high”, regardless of workload.
-
enumerator AMDSMI_DEV_PERF_LEVEL_MANUAL#
Only use values defined by manually setting the AMDSMI_CLK_TYPE_SYS speed
-
enumerator AMDSMI_DEV_PERF_LEVEL_STABLE_STD#
Stable power state with profiling clocks.
-
enumerator AMDSMI_DEV_PERF_LEVEL_STABLE_PEAK#
Stable power state with peak clocks.
-
enumerator AMDSMI_DEV_PERF_LEVEL_STABLE_MIN_MCLK#
Stable power state with minimum memory clock.
-
enumerator AMDSMI_DEV_PERF_LEVEL_STABLE_MIN_SCLK#
Stable power state with minimum system clock.
-
enumerator AMDSMI_DEV_PERF_LEVEL_DETERMINISM#
Performance determinism state.
-
enumerator AMDSMI_DEV_PERF_LEVEL_LAST#
-
enumerator AMDSMI_DEV_PERF_LEVEL_UNKNOWN#
Unknown performance level.
-
enumerator AMDSMI_DEV_PERF_LEVEL_AUTO#
-
enum amdsmi_event_group_t#
Event Groups Enum denoting an event group. The value of the enum is the base value for all the event enums in the group.
Values:
-
enumerator AMDSMI_EVNT_GRP_XGMI#
Data Fabric (XGMI) related events.
-
enumerator AMDSMI_EVNT_GRP_XGMI_DATA_OUT#
XGMI Outbound data.
-
enumerator AMDSMI_EVNT_GRP_INVALID#
Unknown Event Group.
-
enumerator AMDSMI_EVNT_GRP_XGMI#
-
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 * 10
9 (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.
Values:
-
enumerator AMDSMI_EVNT_FIRST#
-
enumerator AMDSMI_EVNT_XGMI_FIRST#
-
enumerator AMDSMI_EVNT_XGMI_0_NOP_TX#
NOPs sent to neighbor 0.
-
enumerator AMDSMI_EVNT_XGMI_0_REQUEST_TX#
Outgoing requests to neighbor 0.
-
enumerator AMDSMI_EVNT_XGMI_0_RESPONSE_TX#
Outgoing responses to neighbor 0.
-
enumerator AMDSMI_EVNT_XGMI_0_BEATS_TX#
Throughput = BEATS/time_running 10^9 bytes/sec.
-
enumerator AMDSMI_EVNT_XGMI_1_NOP_TX#
NOPs sent to neighbor 1.
-
enumerator AMDSMI_EVNT_XGMI_1_REQUEST_TX#
Outgoing requests to neighbor 1.
-
enumerator AMDSMI_EVNT_XGMI_1_RESPONSE_TX#
Outgoing responses to neighbor 1.
-
enumerator AMDSMI_EVNT_XGMI_1_BEATS_TX#
Data beats sent to neighbor 1; Each beat represents 32 bytes.
-
enumerator AMDSMI_EVNT_XGMI_LAST#
-
enumerator AMDSMI_EVNT_XGMI_DATA_OUT_FIRST#
-
enumerator AMDSMI_EVNT_XGMI_DATA_OUT_0#
Outbound beats to neighbor 0.
-
enumerator AMDSMI_EVNT_XGMI_DATA_OUT_1#
Outbound beats to neighbor 1.
-
enumerator AMDSMI_EVNT_XGMI_DATA_OUT_2#
Outbound beats to neighbor 2.
-
enumerator AMDSMI_EVNT_XGMI_DATA_OUT_3#
Outbound beats to neighbor 3.
-
enumerator AMDSMI_EVNT_XGMI_DATA_OUT_4#
Outbound beats to neighbor 4.
-
enumerator AMDSMI_EVNT_XGMI_DATA_OUT_5#
Outbound beats to neighbor 5.
-
enumerator AMDSMI_EVNT_XGMI_DATA_OUT_LAST#
-
enumerator AMDSMI_EVNT_LAST#
-
enumerator AMDSMI_EVNT_FIRST#
-
enum amdsmi_counter_command_t#
Event counter commands.
Values:
-
enumerator AMDSMI_CNTR_CMD_START#
Start the counter.
-
enumerator AMDSMI_CNTR_CMD_STOP#
Stop the counter; note that this should not be used before reading
-
enumerator AMDSMI_CNTR_CMD_START#
-
enum amdsmi_evt_notification_type_t#
Event notification event types.
Values:
-
enumerator AMDSMI_EVT_NOTIF_NONE#
No events.
-
enumerator AMDSMI_EVT_NOTIF_VMFAULT#
Virtual Memory Page Fault Event.
-
enumerator AMDSMI_EVT_NOTIF_FIRST#
-
enumerator AMDSMI_EVT_NOTIF_THERMAL_THROTTLE#
thermal throttle
-
enumerator AMDSMI_EVT_NOTIF_GPU_PRE_RESET#
pre-reset
-
enumerator AMDSMI_EVT_NOTIF_GPU_POST_RESET#
post-reset
-
enumerator AMDSMI_EVT_NOTIF_MIGRATE_START#
migrate start
-
enumerator AMDSMI_EVT_NOTIF_MIGRATE_END#
migrate end
-
enumerator AMDSMI_EVT_NOTIF_PAGE_FAULT_START#
page fault start
-
enumerator AMDSMI_EVT_NOTIF_PAGE_FAULT_END#
page fault end
-
enumerator AMDSMI_EVT_NOTIF_QUEUE_EVICTION#
queue eviction
-
enumerator AMDSMI_EVT_NOTIF_QUEUE_RESTORE#
queue restore
-
enumerator AMDSMI_EVT_NOTIF_UNMAP_FROM_GPU#
unmap from GPU
-
enumerator AMDSMI_EVT_NOTIF_PROCESS_START#
KFD process start.
-
enumerator AMDSMI_EVT_NOTIF_PROCESS_END#
KFD process end.
-
enumerator AMDSMI_EVT_NOTIF_LAST#
-
enumerator AMDSMI_EVT_NOTIF_NONE#
-
enum amdsmi_temperature_metric_t#
Temperature Metrics. This enum is used to identify various temperature metrics. Corresponding values will be in Celsius.
Values:
-
enumerator AMDSMI_TEMP_CURRENT#
Current temperature.
-
enumerator AMDSMI_TEMP_FIRST#
-
enumerator AMDSMI_TEMP_MAX#
Max temperature.
-
enumerator AMDSMI_TEMP_MIN#
Min temperature.
-
enumerator AMDSMI_TEMP_MAX_HYST#
Max limit hysteresis temperature (Absolute temperature, not a delta)
-
enumerator AMDSMI_TEMP_MIN_HYST#
Min limit hysteresis temperature (Absolute temperature, not a delta)
-
enumerator AMDSMI_TEMP_CRITICAL#
Critical max limit temperature, typically greater than max temperatures
-
enumerator AMDSMI_TEMP_CRITICAL_HYST#
Critical hysteresis limit temperature (Absolute temperature, not a delta)
-
enumerator AMDSMI_TEMP_EMERGENCY#
Emergency max temperature, for chips supporting more than two upper temperature limits. Must be equal or greater than corresponding temp_crit values
-
enumerator AMDSMI_TEMP_EMERGENCY_HYST#
Emergency hysteresis limit temperature (Absolute temperature, not a delta)
-
enumerator AMDSMI_TEMP_CRIT_MIN#
Critical min temperature, typically lower than minimum temperatures
-
enumerator AMDSMI_TEMP_CRIT_MIN_HYST#
Min Hysteresis critical limit temperature (Absolute temperature, not a delta)
-
enumerator AMDSMI_TEMP_OFFSET#
Temperature offset which is added to the temperature reading by the chip
-
enumerator AMDSMI_TEMP_LOWEST#
Historical min temperature.
-
enumerator AMDSMI_TEMP_HIGHEST#
Historical max temperature.
-
enumerator AMDSMI_TEMP_SHUTDOWN#
Shutdown temperature.
-
enumerator AMDSMI_TEMP_LAST#
-
enumerator AMDSMI_TEMP_CURRENT#
-
enum amdsmi_voltage_metric_t#
Voltage Metrics. This enum is used to identify various Voltage metrics. Corresponding values will be in millivolt.
Values:
-
enumerator AMDSMI_VOLT_CURRENT#
Voltage current value.
-
enumerator AMDSMI_VOLT_FIRST#
-
enumerator AMDSMI_VOLT_MAX#
Voltage max value.
-
enumerator AMDSMI_VOLT_MIN_CRIT#
Voltage critical min value.
-
enumerator AMDSMI_VOLT_MIN#
Voltage min value.
-
enumerator AMDSMI_VOLT_MAX_CRIT#
Voltage critical max value.
-
enumerator AMDSMI_VOLT_AVERAGE#
Average voltage.
-
enumerator AMDSMI_VOLT_LOWEST#
Historical minimum voltage.
-
enumerator AMDSMI_VOLT_HIGHEST#
Historical maximum voltage.
-
enumerator AMDSMI_VOLT_LAST#
-
enumerator AMDSMI_VOLT_CURRENT#
-
enum amdsmi_voltage_type_t#
This ennumeration is used to indicate which type of voltage reading should be obtained.
Values:
-
enumerator AMDSMI_VOLT_TYPE_FIRST#
-
enumerator AMDSMI_VOLT_TYPE_VDDGFX#
Vddgfx GPU voltage.
-
enumerator AMDSMI_VOLT_TYPE_VDDBOARD#
Voltage for VDDBOARD.
-
enumerator AMDSMI_VOLT_TYPE_LAST#
-
enumerator AMDSMI_VOLT_TYPE_INVALID#
Invalid type.
-
enumerator AMDSMI_VOLT_TYPE_FIRST#
-
enum 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.
Values:
-
enumerator AMDSMI_PWR_PROF_PRST_CUSTOM_MASK#
Custom Power Profile.
-
enumerator AMDSMI_PWR_PROF_PRST_VIDEO_MASK#
Video Power Profile.
-
enumerator AMDSMI_PWR_PROF_PRST_POWER_SAVING_MASK#
Power Saving Profile.
-
enumerator AMDSMI_PWR_PROF_PRST_COMPUTE_MASK#
Compute Saving Profile.
-
enumerator AMDSMI_PWR_PROF_PRST_VR_MASK#
VR Power Profile.
-
enumerator AMDSMI_PWR_PROF_PRST_3D_FULL_SCR_MASK#
3D Full Screen Profile
-
enumerator AMDSMI_PWR_PROF_PRST_BOOTUP_DEFAULT#
Default Boot Up Profile.
-
enumerator AMDSMI_PWR_PROF_PRST_LAST#
-
enumerator AMDSMI_PWR_PROF_PRST_INVALID#
Invalid Power Profile.
-
enumerator AMDSMI_PWR_PROF_PRST_CUSTOM_MASK#
-
enum amdsmi_gpu_block_t#
This enum is used to identify different GPU blocks.
Values:
-
enumerator AMDSMI_GPU_BLOCK_INVALID#
Invalid block.
-
enumerator AMDSMI_GPU_BLOCK_FIRST#
-
enumerator AMDSMI_GPU_BLOCK_UMC#
UMC block.
-
enumerator AMDSMI_GPU_BLOCK_SDMA#
SDMA block.
-
enumerator AMDSMI_GPU_BLOCK_GFX#
GFX block.
-
enumerator AMDSMI_GPU_BLOCK_MMHUB#
MMHUB block.
-
enumerator AMDSMI_GPU_BLOCK_ATHUB#
ATHUB block.
-
enumerator AMDSMI_GPU_BLOCK_PCIE_BIF#
PCIE_BIF block.
-
enumerator AMDSMI_GPU_BLOCK_HDP#
HDP block.
-
enumerator AMDSMI_GPU_BLOCK_XGMI_WAFL#
XGMI block.
-
enumerator AMDSMI_GPU_BLOCK_DF#
DF block.
-
enumerator AMDSMI_GPU_BLOCK_SMN#
SMN block.
-
enumerator AMDSMI_GPU_BLOCK_SEM#
SEM block.
-
enumerator AMDSMI_GPU_BLOCK_MP0#
MP0 block.
-
enumerator AMDSMI_GPU_BLOCK_MP1#
MP1 block.
-
enumerator AMDSMI_GPU_BLOCK_FUSE#
Fuse block.
-
enumerator AMDSMI_GPU_BLOCK_MCA#
MCA block.
-
enumerator AMDSMI_GPU_BLOCK_VCN#
VCN block.
-
enumerator AMDSMI_GPU_BLOCK_JPEG#
JPEG block.
-
enumerator AMDSMI_GPU_BLOCK_IH#
IH block.
-
enumerator AMDSMI_GPU_BLOCK_MPIO#
MPIO block.
-
enumerator AMDSMI_GPU_BLOCK_LAST#
-
enumerator AMDSMI_GPU_BLOCK_RESERVED#
-
enumerator AMDSMI_GPU_BLOCK_INVALID#
-
enum amdsmi_clk_limit_type_t#
The clk limit type.
Values:
-
enumerator CLK_LIMIT_MIN#
Min Clock value in MHz.
-
enumerator CLK_LIMIT_MAX#
Max Clock value in MHz.
-
enumerator CLK_LIMIT_MIN#
-
enum amdsmi_cper_sev_t#
Cper sev.
Values:
-
enumerator AMDSMI_CPER_SEV_NON_FATAL_UNCORRECTED#
CPER Non-Fatal Uncorrected severity.
-
enumerator AMDSMI_CPER_SEV_FATAL#
CPER Fatal severity.
-
enumerator AMDSMI_CPER_SEV_NON_FATAL_CORRECTED#
CPER Non-Fatal Corrected severity.
-
enumerator AMDSMI_CPER_SEV_NUM#
CPER severity Number.
-
enumerator AMDSMI_CPER_SEV_UNUSED#
CPER Unused severity.
-
enumerator AMDSMI_CPER_SEV_NON_FATAL_UNCORRECTED#
-
enum amdsmi_cper_notify_type_t#
Cper notify.
Values:
-
enumerator AMDSMI_CPER_NOTIFY_TYPE_CMC#
Corrected Memory Check.
-
enumerator AMDSMI_CPER_NOTIFY_TYPE_CPE#
Corrected Platform Error.
-
enumerator AMDSMI_CPER_NOTIFY_TYPE_MCE#
Machine Check Exception.
-
enumerator AMDSMI_CPER_NOTIFY_TYPE_PCIE#
PCI Express Error.
-
enumerator AMDSMI_CPER_NOTIFY_TYPE_INIT#
Initialization Error.
-
enumerator AMDSMI_CPER_NOTIFY_TYPE_NMI#
Non_Maskable Interrupt.
-
enumerator AMDSMI_CPER_NOTIFY_TYPE_BOOT#
Boot Error.
-
enumerator AMDSMI_CPER_NOTIFY_TYPE_DMAR#
Direct Memory Access Remapping Error.
-
enumerator AMDSMI_CPER_NOTIFY_TYPE_SEA#
System Error Architecture.
-
enumerator AMDSMI_CPER_NOTIFY_TYPE_SEI#
System Error Interface.
-
enumerator AMDSMI_CPER_NOTIFY_TYPE_PEI#
Platform Error Interface.
-
enumerator AMDSMI_CPER_NOTIFY_TYPE_CXL_COMPONENT#
Compute Express Link Component Error
-
enumerator AMDSMI_CPER_NOTIFY_TYPE_CMC#
-
enum amdsmi_ras_err_state_t#
The current ECC state.
Values:
-
enumerator AMDSMI_RAS_ERR_STATE_NONE#
No current errors.
-
enumerator AMDSMI_RAS_ERR_STATE_DISABLED#
ECC is disabled.
-
enumerator AMDSMI_RAS_ERR_STATE_PARITY#
ECC errors present, but type unknown.
-
enumerator AMDSMI_RAS_ERR_STATE_SING_C#
Single correctable error.
-
enumerator AMDSMI_RAS_ERR_STATE_MULT_UC#
Multiple uncorrectable errors.
-
enumerator AMDSMI_RAS_ERR_STATE_POISON#
Firmware detected error and isolated page. Treat as uncorrectable
-
enumerator AMDSMI_RAS_ERR_STATE_ENABLED#
ECC is enabled.
-
enumerator AMDSMI_RAS_ERR_STATE_LAST#
-
enumerator AMDSMI_RAS_ERR_STATE_INVALID#
-
enumerator AMDSMI_RAS_ERR_STATE_NONE#
-
enum amdsmi_memory_type_t#
Types of memory.
Note
Sum of the process memory is not expected to be the total memory usage.
Values:
-
enumerator AMDSMI_MEM_TYPE_FIRST#
-
enumerator AMDSMI_MEM_TYPE_VRAM#
VRAM memory.
-
enumerator AMDSMI_MEM_TYPE_VIS_VRAM#
VRAM memory that is visible.
-
enumerator AMDSMI_MEM_TYPE_GTT#
GTT memory.
-
enumerator AMDSMI_MEM_TYPE_LAST#
-
enumerator AMDSMI_MEM_TYPE_FIRST#
-
enum amdsmi_freq_ind_t#
The values of this enum are used as frequency identifiers.
Values:
-
enumerator AMDSMI_FREQ_IND_MIN#
Index used for the minimum frequency value.
-
enumerator AMDSMI_FREQ_IND_MAX#
Index used for the maximum frequency value.
-
enumerator AMDSMI_FREQ_IND_INVALID#
An invalid frequency index.
-
enumerator AMDSMI_FREQ_IND_MIN#
-
enum amdsmi_xgmi_status_t#
XGMI Status.
Values:
-
enumerator AMDSMI_XGMI_STATUS_NO_ERRORS#
XGMI No Errors.
-
enumerator AMDSMI_XGMI_STATUS_ERROR#
XGMI Errors.
-
enumerator AMDSMI_XGMI_STATUS_MULTIPLE_ERRORS#
XGMI Multiple Errors.
-
enumerator AMDSMI_XGMI_STATUS_NO_ERRORS#
-
enum amdsmi_memory_page_status_t#
Reserved Memory Page States.
Values:
-
enumerator AMDSMI_MEM_PAGE_STATUS_RESERVED#
Reserved. This gpu page is reserved and not available for use
-
enumerator AMDSMI_MEM_PAGE_STATUS_PENDING#
Pending. This gpu page is marked as bad and will be marked reserved at the next window
-
enumerator AMDSMI_MEM_PAGE_STATUS_UNRESERVABLE#
Unable to reserve this page.
-
enumerator AMDSMI_MEM_PAGE_STATUS_RESERVED#
-
enum amdsmi_utilization_counter_type_t#
The utilization counter type.
Values:
-
enumerator AMDSMI_UTILIZATION_COUNTER_FIRST#
Course grain activity counters.
-
enumerator AMDSMI_COARSE_GRAIN_GFX_ACTIVITY#
Course Grain Graphic Activity
-
enumerator AMDSMI_COARSE_GRAIN_MEM_ACTIVITY#
Course Grain Memory Activity.
-
enumerator AMDSMI_COARSE_DECODER_ACTIVITY#
Course Grain Decoder Activity.
-
enumerator AMDSMI_FINE_GRAIN_GFX_ACTIVITY#
Fine Grain Graphic Activity.
-
enumerator AMDSMI_FINE_GRAIN_MEM_ACTIVITY#
Fine Grain Memory Activity.
-
enumerator AMDSMI_FINE_DECODER_ACTIVITY#
Fine Grain Decoder Activity.
-
enumerator AMDSMI_UTILIZATION_COUNTER_LAST#
-
enumerator AMDSMI_UTILIZATION_COUNTER_FIRST#
-
enum amdsmi_xgmi_link_status_type_t#
XGMI Link Status Type.
Values:
-
enumerator AMDSMI_XGMI_LINK_DOWN#
XGMI link status is down.
-
enumerator AMDSMI_XGMI_LINK_UP#
XGMI link status is up.
-
enumerator AMDSMI_XGMI_LINK_DISABLE#
XGMI link status is disabled.
-
enumerator AMDSMI_XGMI_LINK_DOWN#
-
enum amdsmi_reg_type_t#
This register type for register table.
Values:
-
enumerator AMDSMI_REG_XGMI#
XGMI registers.
-
enumerator AMDSMI_REG_WAFL#
WAFL registers.
-
enumerator AMDSMI_REG_PCIE#
PCIe registers.
-
enumerator AMDSMI_REG_USR#
Usr registers.
-
enumerator AMDSMI_REG_USR1#
Usr1 registers.
-
enumerator AMDSMI_REG_XGMI#
-
enum amdsmi_virtualization_mode_t#
Variant placeholder.
Place-holder “variant” for functions that have don’t have any variants, but do have monitors or sensors.
Values:
-
enumerator AMDSMI_VIRTUALIZATION_MODE_UNKNOWN#
Unknown Virtualization Mode.
-
enumerator AMDSMI_VIRTUALIZATION_MODE_BAREMETAL#
Baremetal Virtualization Mode.
-
enumerator AMDSMI_VIRTUALIZATION_MODE_HOST#
Host Virtualization Mode.
-
enumerator AMDSMI_VIRTUALIZATION_MODE_GUEST#
Guest Virtualization Mode.
-
enumerator AMDSMI_VIRTUALIZATION_MODE_PASSTHROUGH#
Passthrough Virtualization Mode.
-
enumerator AMDSMI_VIRTUALIZATION_MODE_UNKNOWN#
-
enum amdsmi_affinity_scope_t#
Scope for Numa affinity or Socket affinity.
Values:
-
enumerator AMDSMI_AFFINITY_SCOPE_NODE#
Memory affinity as numa node.
-
enumerator AMDSMI_AFFINITY_SCOPE_SOCKET#
socket affinity
-
enumerator AMDSMI_AFFINITY_SCOPE_NODE#
-
enum amdsmi_npm_status_t#
NPM status.
Values:
-
enumerator AMDSMI_NPM_STATUS_DISABLED#
NPM disabled flag.
-
enumerator AMDSMI_NPM_STATUS_ENABLED#
NPM enable flag.
-
enumerator AMDSMI_NPM_STATUS_DISABLED#
-
enum amdsmi_ptl_data_format_t#
PTL (Peak Tops Limiter) data format types These correspond to the hardware data types used in matrix operations. Only F8 and XF32 are always supported at full performance. From the remaining five types, only two can be supported at peak performance simultaneously.
Values:
-
enumerator AMDSMI_PTL_DATA_FORMAT_I8#
Integer 8-bit format.
-
enumerator AMDSMI_PTL_DATA_FORMAT_F16#
Float 16-bit format.
-
enumerator AMDSMI_PTL_DATA_FORMAT_BF16#
Brain Float 16-bit format.
-
enumerator AMDSMI_PTL_DATA_FORMAT_F32#
Float 32-bit format.
-
enumerator AMDSMI_PTL_DATA_FORMAT_F64#
Float 64-bit format.
-
enumerator AMDSMI_PTL_DATA_FORMAT_F8#
Float 8-bit format.
-
enumerator AMDSMI_PTL_DATA_FORMAT_VECTOR#
Vector format.
-
enumerator AMDSMI_PTL_DATA_FORMAT_INVALID#
Invalid format.
-
enumerator AMDSMI_PTL_DATA_FORMAT_I8#
-
enum amdsmi_io_bw_encoding_t#
xGMI Bandwidth Encoding types
Values:
-
enumerator AGG_BW0#
Aggregate Bandwidth.
-
enumerator RD_BW0#
Read Bandwidth.
-
enumerator WR_BW0#
Write Bandwidth.
-
enumerator AGG_BW0#
-
enum amdsmi_fabric_telemetry_category_t
Fabric telemetry categories.
Values:
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_UNKNOWN
Unknown telemetry.
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_UALOE
UALOE telemetry.
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_SWITCH
Switch telemetry.
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_CRYPTO
Crypto telemetry.
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_PFC
PFC telemetry.
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_NETPORT
Network Port telemetry.
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_DERIVED_UALOE
Derived UALOE telemetry.
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_DERIVED_NETPORT
Derived Network Port telemetry.
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_MAX
Maximum number of categories.
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_INVALID
Unknown telemetry.
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_UNKNOWN
-
enum amdsmi_fabric_telemetry_category_mask_t
Fabric telemetry category bitmask values.
Values:
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_MASK_UALOE
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_MASK_SWITCH
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_MASK_CRYPTO
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_MASK_PFC
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_MASK_NETPORT
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_MASK_DERIVED_UALOE
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_MASK_DERIVED_NETPORT
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_MASK_ALL_KNOWN
All known categories.
-
enumerator AMDSMI_FABRIC_TELEMETRY_CATEGORY_MASK_UALOE
-
enum amdsmi_fabric_size_constants_t
Fabric size constants.
Values:
-
enumerator AMDSMI_FABRIC_ACTIVE_ACCELERATORS_BITMAP_SIZE
Active accelerators bitmap size (32 x 32-bit words = 1024 bits).
-
enumerator AMDSMI_FABRIC_MAX_LOCAL_GPUS
Maximum local GPUs in fabric.
-
enumerator AMDSMI_FABRIC_ACTIVE_ACCELERATORS_BITMAP_SIZE
-
enum amdsmi_fabric_type_t
Fabric type.
Values:
-
enumerator AMDSMI_FABRIC_TYPE_UALOE
-
enumerator AMDSMI_FABRIC_TYPE_UALLINK
-
enumerator AMDSMI_FABRIC_TYPE_UNKNOWN
-
enumerator AMDSMI_FABRIC_TYPE_UALOE
-
enum amdsmi_fabric_npa_address_mode_t
Fabric NPA address mode.
Values:
-
enumerator AMDSMI_FABRIC_NPA_ADDRESS_MODE_SOURCE_ALIASING
-
enumerator AMDSMI_FABRIC_NPA_ADDRESS_MODE_SOURCE_IDENTIFICATION
-
enumerator AMDSMI_FABRIC_NPA_ADDRESS_MODE_UNKNOWN
-
enumerator AMDSMI_FABRIC_NPA_ADDRESS_MODE_SOURCE_ALIASING
-
enum amdsmi_fabric_accelerator_vpod_state_t
Fabric accelerator vPoD state.
Values:
-
enumerator AMDSMI_FABRIC_ACCELERATOR_VPOD_STATE_UNCONFIGURED
-
enumerator AMDSMI_FABRIC_ACCELERATOR_VPOD_STATE_CONFIGURED
-
enumerator AMDSMI_FABRIC_ACCELERATOR_VPOD_STATE_READY
-
enumerator AMDSMI_FABRIC_ACCELERATOR_VPOD_STATE_ACTIVE
-
enumerator AMDSMI_FABRIC_ACCELERATOR_VPOD_STATE_ERROR
-
enumerator AMDSMI_FABRIC_ACCELERATOR_VPOD_STATE_UNKNOWN
-
enumerator AMDSMI_FABRIC_ACCELERATOR_VPOD_STATE_UNCONFIGURED
Structs#
-
struct _links#
Public Members
-
amdsmi_bdf_t bdf#
bdf of the destination gpu
-
uint32_t bit_rate#
current link speed in Gb/s
-
uint32_t max_bandwidth#
max bandwidth of the link in Gb/s
-
amdsmi_link_type_t link_type#
type of the link
-
uint64_t read#
total data received for each link in KB
-
uint64_t write#
total data transferred for each link in KB
-
amdsmi_link_status_t link_status#
HW status of the link.
-
amdsmi_bdf_t bdf#
-
struct amd_metrics_table_header_t#
Structure holds the gpu metrics table header for a device.
Size and version information of metrics data
-
struct amdsmi_accelerator_partition_profile_config_t#
Accelerator Partition Profile Configurations.
-
struct amdsmi_accelerator_partition_profile_t#
Accelerator Partition Resource Profile.
Public Members
-
amdsmi_accelerator_partition_type_t profile_type#
SPX, DPX, QPX, CPX and so on.
-
uint32_t num_partitions#
On MI300X: SPX=>1, DPX=>2, QPX=>4, CPX=>8; length of resources.
-
amdsmi_nps_caps_t memory_caps#
Possible memory partition capabilities.
-
uint32_t profile_index#
Index in the profiles array in amdsmi_accelerator_partition_profile_t
-
uint32_t num_resources#
length of index_of_resources_profile
-
amdsmi_accelerator_partition_type_t profile_type#
-
struct amdsmi_accelerator_partition_resource_profile_t#
Accelerator Partition Resources. This struct is used to identify various partition resource profiles.
Public Members
-
uint32_t partition_resource#
Resources a partition can use, which may be shared.
If it is greater than 1, then resource is shared.
-
uint32_t partition_resource#
-
struct amdsmi_apu_metrics_t#
APU metrics auxiliary data.
This structure holds unified APU-specific metrics data derived from the underlying driver metrics table. It is attached via amdsmi_gpu_metrics_t.apu_metrics when APU-specific metrics are available.
Version Support:
v2.4: format_revision == 2 && content_revision == 4
v3.0: format_revision == 3 && content_revision == 0 Use ::amdsmi_gpu_metrics_t.common_header to identify which version populated the fields.
Sentinel Values: Fields not applicable to the current version are initialized to the maximum value of their respective type: 0xFFFF for uint16_t fields, 0xFFFFFFFF for uint32_t fields, and UINT64_MAX for uint64_t fields. For example, on v3.0 hardware, v2.4-only fields like
average_mm_activityandtemperature_l3will contain 0xFFFF. Similarly, array elements beyond the version-specific count (e.g., elements 8-15 oftemperature_coreon v2.4) will contain 0xFFFF. However, uint32_t elements such as ‘throttle_status’ will contain 0xFFFFFFFF and UINT64_MAX for uint64_t elements such as ‘indep_throttle_status’. Callers should check the version and treat maximum values as invalid/not applicable.Public Members
-
uint16_t temperature_gfx#
Temperature (instant).
v2_4, v3_0
-
uint16_t temperature_soc#
v2_4, v3_0
-
uint16_t temperature_core[AMDSMI_APU_MAX_CORES]#
v2_4[8], v3_0[16]
-
uint16_t temperature_l3[AMDSMI_APU_MAX_L3]#
v2_4
-
uint16_t temperature_skin#
v3_0
-
uint16_t average_gfx_activity#
Utilization.
v2_4, v3_0
-
uint16_t average_mm_activity#
v2_4
-
uint16_t average_vcn_activity#
v3_0
-
uint16_t average_ipu_activity[AMDSMI_APU_MAX_IPU]#
v3_0
-
uint16_t average_core_c0_activity[AMDSMI_APU_MAX_CORES]#
v3_0
-
uint16_t average_dram_reads#
v3_0 [MB/s]
-
uint16_t average_dram_writes#
v3_0
-
uint16_t average_ipu_reads#
v3_0
-
uint16_t average_ipu_writes#
v3_0
-
uint32_t average_socket_power#
Power [mW].
All power fields in this struct are in milliwatts (mW) as reported by the APU firmware. Note: the top-level gpu_metrics_t.average_socket_power is converted to Watts; these APU sub-struct fields are NOT converted. v2_4[uint16_t], v3_0[uint32_t]
-
uint16_t average_cpu_power#
v2_4
-
uint16_t average_soc_power#
v2_4
-
uint32_t average_gfx_power#
v2_4[uint16_t], v3_0[uint32_t]
-
uint16_t average_core_power[AMDSMI_APU_MAX_CORES]#
v2_4[8], v3_0[16]
-
uint16_t average_ipu_power#
v3_0
-
uint32_t average_apu_power#
v3_0
-
uint32_t average_dgpu_power#
v3_0
-
uint32_t average_all_core_power#
v3_0
-
uint16_t average_sys_power#
v3_0
-
uint16_t stapm_power_limit#
v3_0
-
uint16_t current_stapm_power_limit#
v3_0
-
uint16_t average_gfxclk_frequency#
Average clocks [MHz].
v2_4, v3_0
-
uint16_t average_socclk_frequency#
v2_4, v3_0
-
uint16_t average_uclk_frequency#
v2_4, v3_0
-
uint16_t average_fclk_frequency#
v2_4, v3_0
-
uint16_t average_vclk_frequency#
v2_4, v3_0
-
uint16_t average_dclk_frequency#
v2_4
-
uint16_t average_vpeclk_frequency#
v3_0
-
uint16_t average_ipuclk_frequency#
v3_0
-
uint16_t average_mpipu_frequency#
v3_0
-
uint16_t current_gfxclk#
Current clocks [MHz].
v2_4
-
uint16_t current_socclk#
v2_4
-
uint16_t current_uclk#
v2_4
-
uint16_t current_fclk#
v2_4
-
uint16_t current_vclk#
v2_4
-
uint16_t current_dclk#
v2_4
-
uint16_t current_coreclk[AMDSMI_APU_MAX_CORES]#
v2_4[8], v3_0[16]
-
uint16_t current_l3clk[AMDSMI_APU_MAX_L3]#
v2_4
-
uint16_t current_core_maxfreq#
v3_0
-
uint16_t current_gfx_maxfreq#
v3_0
-
uint32_t throttle_status#
Throttle.
v2_4
-
uint64_t indep_throttle_status#
v2_4
-
uint32_t throttle_residency_prochot#
v3_0
-
uint32_t throttle_residency_spl#
v3_0
-
uint32_t throttle_residency_fppt#
v3_0
-
uint32_t throttle_residency_sppt#
v3_0
-
uint32_t throttle_residency_thm_core#
v3_0
-
uint32_t throttle_residency_thm_gfx#
v3_0
-
uint32_t throttle_residency_thm_soc#
v3_0
-
uint16_t fan_pwm#
Fan.
v2_4
-
uint16_t average_temperature_gfx#
Average temperature.
v2_4
-
uint16_t average_temperature_soc#
v2_4
-
uint16_t average_temperature_core[AMDSMI_APU_MAX_CORES]#
v2_4
-
uint16_t average_temperature_l3[AMDSMI_APU_MAX_L3]#
v2_4
-
uint16_t average_cpu_voltage#
Voltage [mV] / Current [mA].
v2_4
-
uint16_t average_soc_voltage#
v2_4
-
uint16_t average_gfx_voltage#
v2_4
-
uint16_t average_cpu_current#
v2_4
-
uint16_t average_soc_current#
v2_4
-
uint16_t average_gfx_current#
v2_4
-
uint32_t time_filter_alphavalue#
Other (v3_0).
v3_0; alpha filter time constant [us]
-
struct amdsmi_asic_info_t#
ASIC Information.
Public Members
-
uint32_t vendor_id#
Use 32 bit to be compatible with other platform.
-
uint32_t subvendor_id#
The subsystem vendor ID.
-
uint64_t device_id#
The device ID of a GPU.
-
uint32_t rev_id#
The revision ID of a GPU.
-
char asic_serial[AMDSMI_MAX_STRING_LENGTH]#
The socket’s unique serial number, 0xFFFFFFFF if not supported
-
uint32_t oam_id#
Corresponds to socket number, 0xFFFFFFFF if not supported.
-
uint32_t num_of_compute_units#
0xFFFFFFFF if not supported
-
uint64_t target_graphics_version#
0xFFFFFFFFFFFFFFFF if not supported
-
uint64_t flags#
Chip flags.
The subsystem ID
-
uint32_t vendor_id#
-
struct amdsmi_board_info_t#
Board Information.
-
struct amdsmi_clk_info_t#
Clock Information.
-
struct amdsmi_counter_value_t#
Counter value.
-
struct amdsmi_cper_guid_t#
Cper.
-
struct amdsmi_cper_hdr_t#
Public Members
-
char signature[4]#
“CPER”
-
uint32_t signature_end#
0xFFFFFFFF
-
uint32_t record_length#
Total size of CPER Entry.
-
amdsmi_cper_guid_t partition_id#
Reserved.
-
amdsmi_cper_guid_t notify_type#
CMC, MCE, can use amdsmi_cper_notifiy_type_t to decode.
-
char record_id[8]#
Unique CPER Entry ID.
-
uint32_t flags#
Reserved.
-
uint64_t persistence_info#
Reserved.
-
uint8_t reserved[12]#
Reserved.
-
char signature[4]#
-
struct amdsmi_cper_timestamp_t#
-
struct amdsmi_cpu_info_t#
cpu info data
Public Members
-
char model_name[AMDSMI_MAX_STRING_LENGTH]#
cpu model name
-
uint32_t cpu_family_id#
cpu family id
-
uint32_t model_id#
cpu model id
-
uint32_t threads_per_core#
virtual processing units per cpu core
-
uint32_t cores_per_socket#
cpu cores per socket
-
bool frequency_boost#
boost frequency
-
uint32_t vendor_id#
Use 32 bit to be compatible with other platform.
-
char vendor_name[AMDSMI_MAX_STRING_LENGTH]#
vendor name
-
uint32_t subvendor_id#
The subsystem vendor id.
-
uint64_t device_id#
The device id of a GPU.
-
uint32_t rev_id#
Revision.
-
char asic_serial[AMDSMI_MAX_STRING_LENGTH]#
Asic serial id.
-
uint32_t socket_id#
0xFFFF if not supported
-
uint32_t core_id#
cpu core id
-
uint32_t num_of_cpu_cores#
0xFFFFFFFF if not supported
-
uint32_t socket_count#
count of cpu sockets
-
uint32_t core_count#
cpu core count
-
uint32_t reserved[17]#
reserved
-
char model_name[AMDSMI_MAX_STRING_LENGTH]#
-
struct amdsmi_cpu_util_t#
This structure holds CPU utilization information.
-
struct amdsmi_ddr_bw_metrics_t#
DDR bandwidth metrics.
-
struct amdsmi_dimm_power_t#
DIMM Power(mW), power update rate(ms) and dimm address.
-
struct amdsmi_dimm_thermal_t#
DIMM temperature(°C) and update rate(ms) and dimm address.
-
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.
-
struct amdsmi_dpm_policy_entry_t#
The dpm policy.
-
struct amdsmi_dpm_policy_t#
DPM Policy.
Only the first num_supported policies are valid.
Public Members
-
uint32_t num_supported#
The number of supported policies.
-
uint32_t current#
The current policy index.
-
amdsmi_dpm_policy_entry_t policies[AMDSMI_MAX_NUM_PM_POLICIES]#
List of policies.
-
uint32_t num_supported#
-
struct amdsmi_driver_info_t#
Driver Information.
-
struct amdsmi_engine_usage_t#
Engine Usage amdsmi_engine_usage_t: This structure holds common GPU activity values seen in both BM or SRIOV.
-
struct amdsmi_enumeration_info_t#
Structure holds enumeration information.
Public Members
-
uint32_t drm_render#
the render node under /sys/class/drm/renderD*
-
uint32_t drm_card#
the graphic card device under /sys/class/drm/card*
-
uint32_t hsa_id#
the HSA enumeration ID
-
uint32_t hip_id#
the HIP enumeration ID
-
char hip_uuid[AMDSMI_MAX_STRING_LENGTH]#
the HIP unique identifier
-
uint32_t oam_id#
Physical XGMI ID / OAM ID (0xFFFFFFFF if N/A).
-
uint32_t drm_render#
-
struct amdsmi_error_count_t#
This structure holds error counts.
-
struct amdsmi_evt_notification_data_t#
Event notification data returned from event notification API.
Public Members
-
amdsmi_processor_handle processor_handle#
Handler of device that corresponds to the event.
-
amdsmi_evt_notification_type_t event#
Event type.
-
char message[AMDSMI_MAX_STRING_LENGTH]#
Event message.
-
amdsmi_processor_handle processor_handle#
-
struct amdsmi_fabric_info_t
Fabric device information structure.
Public Members
-
amdsmi_bdf_t bdf#
BDF (Bus, Device, Function) of the Fabric device.
-
amdsmi_fabric_info_ver_t fabric_info#
Fabric information structure (version 1).
-
uint32_t reserved[15]#
Reserved for future use.
-
amdsmi_bdf_t bdf#
-
struct amdsmi_fabric_info_v1_t
Fabric device configuration information (version 1).
Public Members
-
uint32_t accelerator_id#
Accelerator identifier (range 0 to 1023).
-
amdsmi_fabric_type_t fabric_type#
UALOE or UALLINK.
-
uint32_t bandwidth#
Station bandwidth share in Mb/s.
-
uint32_t latency#
Latency in nanoseconds (depends on switch presence and type).
-
uint8_t ppod_id[AMDSMI_MAX_UUID_ELEMENTS]#
Physical PoD Identifier (16 bytes).
-
uint32_t ppod_size#
Physical PoD size.
-
uint32_t vpod_id#
Virtual PoD Identifier.
-
uint32_t vpod_size#
Virtual PoD size.
-
uint32_t vpod_active_accelerators[AMDSMI_FABRIC_ACTIVE_ACCELERATORS_BITMAP_SIZE]#
1024-bit list (32 x 32-bit words): bit N set = accelerator ID N is active
-
uint32_t local_accelerators[AMDSMI_FABRIC_MAX_LOCAL_GPUS]#
Local Accelerator IDs.
-
amdsmi_fabric_npa_address_mode_t addr_mode#
Source aliasing or identification mode.
-
amdsmi_fabric_accelerator_vpod_state_t accel_state#
Accelerator vPoD State.
-
uint32_t accelerator_id#
-
struct amdsmi_fabric_info_ver_t
-
union fabric_info_#
-
union fabric_info_#
-
struct amdsmi_fabric_label_t
Public Members
-
char text[AMDSMI_FABRIC_LABEL_MAX_LENGTH]#
Textual label content.
-
char text[AMDSMI_FABRIC_LABEL_MAX_LENGTH]#
-
struct amdsmi_fabric_telemetry_dataset_t
Fabric telemetry dataset structure.
Contains all telemetry for one category
Public Members
-
amdsmi_fabric_telemetry_category_t category#
Telemetry category.
-
uint64_t generation_count#
Sequence number incremented each time telemetry is written.
-
struct timespec timestamp#
UTC timestamp seconds since epoch.
-
unsigned instance_count#
Number of instances for this category.
-
amdsmi_fabric_telemetry_instance_t *instances#
Array of pointers to instances.
-
amdsmi_fabric_telemetry_category_t category#
-
struct amdsmi_fabric_telemetry_instance_t
Fabric telemetry instance structure.
Collection of telemetry data items for an instance of a category of telemetry
Public Members
-
amdsmi_fabric_label_t name#
Name for this instance.
-
unsigned logical_idx#
Logical index for this instance.
-
unsigned item_count#
Number of telemetry items in the set.
-
amdsmi_fabric_telemetry_item_t *items#
Pointer to array of telemetry items.
-
amdsmi_fabric_label_t name#
-
struct amdsmi_fabric_telemetry_item_t
Fabric telemetry item structure.
-
struct amdsmi_fabric_telemetry_t
Fabric telemetry structure.
Top level structure defining telemetry data for Fabric. Contains datasets for each category of telemetry. A null pointer means no telemetry is available for that category.
Public Members
-
amdsmi_fabric_telemetry_dataset_t *datasets[AMDSMI_FABRIC_TELEMETRY_CATEGORY_MAX]#
Dataset for each telemetry category.
-
amdsmi_fabric_telemetry_dataset_t *datasets[AMDSMI_FABRIC_TELEMETRY_CATEGORY_MAX]#
-
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.
Public Members
-
amdsmi_range_t freq_range#
The frequency range for this VDDC Curve point.
-
amdsmi_range_t volt_range#
The voltage range for this VDDC Curve point.
-
amdsmi_range_t freq_range#
-
struct amdsmi_frequencies_t#
This structure holds information about clock frequencies.
Public Members
-
bool has_deep_sleep#
Deep Sleep frequency is only supported by some GPUs.
-
uint32_t num_supported#
The number of supported frequencies.
-
uint32_t current#
The current frequency index. May be (uint32_t)-1 when the clock domain is power-gated / in sleep mode and no current level is reported by the kernel (e.g. SYS/MEM/DF/SOC/DCEF at idle on some APUs).
-
uint64_t frequency[AMDSMI_MAX_NUM_FREQUENCIES]#
List of frequencies in Hz. Only the first num_supported frequencies are valid
-
bool has_deep_sleep#
-
struct amdsmi_frequency_range_t#
Frequency Range.
Public Members
-
amdsmi_range_t supported_freq_range#
In MHz.
-
amdsmi_range_t current_freq_range#
In MHz.
-
amdsmi_range_t supported_freq_range#
-
struct amdsmi_gpu_cache_info_t#
GPU Cache Information.
-
struct cache_#
Public Members
-
uint32_t cache_properties#
amdsmi_cache_property_type_t which is a bitmask
-
uint32_t cache_size#
In KB.
Indicates how many Compute Units share this cache instance.
-
uint32_t num_cache_instance#
total number of instance of this cache type
-
uint32_t cache_properties#
-
struct cache_#
-
struct amdsmi_gpu_metrics_t#
Structure holds the gpu metrics values for a device.
This structure is extended to fit the needs of different GPU metric versions when exposing data through the structure. Depending on the version, some data members will hold data, and some will not. A good example is the set of ‘current clocks’: current_gfxclk, current_socclk, current_vclk0, current_dclk0. These are single-valued data members, up to version 1.3. For version 1.4 and up these are multi-valued data members (arrays) and their counterparts; current_gfxclks[], current_socclks[], current_vclk0s[], current_dclk0s[], will hold the data
Public Members
-
uint16_t temperature_edge#
v1.0 Base
Temperature in C
-
uint16_t average_gfx_activity#
Average Utilization (in %).
gfx
-
uint16_t average_umc_activity#
memory controller
-
uint16_t average_mm_activity#
UVD or VCN.
-
uint16_t average_socket_power#
Power (W) /Energy (15.259uJ per 1ns).
-
uint64_t energy_accumulator#
v1 mod. (32->64)
-
uint64_t system_clock_counter#
Driver attached timestamp (in ns).
v1 mod. (moved from top of struct)
-
uint16_t average_gfxclk_frequency#
Average clocks (MHz).
-
uint16_t current_gfxclk#
Current clocks (MHz).
-
uint32_t throttle_status#
Throttle status.
-
uint16_t current_fan_speed#
Fans (RPM).
-
uint16_t pcie_link_width#
Link width (number of lanes) /speed (0.1 GT/s).
v1 mod.(8->16)
-
uint16_t pcie_link_speed#
in 0.1 GT/s; v1 mod. (8->16)
-
uint32_t gfx_activity_acc#
new in v1
-
uint32_t mem_activity_acc#
new in v1
-
uint16_t temperature_hbm[AMDSMI_NUM_HBM_INSTANCES]#
new in v1
-
uint64_t firmware_timestamp#
PMFW attached timestamp (10ns resolution).
-
uint16_t voltage_soc#
In mV.
-
uint16_t voltage_gfx#
In mV.
-
uint16_t voltage_mem#
In mV.
-
uint64_t indep_throttle_status#
Throttle status.
-
uint16_t current_socket_power#
In Watts.
-
uint16_t vcn_activity[AMDSMI_MAX_NUM_VCN]#
Utilization (%).
-
uint32_t gfxclk_lock_status#
Clock Lock Status. Each bit corresponds to clock instance.
-
uint16_t xgmi_link_width#
XGMI bus width in GB/s.
-
uint16_t xgmi_link_speed#
XGMI bus bitrate in GB/s.
-
uint64_t pcie_bandwidth_acc#
PCIE accumulated bandwidth (GB/sec).
-
uint64_t pcie_bandwidth_inst#
PCIE instantaneous bandwidth (GB/sec).
-
uint64_t pcie_l0_to_recov_count_acc#
PCIE L0 to recovery state transition accumulated count.
-
uint64_t pcie_replay_count_acc#
PCIE replay accumulated count.
-
uint64_t pcie_replay_rover_count_acc#
PCIE replay rollover accumulated count.
-
uint64_t xgmi_read_data_acc[AMDSMI_MAX_NUM_XGMI_LINKS]#
XGMI accumulated data transfer size(KiloBytes).
In KB
-
uint64_t xgmi_write_data_acc[AMDSMI_MAX_NUM_XGMI_LINKS]#
In KB.
-
uint16_t current_gfxclks[AMDSMI_MAX_NUM_GFX_CLKS]#
XGMI current data transfer size(KiloBytes).
In KB
-
uint16_t current_socclks[AMDSMI_MAX_NUM_CLKS]#
In KB.
-
uint16_t current_vclk0s[AMDSMI_MAX_NUM_CLKS]#
In KB.
-
uint16_t current_dclk0s[AMDSMI_MAX_NUM_CLKS]#
In KB.
-
uint16_t jpeg_activity[AMDSMI_MAX_NUM_JPEG]#
v1.5 additions
JPEG activity percent (encode/decode)
-
uint32_t pcie_nak_sent_count_acc#
PCIE NAK sent accumulated count.
-
uint32_t pcie_nak_rcvd_count_acc#
PCIE NAK received accumulated count.
-
uint64_t accumulation_counter#
v1.6 additions
Accumulation cycle counter
-
uint64_t prochot_residency_acc#
Accumulated throttler residencies.
-
uint64_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 measurements 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))
-
uint64_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 measurements 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))
-
uint16_t num_partition#
Number of current partition.
-
amdsmi_gpu_xcp_metrics_t xcp_stats[AMDSMI_MAX_NUM_XCP]#
XCP (Graphic Cluster Partitions) metrics stats
-
uint32_t pcie_lc_perf_other_end_recovery#
PCIE other end recovery counter.
-
uint64_t vram_max_bandwidth#
v1.7 additions
VRAM max bandwidth at max memory clock (GB/s)
-
uint16_t xgmi_link_status[AMDSMI_MAX_NUM_XGMI_LINKS]#
XGMI link status(up/down).
-
uint16_t temperature_hbm_stacks[AMDSMI_MAX_NUM_HBM_STACKS]#
v1.9 additions
temperature of the HBM stacks in C
-
uint16_t temperature_mid[AMDSMI_MAX_NUM_MID]#
temperature of the MID in C
-
uint16_t temperature_aid[AMDSMI_MAX_NUM_AID]#
temperature of the AID in C
-
uint16_t current_uclk_aid[AMDSMI_MAX_NUM_CLKS_PER_AID]#
In MHz.
-
uint16_t current_socclks_mid[AMDSMI_MAX_NUM_CLKS_PER_MID]#
In MHz.
-
amdsmi_apu_metrics_t *apu_metrics#
APU metrics auxiliary data.
This pointer is non-null only when the queried device reports APU-specific metrics (currently APU metrics table versions 2.4 or 3.0). Callers must validate it before dereferencing. For GPU (discrete) devices, this pointer will be nullptr.
Thread Safety and Lifetime: The pointed-to storage uses thread-local storage and is invalidated by ANY subsequent call to amdsmi_get_gpu_metrics_info() or amdsmi_get_gpu_partition_metrics_info() made on the same thread, regardless of which device is queried. This means:
Querying device B invalidates the apu_metrics pointer from device A on the same thread
Callers that need to retain APU metrics data across multiple queries MUST copy the entire amdsmi_apu_metrics_t structure contents immediately after the query
Version Detection: Use ::common_header.format_revision and ::common_header.content_revision to determine which APU metrics version is active:
v2.4: format_revision == 2 && content_revision == 4
v3.0: format_revision == 3 && content_revision == 0
Field Validity: Not all fields are valid for all versions. Fields contain sentinel value 0xFFFF (65535) when not populated for the current version. Refer to inline comments in amdsmi_apu_metrics_t for per-field version availability.
-
uint16_t temperature_edge#
-
struct amdsmi_gpu_ras_policy_info_t#
Ras policy info structure for storing version and different ras policy version structures.
-
struct amdsmi_gpu_ras_policy_v4_0_t#
Ras policy v4.0.
-
struct amdsmi_gpu_xcp_metrics_t#
The following structures hold the gpu statistics for a device.
Public Members
-
uint32_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 %
-
uint16_t jpeg_busy[AMDSMI_MAX_NUM_JPEG_ENG_V1]#
Utilization Instantaneous in % (UPDATED: to 40 in v1.8)
-
uint16_t vcn_busy[AMDSMI_MAX_NUM_VCN]#
Utilization Instantaneous in %.
-
uint64_t gfx_busy_acc[AMDSMI_MAX_NUM_XCC]#
Utilization Accumulated in %.
-
uint64_t gfx_below_host_limit_acc[AMDSMI_MAX_NUM_XCC]#
v1.7 additions
Total App Clock Counter Accumulated
-
uint64_t gfx_below_host_limit_ppt_acc[AMDSMI_MAX_NUM_XCC]#
v1.8 additions
-
uint16_t temperature_xcd[AMDSMI_MAX_NUM_XCC]#
v1.9 additions
-
uint32_t gfx_busy_inst[AMDSMI_MAX_NUM_XCC]#
-
struct amdsmi_hsmp_driver_version_t#
This structure holds HSMP Driver version information.
-
struct amdsmi_hsmp_metrics_table_t#
HSMP Metrics table (supported only with hsmp proto version 6).
Public Members
-
uint32_t accumulation_counter#
Incremented every time the accumulator values are updated in this table
-
uint32_t max_socket_temperature#
Maximum temperature reported by all on-die thermal sensors on all AIDs, CCDs, and XCDs in the socket
-
uint32_t max_vr_temperature#
Maximum temperature reported by SVI3 telemetry for all slave addresses
-
uint32_t max_hbm_temperature#
Maximum temperature reported by all HBM stacks in the socket.
-
uint64_t max_socket_temperature_acc#
Accumulated version of “max_socket_temperature”.
-
uint64_t max_vr_temperature_acc#
Accumulated version of “max_vr_temperature”.
-
uint64_t max_hbm_temperature_acc#
Accumulated version of “max_hbm_temperature”.
-
uint32_t socket_power_limit#
Power limit currently being enforced by the power throttling controller
-
uint32_t max_socket_power_limit#
Maximum power limit the power throttling controller is allowed to be configured to
-
uint32_t socket_power#
Power consumption of all die in the socket (AID+CCD+XCD+HBM).
-
uint64_t timestamp#
Timestamp corresponding to the energy accumulators in 10ns units.
-
uint64_t socket_energy_acc#
Energy accumulator of all die in the socket (AID+CCD+XCD+HBM).
-
uint64_t ccd_energy_acc#
Energy accumulator of VDDCR_VDD rails powering CCDs.
-
uint64_t xcd_energy_acc#
Energy accumulator of VDDCR_VDD rails powering XCDs.
-
uint64_t aid_energy_acc#
Energy accumulator of rails powering the AIDs.
-
uint64_t hbm_energy_acc#
Energy accumulator of all HBM stacks in the socket.
-
uint32_t cclk_frequency_limit#
Minimum CCLK frequency limit enforced from the infrastructure controllers
-
uint32_t gfxclk_frequency_limit#
Minimum GFXCLK frequency limit enforced from the infrastructure controllers
-
uint32_t fclk_frequency#
Effective FCLK frequency.
-
uint32_t uclk_frequency#
Effective UCLK frequency.
-
uint32_t socclk_frequency[4]#
Effective SOCCLK frequency per AID.
-
uint32_t vclk_frequency[4]#
Effective VCLK frequency per AID.
-
uint32_t dclk_frequency[4]#
Effective DCLK frequency per AID.
-
uint32_t lclk_frequency[4]#
Effective LCLK frequency per AID.
-
uint64_t gfxclk_frequency_acc[8]#
GFXCLK frequency for the target XCC.
-
uint64_t cclk_frequency_acc[96]#
CCLK frequency for the target CPU.
-
uint32_t max_cclk_frequency#
Maximum CCLK frequency supported by the CPU.
-
uint32_t min_cclk_frequency#
Minimum CCLK frequency supported by the CPU.
-
uint32_t max_gfxclk_frequency#
Maximum GFXCLK frequency supported by the accelerator.
-
uint32_t min_gfxclk_frequency#
Minimum GFXCLK frequency supported by the accelerator.
-
uint32_t fclk_frequency_table[4]#
List of supported FCLK frequencies (0 means that state is not supported)
-
uint32_t uclk_frequency_table[4]#
List of supported UCLK frequencies (0 means that state is not supported)
-
uint32_t socclk_frequency_table[4]#
List of supported SOCCLK frequencies (0 means that state is not supported)
-
uint32_t vclk_frequency_table[4]#
List of supported VCLK frequencies (0 means that state is not supported)
-
uint32_t dclk_frequency_table[4]#
List of supported DCLK frequencies (0 means that state is not supported)
-
uint32_t lclk_frequency_table[4]#
List of supported LCLK frequencies (0 means that state is not supported)
-
uint32_t max_lclk_dpm_range#
Maximum LCLK DPM state constraint defined by the user.
-
uint32_t min_lclk_dpm_range#
Minimum LCLK DPM state constraint defined by the user.
-
uint32_t xgmi_width#
Current operating XGMI link width.
-
uint32_t xgmi_bitrate#
Current operating XGMI link bitrate.
-
uint64_t xgmi_read_bandwidth_acc[8]#
XGMI read bandwidth for the target XGMI link in the local socket
-
uint64_t xgmi_write_bandwidth_acc[8]#
XGMI write bandwidth for the target XGMI link in the local socket
-
uint32_t socket_c0_residency#
Average CPU C0 residency of all enabled cores in the socket.
-
uint32_t socket_gfx_busy#
Average XCC busy for all enabled XCCs in the socket.
-
uint32_t dram_bandwidth_utilization#
HBM bandwidth utilization for all socket HBM stacks.
-
uint64_t socket_c0_residency_acc#
Accumulated value of “socket_c0_residency”.
-
uint64_t socket_gfx_busy_acc#
Accumulated value of “socket_gfx_busy”.
-
uint64_t dram_bandwidth_acc#
HBM bandwidth for all HBM stacks in the socket.
-
uint32_t max_dram_bandwidth#
Maximum supported HBM bandwidth for all HBM stacks running at the maximum supported UCLK frequency
-
uint64_t dram_bandwidth_utilization_acc#
Accumulated value of “dram_bandwidth_utilization”.
-
uint64_t pcie_bandwidth_acc[4]#
PCIe bandwidth for all PCIe devices connected to target AID.
-
uint32_t prochot_residency_acc#
Incremented every iteration PROCHOT is active.
-
uint32_t ppt_residency_acc#
Incremented every iteration the PPT controller is active.
-
uint32_t socket_thm_residency_acc#
Incremented every iteration the socket thermal throttling controller is active
-
uint32_t vr_thm_residency_acc#
Incremented every iteration the VR thermal throttling controller is active
-
uint32_t hbm_thm_residency_acc#
Incremented every iteration the HBM thermal throttling controller is active
-
uint32_t spare#
spare
-
uint32_t gfxclk_frequency[8]#
Effective GFXCLK frequency per XCD.
-
uint32_t accumulation_counter#
-
struct amdsmi_kfd_info_t#
Structure holds kfd information.
-
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).
Public Members
-
amdsmi_io_bw_encoding_t bw_type#
Bandwidth Type Information [1, 2, 4].
-
char *link_name#
Link name [P0, P1, G0, G1 etc].
-
amdsmi_io_bw_encoding_t bw_type#
-
struct amdsmi_link_metrics_t#
Link Metrics.
Public Members
-
uint32_t num_links#
number of links
-
struct _links
Public Members
-
amdsmi_bdf_t bdf
bdf of the destination gpu
-
uint32_t bit_rate
current link speed in Gb/s
-
uint32_t max_bandwidth
max bandwidth of the link in Gb/s
-
amdsmi_link_type_t link_type
type of the link
-
uint64_t read
total data received for each link in KB
-
uint64_t write
total data transferred for each link in KB
-
amdsmi_link_status_t link_status
HW status of the link.
-
amdsmi_bdf_t bdf
-
uint32_t num_links#
-
struct amdsmi_memory_partition_config_t#
Memory Partition Configuration. This structure is used to identify various memory partition configurations.
-
struct numa_range_#
-
struct numa_range_#
-
struct amdsmi_name_value_t#
This structure holds the name value pairs.
Public Members
-
char name[AMDSMI_MAX_STRING_LENGTH]#
Name.
-
uint64_t value#
Use uint64_t to make it universal.
-
char name[AMDSMI_MAX_STRING_LENGTH]#
-
struct amdsmi_nic_asic_info_t#
NIC asic information.
-
struct amdsmi_nic_bus_info_t#
NIC bus information.
Public Members
-
uint32_t max_pcie_speed#
maximum PCIe speed in GT/s
-
uint32_t max_pcie_speed#
-
struct amdsmi_nic_driver_info_t#
NIC driver information.
-
struct amdsmi_nic_fw_info_t#
NIC firmware information collection.
-
struct amdsmi_nic_fw_t#
NIC firmware information.
-
struct amdsmi_nic_numa_info_t#
NIC NUMA information.
-
struct amdsmi_nic_port_info_t#
NIC port information collection.
-
struct amdsmi_nic_port_t#
NIC port information.
Active FEC Modes: The active_fec field provides a bitmask representation of Active FEC (Active Forward Error Correction) modes. The bitmask values are derived from the
ethtool_fecparamstructure, specifically theactive_fecfield. Below are examples of the defined FEC modes:Examples:
ETHTOOL_FEC_NONE (0x01)
ETHTOOL_FEC_AUTO (0x02)
ETHTOOL_FEC_RS (0x04)
ETHTOOL_FEC_BASER (0x08)
ETHTOOL_FEC_LLRS (0x10)
ETHTOOL_FEC_OFF (0x20)
Note: These definitions are based on the latest available ethtool information. Users should verify if there are any updates or changes to these definitions in the relevant ethtool structure or field before implementing them in their code.
Public Members
-
uint32_t active_fec#
Active FEC modes bitmask (see about FEC modes in the description).
-
struct amdsmi_nic_rdma_dev_info_t#
NIC RDMA device information.
-
struct amdsmi_nic_rdma_devices_info_t#
NIC RDMA devices information collection.
-
struct amdsmi_nic_rdma_port_info_t#
NIC RDMA port information.
-
struct amdsmi_nic_stat_t#
Structure for NIC statistic name-value pairs.
This structure represents a single NIC statistic with its name and value.
-
struct amdsmi_npm_info_t#
NPM info.
Public Members
-
amdsmi_npm_status_t status#
NPM status (enabled/disabled).
-
uint64_t limit#
Node-level power limit in Watts.
-
uint32_t ubb_power_threshold#
The UBB node power threshold in Watts.
-
amdsmi_npm_status_t status#
-
struct amdsmi_od_vddc_point_t#
This structure represents a point on the frequency-voltage plane.
-
struct amdsmi_od_volt_curve_t#
OD Vold Curve AMDSMI_NUM_VOLTAGE_CURVE_POINTS number of amdsmi_od_vddc_point_t’s.
Public Members
-
amdsmi_od_vddc_point_t vc_points[AMDSMI_NUM_VOLTAGE_CURVE_POINTS]#
make up the voltage frequency curve points
-
amdsmi_od_vddc_point_t vc_points[AMDSMI_NUM_VOLTAGE_CURVE_POINTS]#
-
struct amdsmi_od_volt_freq_data_t#
This structure holds the frequency-voltage values for a device.
Public Members
-
amdsmi_range_t curr_sclk_range#
The current SCLK frequency range in MHz.
-
amdsmi_range_t curr_mclk_range#
The current MCLK frequency range, upper bound only in MHz.
-
amdsmi_range_t curr_fclk_range#
The current FCLK frequency range in MHz.
-
amdsmi_range_t sclk_freq_limits#
The range possible of SCLK values in MHz.
-
amdsmi_range_t mclk_freq_limits#
The range possible of MCLK values in MHz.
-
amdsmi_range_t fclk_freq_limits#
The range possible of FCLK values in MHz.
-
amdsmi_od_volt_curve_t curve#
The current voltage curve.
-
uint32_t num_regions#
The number of voltage curve regions.
-
amdsmi_range_t curr_sclk_range#
-
struct amdsmi_p2p_capability_t#
IO Link P2P Capability.
Public Members
-
uint8_t is_iolink_coherent#
1 = true, 0 = false, UINT8_MAX = Not defined
-
uint8_t is_iolink_atomics_32bit#
1 = true, 0 = false, UINT8_MAX = Not defined
-
uint8_t is_iolink_atomics_64bit#
1 = true, 0 = false, UINT8_MAX = Not defined
-
uint8_t is_iolink_dma#
1 = true, 0 = false, UINT8_MAX = Not defined
-
uint8_t is_iolink_bi_directional#
1 = true, 0 = false, UINT8_MAX = Not defined
-
uint8_t is_iolink_coherent#
-
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.
Only the first num_supported bandwidths are valid.
Public Members
-
amdsmi_frequencies_t transfer_rate#
Transfer rates (T/s) that are possible.
-
uint32_t lanes[AMDSMI_MAX_NUM_FREQUENCIES]#
List of lanes for corresponding transfer rate.
-
amdsmi_frequencies_t transfer_rate#
-
struct amdsmi_pcie_info_t#
pcie information
-
struct pcie_static_#
Public Members
-
uint16_t max_pcie_width#
maximum number of PCIe lanes
-
uint32_t max_pcie_speed#
maximum PCIe speed in MT/s (e.g. 16000 for PCIe Gen4)
-
uint32_t pcie_interface_version#
PCIe interface version.
-
amdsmi_card_form_factor_t slot_type#
card form factor
-
uint32_t max_pcie_interface_version#
maximum PCIe link generation
-
uint16_t max_pcie_width#
-
struct pcie_metric_#
Public Members
-
uint16_t pcie_width#
current PCIe width
-
uint32_t pcie_speed#
current PCIe speed in MT/s
-
uint32_t pcie_bandwidth#
current instantaneous PCIe bandwidth in Mb/s
-
uint64_t pcie_replay_count#
total number of the replays issued on the PCIe link
-
uint64_t pcie_l0_to_recovery_count#
total number of times the PCIe link transitioned from L0 to the recovery state
-
uint64_t pcie_replay_roll_over_count#
total replay rollover numbers issued on the PCIe link
-
uint64_t pcie_nak_sent_count#
total number of NAKs issued on the PCIe link by the device
-
uint64_t pcie_nak_received_count#
total number of NAKs issued on the PCIe link by the receiver
-
uint32_t pcie_lc_perf_other_end_recovery_count#
PCIe other end recovery counter.
-
uint16_t pcie_width#
-
struct pcie_static_#
-
struct amdsmi_power_cap_info_t#
Power Cap Information.
Public Members
-
uint64_t power_cap#
current power cap Units uW {@linux_bm} or W {@host}
-
uint64_t default_power_cap#
default power cap Units uW {@linux_bm} or W {@host}
-
uint64_t dpm_cap#
dpm power cap Units MHz {@linux_bm} or Hz {@host}
-
uint64_t min_power_cap#
minimum power cap Units uW {@linux_bm} or W {@host}
-
uint64_t max_power_cap#
maximum power cap Units uW {@linux_bm} or W {@host}
-
uint64_t power_cap#
-
struct amdsmi_power_info_t#
Power Information.
Note
Unsupported struct members are set to UINT32_MAX
Public Members
-
uint64_t socket_power#
Current power usage in W {@linux_bm}, uW {@host}.
-
uint32_t current_socket_power#
Current socket power in W {@linux_bm}, Linux only, Mi 300+ Series cards
-
uint32_t average_socket_power#
Average socket power in W {@linux_bm}, Linux only, Navi + Mi 200 and earlier Series cards
-
uint64_t gfx_voltage#
GFX voltage measurement in mV {@linux_bm} or V {@host}.
-
uint64_t soc_voltage#
SOC voltage measurement in mV {@linux_bm} or V {@host}.
-
uint64_t mem_voltage#
MEM voltage measurement in mV {@linux_bm} or V {@host}.
-
uint32_t power_limit#
The power limit in uW {@linux_bm}, Linux only.
-
uint32_t ubb_power#
The UBB node power in W {@linux_bm}, MI350X+.
-
uint64_t socket_power#
-
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.
Public Members
-
amdsmi_bit_field_t available_profiles#
Which profiles are supported by this system.
-
amdsmi_power_profile_preset_masks_t current#
Which power profile is currently active.
-
uint32_t num_profiles#
How many power profiles are available.
-
amdsmi_bit_field_t available_profiles#
-
struct amdsmi_proc_gpu_entry_t#
Per-GPU process entry within a PID-grouped result.
Public Members
-
uint32_t gpu_index#
GPU index.
-
uint64_t mem#
Total memory in bytes.
-
uint64_t gfx#
GFX engine usage in nanoseconds.
-
uint64_t enc#
ENC engine usage in nanoseconds.
-
uint64_t gtt_mem#
GTT memory in bytes.
-
uint64_t cpu_mem#
CPU memory in bytes.
-
uint64_t vram_mem#
VRAM memory in bytes.
-
uint32_t cu_occupancy#
Number of CUs utilized.
-
uint32_t evicted_time#
Queue eviction time in milliseconds.
-
uint64_t sdma_usage#
SDMA usage in microseconds.
-
uint32_t gpu_index#
-
struct amdsmi_proc_info_by_pid_t#
Process info aggregated across all GPUs, keyed by PID.
Public Members
-
uint32_t num_gpus#
Number of GPU entries populated.
-
amdsmi_proc_gpu_entry_t gpus[AMDSMI_MAX_DEVICES]#
Per-GPU data, num_gpus entries valid.
-
uint32_t num_gpus#
-
struct amdsmi_proc_info_t#
Process Information.
Public Members
-
uint64_t mem#
In Bytes.
-
struct amdsmi_proc_info_t.engine_usage_ engine_usage#
time the process spends using these engines in ns
-
struct amdsmi_proc_info_t.memory_usage_ memory_usage#
In Bytes.
-
uint32_t cu_occupancy#
Num CUs utilized.
-
uint32_t evicted_time#
Time that queues are evicted on a GPU in milliseconds.
-
uint64_t sdma_usage#
SDMA usage in microseconds.
-
struct engine_usage_#
-
struct memory_usage_#
-
uint64_t mem#
-
struct amdsmi_process_info_t#
This structure contains information specific to a process. Sum of the process memory is not expected to be the total memory usage.
-
struct amdsmi_range_t#
This structure represents a range (e.g., frequencies or voltages).
-
struct amdsmi_ras_feature_t#
This structure holds ras feature information.
Public Members
-
uint32_t ras_eeprom_version#
PARITY error(bit 0), Single Bit correctable (bit1), Double bit error detection (bit2), Poison (bit 3).
-
uint32_t ecc_correction_schema_flag#
ecc_correction_schema mask. PARITY error(bit 0), Single Bit correctable (bit1), Double bit error detection (bit2), Poison (bit 3)
-
struct ras_info_#
-
uint32_t ras_eeprom_version#
-
struct amdsmi_retired_page_record_t#
Reserved Memory Page Record.
Public Members
-
uint64_t page_address#
Start address of page.
-
uint64_t page_size#
Page size.
-
amdsmi_memory_page_status_t status#
Page “reserved” status.
-
uint64_t page_address#
-
struct amdsmi_smu_fw_version_t#
This structure holds SMU Firmware version information.
-
struct amdsmi_sock_info_t#
cpu socket info data
-
struct amdsmi_temp_range_refresh_rate_t#
temperature range and refresh rate metrics of a DIMM
-
struct amdsmi_topology_nearest_t#
Topology Nearest.
-
struct amdsmi_ttm_info_t
TTM (Translation Table Manager) configuration information
Public Members
-
uint64_t current_pages#
Current TTM pages limit
-
uint64_t current_pages#
-
struct amdsmi_uma_carveout_info_t
UMA carveout configuration information
Public Members
-
uint32_t current_index#
Currently active carveout index
-
uint32_t num_options#
Number of available options
-
amdsmi_uma_carveout_option_t options[AMDSMI_MAX_CARVEOUT_OPTIONS]#
Available carveout options
-
uint32_t current_index#
-
struct amdsmi_uma_carveout_option_t
UMA carveout option descriptor
Public Members
-
uint32_t index#
Option index
-
char description[AMDSMI_MAX_STRING_LENGTH]#
Human-readable description
-
uint32_t index#
-
struct amdsmi_utilization_counter_t#
The utilization counter data.
The max number of values per counter type
Public Members
-
amdsmi_utilization_counter_type_t type#
Utilization counter type.
-
uint64_t value#
Coarse grain activity counter value (average).
-
uint64_t fine_value[AMDSMI_MAX_UTILIZATION_VALUES]#
Utilization counter value.
-
amdsmi_utilization_counter_type_t type#
-
struct amdsmi_vbios_info_t#
VBios Information.
Public Members
-
char boot_firmware[AMDSMI_MAX_STRING_LENGTH]#
UBL (Unified BootLoader) Version information.
-
char boot_firmware[AMDSMI_MAX_STRING_LENGTH]#
-
struct amdsmi_version_t#
This structure holds version information.
-
struct amdsmi_violation_status_t#
This structure hold violation status information. Note: for MI3x asics and higher, older ASICs will show unsupported.
Public Members
-
uint64_t reference_timestamp#
Represents CPU timestamp in microseconds (uS).
-
uint64_t violation_timestamp#
Violation time. Units in nanoseconds (ns) {@linux_bm}, in milliseconds (ms) {@host}
-
uint64_t acc_counter#
Current accumulated counter; Max uint64 means unsupported.
-
uint64_t acc_prochot_thrm#
Current accumulated processor hot violation count; Max uint64 means unsupported
-
uint64_t acc_ppt_pwr#
PVIOL; Current accumulated Package Power Tracking (PPT) count; Max uint64 means unsupported
-
uint64_t acc_socket_thrm#
TVIOL; Current accumulated Socket thermal count; Max uint64 means unsupported
-
uint64_t acc_vr_thrm#
Current accumulated voltage regulator count; Max uint64 means unsupported
-
uint64_t acc_hbm_thrm#
Current accumulated High Bandwidth Memory (HBM) thermal count; Max uint64 means unsupported
-
uint64_t acc_gfx_clk_below_host_limit#
UPDATED in new driver 1.8: use new _gfx_clk_below_host_limit_pwr, _gfx_clk_below_host_limit_thm, _gfx_clk_below_host_limit_total values! Current gfx clock below host limit count; Max uint64 means unsupported.
-
uint64_t per_prochot_thrm#
Processor hot violation % (greater than 0% is a violation); Max uint64 means unsupported
-
uint64_t per_ppt_pwr#
PVIOL; Package Power Tracking (PPT) violation % (greater than 0% is a violation); Max uint64 means unsupported
-
uint64_t per_socket_thrm#
TVIOL; Socket thermal violation % (greater than 0% is a violation); Max uint64 means unsupported
-
uint64_t per_vr_thrm#
Voltage regulator violation % (greater than 0% is a violation); Max uint64 means unsupported
-
uint64_t per_hbm_thrm#
High Bandwidth Memory (HBM) thermal violation % (greater than 0% is a violation); Max uint64 means unsupported
-
uint64_t per_gfx_clk_below_host_limit#
UPDATED in new driver 1.8: use new _gfx_clk_below_host_limit_pwr, _gfx_clk_below_host_limit_thm, _gfx_clk_below_host_limit_total values! Gfx clock below host limit violation % (greater than 0% is a violation); Max uint64 means unsupported.
-
uint8_t active_prochot_thrm#
Processor hot violation; 1 = active 0 = not active; Max uint8 means unsupported
-
uint8_t active_ppt_pwr#
Package Power Tracking (PPT) violation; 1 = active 0 = not active; Max uint8 means unsupported
-
uint8_t active_socket_thrm#
Socket thermal violation; 1 = active 0 = not active; Max uint8 means unsupported
-
uint8_t active_vr_thrm#
Voltage regulator violation; 1 = active 0 = not active; Max uint8 means unsupported
-
uint8_t active_hbm_thrm#
High Bandwidth Memory (HBM) thermal violation; 1 = active 0 = not active; Max uint8 means unsupported
-
uint8_t active_gfx_clk_below_host_limit#
UPDATED in new driver 1.8: use new _gfx_clk_below_host_limit_total values! Gfx clock below host limit violation; 1 = active 0 = not active; Max uint8 means unsupported.
-
uint64_t acc_gfx_clk_below_host_limit_pwr[AMDSMI_MAX_NUM_XCP][AMDSMI_MAX_NUM_XCC]#
New Driver 1.8 fields: Current gfx clock below host limit power count; Max uint64 means unsupported
-
uint64_t acc_gfx_clk_below_host_limit_thm[AMDSMI_MAX_NUM_XCP][AMDSMI_MAX_NUM_XCC]#
New Driver 1.8 fields: Current gfx clock below host limit thermal count; Max uint64 means unsupported
-
uint64_t acc_low_utilization[AMDSMI_MAX_NUM_XCP][AMDSMI_MAX_NUM_XCC]#
New Driver 1.8 fields: Current low utilization count; Max uint64 means unsupported
-
uint64_t acc_gfx_clk_below_host_limit_total[AMDSMI_MAX_NUM_XCP][AMDSMI_MAX_NUM_XCC]#
New Driver 1.8 fields: Current gfx clock below host limit total count; Max uint64 means unsupported
-
uint64_t per_gfx_clk_below_host_limit_pwr[AMDSMI_MAX_NUM_XCP][AMDSMI_MAX_NUM_XCC]#
New Driver 1.8 fields: Gfx clock below host limit power violation % (greater than 0% is a violation); Max uint64 means unsupported
-
uint64_t per_gfx_clk_below_host_limit_thm[AMDSMI_MAX_NUM_XCP][AMDSMI_MAX_NUM_XCC]#
New Driver 1.8 fields: Gfx clock below host limit violation % (greater than 0% is a violation); Max uint64 means unsupported
-
uint64_t per_low_utilization[AMDSMI_MAX_NUM_XCP][AMDSMI_MAX_NUM_XCC]#
New Driver 1.8 fields: Low utilization violation % (greater than 0% is a violation); Max uint64 means unsupported
-
uint64_t per_gfx_clk_below_host_limit_total[AMDSMI_MAX_NUM_XCP][AMDSMI_MAX_NUM_XCC]#
New Driver 1.8 fields: Any Gfx clock below host limit violation % (greater than 0% is a violation); Max uint64 means unsupported
-
uint8_t active_gfx_clk_below_host_limit_pwr[AMDSMI_MAX_NUM_XCP][AMDSMI_MAX_NUM_XCC]#
New Driver 1.8 fields: Gfx clock below host limit power violation; 1 = active, 0 = not active; Max uint8 means unsupported
-
uint8_t active_gfx_clk_below_host_limit_thm[AMDSMI_MAX_NUM_XCP][AMDSMI_MAX_NUM_XCC]#
New Driver 1.8 fields: Gfx clock below host limit thermal violation; 1 = active, 0 = not active; Max uint8 means unsupported
-
uint8_t active_low_utilization[AMDSMI_MAX_NUM_XCP][AMDSMI_MAX_NUM_XCC]#
New Driver 1.8 fields: Low utilization violation; 1 = active, 0 = not active; Max uint8 means unsupported
-
uint8_t active_gfx_clk_below_host_limit_total[AMDSMI_MAX_NUM_XCP][AMDSMI_MAX_NUM_XCC]#
New Driver 1.8 fields: Any Gfx clock host limit violation; 1 = active, 0 = not active; Max uint8 means unsupported
-
uint64_t reference_timestamp#
-
struct amdsmi_vram_info_t#
VRam Information.
-
struct amdsmi_vram_usage_t#
VRam Usage.
-
struct amdsmi_xgmi_info_t#
XGMI Information.
-
struct amdsmi_xgmi_link_status_t#
XGMI Link Status.
Public Members
-
uint32_t total_links#
The total links in the status array.
-
uint32_t total_links#
-
struct bdf_#
-
struct cache_
Public Members
-
uint32_t cache_properties
amdsmi_cache_property_type_t which is a bitmask
-
uint32_t cache_size
In KB.
-
uint32_t max_num_cu_shared
Indicates how many Compute Units share this cache instance.
-
uint32_t num_cache_instance
total number of instance of this cache type
-
uint32_t cache_properties
-
struct engine_usage_
Public Members
-
uint64_t gfx
In nano-secs.
-
uint64_t enc
In nano-secs.
-
uint64_t gfx
-
struct fw_info_list_
-
struct memory_usage_
Public Members
-
uint64_t gtt_mem
In Bytes.
-
uint64_t cpu_mem
In Bytes.
-
uint64_t vram_mem
In Bytes.
-
uint64_t gtt_mem
-
struct nps_flags_#
-
struct numa_range_
-
struct pcie_metric_
Public Members
-
uint16_t pcie_width
current PCIe width
-
uint32_t pcie_speed
current PCIe speed in MT/s
-
uint32_t pcie_bandwidth
current instantaneous PCIe bandwidth in Mb/s
-
uint64_t pcie_replay_count
total number of the replays issued on the PCIe link
-
uint64_t pcie_l0_to_recovery_count
total number of times the PCIe link transitioned from L0 to the recovery state
-
uint64_t pcie_replay_roll_over_count
total replay rollover numbers issued on the PCIe link
-
uint64_t pcie_nak_sent_count
total number of NAKs issued on the PCIe link by the device
-
uint64_t pcie_nak_received_count
total number of NAKs issued on the PCIe link by the receiver
-
uint32_t pcie_lc_perf_other_end_recovery_count
PCIe other end recovery counter.
-
uint16_t pcie_width
-
struct pcie_static_
Public Members
-
uint16_t max_pcie_width
maximum number of PCIe lanes
-
uint32_t max_pcie_speed
maximum PCIe speed in MT/s (e.g. 16000 for PCIe Gen4)
-
uint32_t pcie_interface_version
PCIe interface version.
-
amdsmi_card_form_factor_t slot_type
card form factor
-
uint32_t max_pcie_interface_version
maximum PCIe link generation
-
uint16_t max_pcie_width
-
struct ras_info_
-
struct valid_bits_#
Unions#
-
union amdsmi_bdf_t#
- #include <amdsmi.h>
bdf types
Public Members
-
struct amdsmi_bdf_t.bdf_ bdf#
-
uint64_t function_number#
-
uint64_t device_number#
-
uint64_t bus_number#
-
uint64_t domain_number#
- struct amdsmi_bdf_t
-
uint64_t as_uint#
-
struct bdf_
-
struct amdsmi_bdf_t.bdf_ bdf#
-
union amdsmi_cper_valid_bits_t#
-
-
struct valid_bits_
-
struct valid_bits_
-
union amdsmi_nps_caps_t#
- #include <amdsmi.h>
This union holds memory partition bitmask.
-
struct nps_flags_
Public Members
-
uint32_t nps1_cap
bool 1 = true; 0 = false
-
uint32_t nps2_cap
bool 1 = true; 0 = false
-
uint32_t nps4_cap
bool 1 = true; 0 = false
-
uint32_t nps8_cap
bool 1 = true; 0 = false
-
uint32_t reserved#
-
uint32_t nps1_cap
-
struct nps_flags_
-
union fabric_info_
Public Members
-
union policy_data_
Public Members
-
uint64_t info[5]
total size of the EEPROM that can be used by the policy is 40bytes
-
uint64_t info[5]
Typedefs#
-
typedef void *amdsmi_processor_handle#
opaque handler point to underlying implementation
-
typedef void *amdsmi_node_handle#
opaque handler point to underlying implementation
-
typedef void *amdsmi_cpusocket_handle#
opaque handler point to underlying implementation
-
typedef amdsmi_processor_type_t processor_type_t#
Backward-compatibility alias for amdsmi_processor_type_t.
The unprefixed processor_type_t name is preserved for source-compatibility with callers written before the type was renamed. New code should use amdsmi_processor_type_t, which follows the
amdsmi_typedef prefix convention used throughout this header and is less likely to collide with identifiers defined by other system-management libraries.
-
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.