AMD SMI C/C++ defines

Contents

AMD SMI C/C++ defines#

Common defines including preprocessor constants defining array size limits, string lengths, and hardware maximums used throughout the AMD SMI API.

AMDSMI_MAX_MM_IP_COUNT#

Maximum size definitions.

Maximum number of multimedia IP blocks

AMDSMI_MAX_STRING_LENGTH#

Maximum length for string buffers.

AMDSMI_MAX_DEVICES#

Maximum number of devices supported.

AMDSMI_MAX_CACHE_TYPES#

Maximum number of cache types.

AMDSMI_MAX_ACCELERATOR_PROFILE#

Maximum number of accelerator profiles.

AMDSMI_MAX_CP_PROFILE_RESOURCES#

Maximum number of compute profile resources.

AMDSMI_MAX_ACCELERATOR_PARTITIONS#

Maximum number of accelerator partitions.

AMDSMI_MAX_NUM_NUMA_NODES#

Maximum number of NUMA nodes.

AMDSMI_GPU_UUID_SIZE#

Size of GPU UUID string.

AMDSMI_MAX_CONTAINER_TYPE#

Maximum number of container types.

CENTRIGRADE_TO_MILLI_CENTIGRADE#

The following structure holds the gpu metrics values for a device.

Unit conversion factor for HBM temperatures

AMDSMI_NUM_HBM_INSTANCES#

This should match NUM_HBM_INSTANCES.

AMDSMI_MAX_NUM_VCN#

This should match MAX_NUM_VCN.

AMDSMI_MAX_NUM_CLKS#

This should match MAX_NUM_CLKS.

AMDSMI_MAX_NUM_GFX_CLKS#

This should match MAX_NUM_GFX_CLKS.

AMDSMI_MAX_AID#

This should match AMDSMI_MAX_AID.

AMDSMI_MAX_ENGINES#

This should match AMDSMI_MAX_ENGINES.

AMDSMI_MAX_NUM_JPEG#

This should match AMDSMI_MAX_NUM_JPEG (8*4=32).

AMDSMI_MAX_NUM_JPEG_ENG_V1#

Introduced in gpu metrics v1.8, document presents NUM_JPEG_ENG_V1 but will change to AMDSMI_MAX_NUM_JPEG_ENG_V1 for continuity.

AMDSMI_MAX_NUM_XCC#

This should match AMDSMI_MAX_NUM_XCC; XCC - Accelerated Compute Core, the collection of compute units, ACE (Asynchronous Compute Engines), caches, and global resources organized as one unit.

Refer to amd.com documentation for more detail: https://www.amd.com/content/dam/amd/en/documents/instinct-tech-docs/white-papers/amd-cdna-3-white-paper.pdf

AMDSMI_MAX_NUM_XCP#

This should match AMDSMI_MAX_NUM_XCP; XCP - Accelerated Compute Processor, also referred to as the Graphics Compute Partitions. Each physical gpu could have a maximum of 8 separate partitions associated with each (depending on ASIC support).

Refer to amd.com documentation for more detail: https://www.amd.com/content/dam/amd/en/documents/instinct-tech-docs/white-papers/amd-cdna-3-white-paper.pdf

AMDSMI_APU_MAX_CORES#

APU metrics: max number of cores, L3, and IPUs.

v2_4 = 8, v3_0 = 16

AMDSMI_APU_V24_CORES#

v2_4 core count

AMDSMI_APU_MAX_L3#

v2_4

AMDSMI_APU_MAX_IPU#

v3_0, average_ipu_activity[]

MAX_NUMBER_OF_AFIDS_PER_RECORD#

Max Number of AFIDs that will be inside one cper entry.

Maximum AFIDs per CPER record

AMDSMI_MAX_NUM_HBM_STACKS#

Introduced in gpu metrics v1.9+.

Maximum number of HBM stacks supported

AMDSMI_MAX_NUM_AID#

Maximum number of AID supported.

AMDSMI_MAX_NUM_MID#

Maximum number of MID supported.

AMDSMI_MAX_NUM_CLKS_PER_AID#

Maximum number of clocks per AID supported.

AMDSMI_MAX_NUM_CLKS_PER_MID#

Maximum number of clocks per MID supported.

