Align header changes with other platforms

Change-Id: I366e57310e0504855692626e2b2014bea235ed6b
Signed-off-by: Dalibor Stanisavljevic <Dalibor.Stanisavljevic@amd.com>


[ROCm/amdsmi commit: 8dbc1d7d57]
This commit is contained in:
Dalibor Stanisavljevic
2023-06-01 14:46:21 +02:00
parent daba7ffdb2
commit 7fcee0d34b
13 changed files with 357 additions and 196 deletions
@@ -29,11 +29,11 @@ from . import amdsmi_wrapper
from .amdsmi_exception import *
class AmdSmiInitFlags(IntEnum):
ALL_DEVICES = amdsmi_wrapper.AMDSMI_INIT_ALL_DEVICES
AMD_CPUS = amdsmi_wrapper.AMDSMI_INIT_AMD_CPUS
AMD_GPUS = amdsmi_wrapper.AMDSMI_INIT_AMD_GPUS
NON_AMD_CPUS = amdsmi_wrapper.AMDSMI_INIT_NON_AMD_CPUS
NON_AMD_GPUS = amdsmi_wrapper.AMDSMI_INIT_NON_AMD_GPUS
INIT_ALL_PROCESSORS = amdsmi_wrapper.AMDSMI_INIT_ALL_PROCESSORS
INIT_AMD_CPUS = amdsmi_wrapper.AMDSMI_INIT_AMD_CPUS
INIT_AMD_GPUS = amdsmi_wrapper.AMDSMI_INIT_AMD_GPUS
INIT_NON_AMD_CPUS = amdsmi_wrapper.AMDSMI_INIT_NON_AMD_CPUS
INIT_NON_AMD_GPUS = amdsmi_wrapper.AMDSMI_INIT_NON_AMD_GPUS
class AmdSmiContainerTypes(IntEnum):
@@ -94,6 +94,38 @@ class AmdSmiFwBlock(IntEnum):
FW_ID_MC = amdsmi_wrapper.FW_ID_MC
FW_ID_PSP_BL = amdsmi_wrapper.FW_ID_PSP_BL
FW_ID_CP_PM4 = amdsmi_wrapper.FW_ID_CP_PM4
FW_ID_RLC_P = amdsmi_wrapper.FW_ID_RLC_P
FW_ID_SEC_POLICY_STAGE2 = amdsmi_wrapper.FW_ID_SEC_POLICY_STAGE2
FW_ID_REG_ACCESS_WHITELIST = amdsmi_wrapper.FW_ID_REG_ACCESS_WHITELIST
FW_ID_IMU_DRAM = amdsmi_wrapper.FW_ID_IMU_DRAM
FW_ID_IMU_IRAM = amdsmi_wrapper.FW_ID_IMU_IRAM
FW_ID_SDMA_TH0 = amdsmi_wrapper.FW_ID_SDMA_TH0
FW_ID_SDMA_TH1 = amdsmi_wrapper.FW_ID_SDMA_TH1
FW_ID_CP_MES = amdsmi_wrapper.FW_ID_CP_MES
FW_ID_MES_STACK = amdsmi_wrapper.FW_ID_MES_STACK
FW_ID_MES_THREAD1 = amdsmi_wrapper.FW_ID_MES_THREAD1
FW_ID_MES_THREAD1_STACK = amdsmi_wrapper.FW_ID_MES_THREAD1_STACK
FW_ID_RLX6 = amdsmi_wrapper.FW_ID_RLX6
FW_ID_RLX6_DRAM_BOOT = amdsmi_wrapper.FW_ID_RLX6_DRAM_BOOT
FW_ID_RS64_ME = amdsmi_wrapper.FW_ID_RS64_ME
FW_ID_RS64_ME_P0_DATA = amdsmi_wrapper.FW_ID_RS64_ME_P0_DATA
FW_ID_RS64_ME_P1_DATA = amdsmi_wrapper.FW_ID_RS64_ME_P1_DATA
FW_ID_RS64_PFP = amdsmi_wrapper.FW_ID_RS64_PFP
FW_ID_RS64_PFP_P0_DATA = amdsmi_wrapper.FW_ID_RS64_PFP_P0_DATA
FW_ID_RS64_PFP_P1_DATA = amdsmi_wrapper.FW_ID_RS64_PFP_P1_DATA
FW_ID_RS64_MEC = amdsmi_wrapper.FW_ID_RS64_MEC
FW_ID_RS64_MEC_P0_DATA = amdsmi_wrapper.FW_ID_RS64_MEC_P0_DATA
FW_ID_RS64_MEC_P1_DATA = amdsmi_wrapper.FW_ID_RS64_MEC_P1_DATA
FW_ID_RS64_MEC_P2_DATA = amdsmi_wrapper.FW_ID_RS64_MEC_P2_DATA
FW_ID_RS64_MEC_P3_DATA = amdsmi_wrapper.FW_ID_RS64_MEC_P3_DATA
FW_ID_PPTABLE = amdsmi_wrapper.FW_ID_PPTABLE
FW_ID_PSP_SOC = amdsmi_wrapper.FW_ID_PSP_SOC
FW_ID_PSP_DBG = amdsmi_wrapper.FW_ID_PSP_DBG
FW_ID_PSP_INTF = amdsmi_wrapper.FW_ID_PSP_INTF
FW_ID_RLX6_CORE1 = amdsmi_wrapper.FW_ID_RLX6_CORE1
FW_ID_RLX6_DRAM_BOOT_CORE1 = amdsmi_wrapper.FW_ID_RLX6_DRAM_BOOT_CORE1
FW_ID_RLCV_LX7 = amdsmi_wrapper.FW_ID_RLCV_LX7
FW_ID_RLC_SAVE_RESTORE_LIST = amdsmi_wrapper.FW_ID_RLC_SAVE_RESTORE_LIST
FW_ID_ASD = amdsmi_wrapper.FW_ID_ASD
FW_ID_TA_RAS = amdsmi_wrapper.FW_ID_TA_RAS
FW_ID_XGMI = amdsmi_wrapper.FW_ID_XGMI
@@ -286,6 +318,13 @@ class AmdSmiUtilizationCounterType(IntEnum):
COARSE_GRAIN_GFX_ACTIVITY = amdsmi_wrapper.AMDSMI_COARSE_GRAIN_GFX_ACTIVITY
COARSE_GRAIN_MEM_ACTIVITY = amdsmi_wrapper.AMDSMI_COARSE_GRAIN_MEM_ACTIVITY
class AmdSmiProcessorType(IntEnum):
UNKNOWN = amdsmi_wrapper.UNKNOWN
AMD_GPU = amdsmi_wrapper.AMD_GPU
AMD_CPU = amdsmi_wrapper.AMD_CPU
NON_AMD_GPU = amdsmi_wrapper.NON_AMD_GPU
NON_AMD_CPU = amdsmi_wrapper.NON_AMD_CPU
class AmdSmiEventReader:
def __init__(
@@ -499,7 +538,7 @@ def amdsmi_get_socket_info(socket_handle):
_check_res(
amdsmi_wrapper.amdsmi_get_socket_info(
socket_handle, socket_info, ctypes.c_size_t(128))
socket_handle, ctypes.c_size_t(128), socket_info)
)
return socket_info.value.decode()
@@ -536,7 +575,7 @@ def amdsmi_get_processor_handles() -> List[amdsmi_wrapper.amdsmi_processor_handl
return devices
def amdsmi_init(flag=AmdSmiInitFlags.AMD_GPUS):
def amdsmi_init(flag=AmdSmiInitFlags.INIT_AMD_GPUS):
if not isinstance(flag, AmdSmiInitFlags):
raise AmdSmiParameterException(flag, AmdSmiInitFlags)
_check_res(amdsmi_wrapper.amdsmi_init(flag))
@@ -559,7 +598,10 @@ def amdsmi_get_processor_type(
amdsmi_wrapper.amdsmi_get_processor_type(
processor_handle, ctypes.byref(dev_type))
)
return dev_type.value
return {
"processor_type": AmdSmiProcessorType(dev_type.value).name
}
def amdsmi_get_gpu_device_bdf(processor_handle: amdsmi_wrapper.amdsmi_processor_handle) -> str:
@@ -594,6 +636,7 @@ def amdsmi_get_gpu_asic_info(
return {
"market_name": asic_info.market_name.decode("utf-8"),
"vendor_id": asic_info.vendor_id,
"subvendor_id": asic_info.subvendor_id,
"device_id": asic_info.device_id,
"rev_id": asic_info.rev_id,
"asic_serial": asic_info.asic_serial.decode("utf-8"),
@@ -616,8 +659,8 @@ def amdsmi_get_power_cap_info(
)
return {"power_cap": power_info.power_cap,
"default_power_cap": power_info.default_power_cap,
"dpm_cap": power_info.dpm_cap,
"power_cap_default": power_info.default_power_cap,
"min_power_cap": power_info.min_power_cap,
"max_power_cap": power_info.max_power_cap}
@@ -638,9 +681,9 @@ def amdsmi_get_gpu_vbios_info(
return {
"name": vbios_info.name.decode("utf-8"),
"version": vbios_info.version.decode("utf-8"),
"build_date": vbios_info.build_date.decode("utf-8"),
"part_number": vbios_info.part_number.decode("utf-8"),
"version": vbios_info.version.decode("utf-8"),
}
@@ -668,7 +711,7 @@ def amdsmi_get_gpu_activity(
def amdsmi_get_clock_info(
processor_handle: amdsmi_wrapper.amdsmi_processor_handle,
clock_type: amdsmi_wrapper.amdsmi_clk_type_t,
clock_type: AmdSmiClkType,
) -> Dict[str, Any]:
if not isinstance(processor_handle, amdsmi_wrapper.amdsmi_processor_handle):
raise AmdSmiParameterException(
@@ -681,15 +724,15 @@ def amdsmi_get_clock_info(
_check_res(
amdsmi_wrapper.amdsmi_get_clock_info(
processor_handle,
amdsmi_wrapper.amdsmi_clk_type_t(clock_type),
clock_type,
ctypes.byref(clock_measure),
)
)
return {
"cur_clk": clock_measure.cur_clk,
"min_clk": clock_measure.min_clk,
"max_clk": clock_measure.max_clk,
"min_clk": clock_measure.min_clk,
}
@@ -824,44 +867,44 @@ def amdsmi_get_gpu_ras_block_features_enabled(
def amdsmi_get_gpu_process_list(
processor_handle: amdsmi_wrapper.amdsmi_processor_handle,
) -> List[amdsmi_wrapper.amdsmi_process_handle]:
) -> List[amdsmi_wrapper.amdsmi_process_handle_t]:
if not isinstance(processor_handle, amdsmi_wrapper.amdsmi_processor_handle):
raise AmdSmiParameterException(
processor_handle, amdsmi_wrapper.amdsmi_processor_handle
)
max_processes = ctypes.c_uint32(0)
process_list = (amdsmi_wrapper.amdsmi_process_handle *
process_list = (amdsmi_wrapper.amdsmi_process_handle_t *
max_processes.value)()
_check_res(
amdsmi_wrapper.amdsmi_get_gpu_process_list(
processor_handle, process_list, ctypes.byref(max_processes)
processor_handle, ctypes.byref(max_processes), process_list
)
)
process_list = (amdsmi_wrapper.amdsmi_process_handle *
process_list = (amdsmi_wrapper.amdsmi_process_handle_t *
max_processes.value)()
_check_res(
amdsmi_wrapper.amdsmi_get_gpu_process_list(
processor_handle, process_list, ctypes.byref(max_processes)
processor_handle, ctypes.byref(max_processes), process_list
)
)
return [amdsmi_wrapper.amdsmi_process_handle(x) for x in list(process_list)]
return [amdsmi_wrapper.amdsmi_process_handle_t(x) for x in list(process_list)]
def amdsmi_get_gpu_process_info(
processor_handle: amdsmi_wrapper.amdsmi_processor_handle,
process: amdsmi_wrapper.amdsmi_process_handle,
process: amdsmi_wrapper.amdsmi_process_handle_t,
) -> Dict[str, Any]:
if not isinstance(processor_handle, amdsmi_wrapper.amdsmi_processor_handle):
raise AmdSmiParameterException(
processor_handle, amdsmi_wrapper.amdsmi_processor_handle
)
if not isinstance(process, amdsmi_wrapper.amdsmi_process_handle):
if not isinstance(process, amdsmi_wrapper.amdsmi_process_handle_t):
raise AmdSmiParameterException(
process, amdsmi_wrapper.amdsmi_process_handle)
process, amdsmi_wrapper.amdsmi_process_handle_t)
info = amdsmi_wrapper.amdsmi_proc_info_t()
_check_res(
@@ -946,6 +989,8 @@ def amdsmi_get_power_info(
return {
"average_socket_power": power_measure.average_socket_power,
"gfx_voltage": power_measure.gfx_voltage,
'soc_voltage': power_measure.soc_voltage,
'mem_voltage': power_measure.mem_voltage,
"power_limit" : power_measure.power_limit,
}
@@ -1019,7 +1064,7 @@ def amdsmi_get_pcie_link_caps(
processor_handle, ctypes.byref(pcie_info))
)
return {"pcie_lanes": pcie_info.pcie_lanes, "pcie_speed": pcie_info.pcie_speed}
return {"pcie_speed": pcie_info.pcie_speed, "pcie_lanes": pcie_info.pcie_lanes}
def amdsmi_get_processor_handle_from_bdf(bdf):