AMDSMI_TIME_FORMAT#

String format.

Time format string

AMDSMI_DATE_FORMAT#

Date format string.

AMDSMI_LIB_VERSION_MAJOR#

library versioning

Major version should be changed for every header change that breaks ABI Such as adding/deleting APIs, changing names, fields of structures, etc.

AMDSMI_LIB_VERSION_MINOR#

Minor version should be updated for each API change, but without changing headers.

AMDSMI_LIB_VERSION_RELEASE#

Release version should be set to 0 as default and can be updated by the PMs for each CSP point release

AMDSMI_MAX_VF_COUNT#

Maximum size definitions AMDSMI.

Maximum virtual functions supported

AMDSMI_MAX_DRIVER_NUM#

Maximum drivers supported.

AMDSMI_DFC_FW_NUMBER_OF_ENTRIES#

DFC firmware entries supported.

AMDSMI_MAX_WHITE_LIST_ELEMENTS#

Max white list elements for device access control.

AMDSMI_MAX_BLACK_LIST_ELEMENTS#

Max black list elements for device access control.

AMDSMI_MAX_TA_WHITE_LIST_ELEMENTS#

Max Trusted Application white list elements.

AMDSMI_MAX_ERR_RECORDS#

Maximum error records that can be stored.

AMDSMI_MAX_PROFILE_COUNT#

Maximum profiles supported.

AMDSMI_MAX_UUID_ELEMENTS#

Max UUID elements supported.

AMDSMI_MAX_SPD_DIMM_ADDRESS#

SPD DIMM register validation limits.

Maximum SPD DIMM address [7:0]

AMDSMI_MAX_SPD_LID#

Maximum SPD logical ID [11:8].

AMDSMI_MAX_SPD_REG_OFFSET#

Maximum SPD register offset [22:12].

AMDSMI_MAX_SPD_REG_SPACE#

Maximum SPD register space [23].

AMDSMI_MAX_SPD_WRITE_DATA#

Maximum SPD write data [31:24].

MAX_SVI3_RAIL_INDEX#

Maximum SVI3 rail index.

MAX_SVI3_RAIL_SELECTION#

Maximum SVI3 rail selection.

POWER_EFFICIENCY_MODE_4#

Power Efficiency mode selection.

POWER_EFFICIENCY_MODE_5#

Power Efficiency mode selection.

AMDSMI_MAX_POWER_EFFICIENCY_UTIL#

[9:3]=Balanced core mode utilization point(%)

AMDSMI_MAX_POWER_EFFICIENCY_PPTLIMIT#

[30:10]=Balanced core mode PPT limit(mW)

AMDSMI_RAIL_INDEX_NONE#

Rail Index value defined as maximum when not passed.

AMDSMI_MAX_NUM_FREQUENCIES#

Maximum size definitions.

Guaranteed maximum possible number of supported frequencies

AMDSMI_MAX_FAN_SPEED#

Maximum possible value for fan speed for legacy hwmon GPUs. For GPUs with the gpu_od sysfs interface, use amdsmi_get_gpu_fan_speed_max() to query the actual maximum.

AMDSMI_NUM_VOLTAGE_CURVE_POINTS#

The number of points that make up a voltage-frequency curve definition

AMDSMI_EVENT_MASK_FROM_INDEX(i)#

Macro to generate event bitmask from event id.

AMDSMI_MAX_UTILIZATION_VALUES#

The max number of values per counter type.

AMDSMI_MAX_NUM_PM_POLICIES#

Maximum number of power management policies.

AMDSMI_MAX_NIC_PORTS#

Maximum size definitions AMDSMI NIC.

Maximum number of NIC ports

AMDSMI_MAX_NIC_RDMA_DEV#

Maximum number of NIC RDMA devices.

AMDSMI_MAX_NIC_FW#

Maximum number of NIC firmwares.

AMDSMI_FABRIC_LABEL_MAX_LENGTH#

Fabric textual label structure.

Labels must be null terminated Maximum length of the textual label (must be null terminated)

AMDSMI_FABRIC_PPOD_ID_SIZE#

Physical PoD Identifier size in bytes (128-bit UUID).

AMDSMI_MAX_CARVEOUT_OPTIONS#

Maximum carveout options.

Maximum number of UMA carveout options