Merge amd-staging into amd-master 20230118

Signed-off-by: Hao Zhou <Hao.Zhou@amd.com>
Change-Id: I4ce0f22e2d1fc3f347ab160d04a16a9c84afe0ab


[ROCm/amdsmi commit: 272a274313]
This commit is contained in:
Hao Zhou
2023-01-18 10:33:38 +08:00
4 changed files with 27 additions and 32 deletions
+1 -1
View File
@@ -844,7 +844,7 @@ Field | Description
`name` | Name of process
`pid` | Process ID
`mem` | Process memory usage
`usage`| <table><thead><tr> <th> Subfield </th> <th> Description</th> </tr></thead><tbody><tr><td>`gfx`</td><td>GFX engine usage</td></tr><tr><td>`compute`</td><td>Compute engine usage</td></tr><tr><td>`sdma`</td><td>DMA engine usage</td></tr><tr><td>`enc`</td><td>Encode engine usage</td></tr><tr><td>`dec`</td><td>Decode engine usage</td></tr></tbody></table>
`engine_usage`| <table><thead><tr> <th> Subfield </th> <th> Description</th> </tr></thead><tbody><tr><td>`gfx`</td><td>GFX engine usage</td></tr><tr><td>`compute`</td><td>Compute engine usage</td></tr><tr><td>`sdma`</td><td>DMA engine usage</td></tr><tr><td>`enc`</td><td>Encode engine usage</td></tr><tr><td>`dec`</td><td>Decode engine usage</td></tr></tbody></table>
`memory_usage`| <table><thead><tr> <th> Subfield </th> <th> Description</th> </tr></thead><tbody><tr><td>`gtt_mem`</td><td>GTT memory usage</td></tr><tr><td>`cpu_mem`</td><td>CPU memory usage</td></tr><tr><td>`vram_mem`</td><td>VRAM memory usage</td></tr> </tbody></table>
Exceptions that can be thrown by `amdsmi_get_process_info` function:
@@ -915,7 +915,7 @@ def amdsmi_get_process_info(
"name": info.name.decode("utf-8"),
"pid": info.pid,
"mem": info.mem,
"usage": {
"engine_usage": {
"gfx": list(info.engine_usage.gfx),
"compute": list(info.engine_usage.compute),
"sdma": list(info.engine_usage.sdma),
+20 -25
View File
@@ -487,6 +487,17 @@ amdsmi_xgmi_info_t = struct_amdsmi_xgmi_info
class struct_amdsmi_gpu_caps(Structure):
pass
class struct_amdsmi_gpu_caps_1(Structure):
pass
struct_amdsmi_gpu_caps_1._pack_ = 1 # source:False
struct_amdsmi_gpu_caps_1._fields_ = [
('mm_ip_count', ctypes.c_ubyte),
('mm_ip_list', ctypes.c_ubyte * 8),
('PADDING_0', ctypes.c_ubyte * 3),
('reserved', ctypes.c_uint32 * 5),
]
class struct_amdsmi_gpu_caps_0(Structure):
pass
@@ -499,17 +510,6 @@ struct_amdsmi_gpu_caps_0._fields_ = [
('reserved', ctypes.c_uint32 * 5),
]
class struct_amdsmi_gpu_caps_1(Structure):
pass
struct_amdsmi_gpu_caps_1._pack_ = 1 # source:False
struct_amdsmi_gpu_caps_1._fields_ = [
('mm_ip_count', ctypes.c_ubyte),
('mm_ip_list', ctypes.c_ubyte * 8),
('PADDING_0', ctypes.c_ubyte * 3),
('reserved', ctypes.c_uint32 * 5),
]
struct_amdsmi_gpu_caps._pack_ = 1 # source:False
struct_amdsmi_gpu_caps._fields_ = [
('gfx', struct_amdsmi_gpu_caps_0),
@@ -650,9 +650,6 @@ struct_amdsmi_board_info._fields_ = [
]
amdsmi_board_info_t = struct_amdsmi_board_info
class struct_amdsmi_temperature(Structure):
pass
class struct_amdsmi_power_measure(Structure):
pass
@@ -1914,8 +1911,8 @@ __all__ = \
'amdsmi_get_fw_info', 'amdsmi_get_gpu_activity',
'amdsmi_get_minmax_bandwidth', 'amdsmi_get_pcie_link_caps',
'amdsmi_get_pcie_link_status', 'amdsmi_get_power_cap_info',
'amdsmi_get_power_measure',
'amdsmi_get_process_info', 'amdsmi_get_process_list',
'amdsmi_get_power_measure', 'amdsmi_get_process_info',
'amdsmi_get_process_list',
'amdsmi_get_ras_block_features_enabled',
'amdsmi_get_socket_handles', 'amdsmi_get_socket_info',
'amdsmi_get_target_frequency_range',
@@ -1936,8 +1933,8 @@ __all__ = \
'amdsmi_od_volt_curve_t', 'amdsmi_od_volt_freq_data',
'amdsmi_od_volt_freq_data_t', 'amdsmi_pcie_bandwidth',
'amdsmi_pcie_bandwidth_t', 'amdsmi_pcie_info_t',
'amdsmi_power_cap_info_t',
'amdsmi_power_measure_t', 'amdsmi_power_profile_preset_masks',
'amdsmi_power_cap_info_t', 'amdsmi_power_measure_t',
'amdsmi_power_profile_preset_masks',
'amdsmi_power_profile_preset_masks__enumvalues',
'amdsmi_power_profile_preset_masks_t',
'amdsmi_power_profile_preset_masks_t__enumvalues',
@@ -1950,7 +1947,7 @@ __all__ = \
'amdsmi_set_perf_determinism_mode', 'amdsmi_shut_down',
'amdsmi_socket_handle', 'amdsmi_status_string', 'amdsmi_status_t',
'amdsmi_stop_event_notification', 'amdsmi_sw_component_t',
'amdsmi_temperature_metric',
'amdsmi_sw_component_t__enumvalues', 'amdsmi_temperature_metric',
'amdsmi_temperature_metric__enumvalues',
'amdsmi_temperature_metric_t',
'amdsmi_temperature_metric_t__enumvalues',
@@ -1985,12 +1982,10 @@ __all__ = \
'struct_amdsmi_fw_info_0', 'struct_amdsmi_gpu_caps',
'struct_amdsmi_gpu_caps_0', 'struct_amdsmi_gpu_caps_1',
'struct_amdsmi_pcie_info', 'struct_amdsmi_power_cap_info',
'struct_amdsmi_power_limit', 'struct_amdsmi_power_measure',
'struct_amdsmi_process_info', 'struct_amdsmi_process_info_0',
'struct_amdsmi_process_info_1', 'struct_amdsmi_temperature',
'struct_amdsmi_vbios_info',
'struct_amdsmi_vram_info', 'struct_amdsmi_xgmi_info',
'struct_c__SA_amdsmi_counter_value_t',
'struct_amdsmi_power_measure', 'struct_amdsmi_process_info',
'struct_amdsmi_process_info_0', 'struct_amdsmi_process_info_1',
'struct_amdsmi_vbios_info', 'struct_amdsmi_vram_info',
'struct_amdsmi_xgmi_info', 'struct_c__SA_amdsmi_counter_value_t',
'struct_c__SA_amdsmi_error_count_t',
'struct_c__SA_amdsmi_evt_notification_data_t',
'struct_c__SA_amdsmi_freq_volt_region_t',
+5 -5
View File
@@ -129,21 +129,21 @@ amdsmi_status_t smi_amdgpu_get_board_info(amd::smi::AMDSmiGPUDevice* device, amd
FILE *fp;
fp = fopen(product_name_path.c_str(), "rb");
if (!fp) {
if (fp) {
fgets(info->product_name, sizeof(info->product_name), fp);
fclose(fp);
}
fp = fopen(product_number_path.c_str(), "rb");
if (!fp) {
if (fp) {
fgets(info->model_number, sizeof(info->model_number), fp);
fclose(fp);
}
fp = fopen(serial_number_path.c_str(), "rb");
if (!fp) {
if (fp) {
fscanf(fp, "%lx", &info->serial_number);
fclose(fp);
}
@@ -402,9 +402,9 @@ amdsmi_status_t smi_amdgpu_get_driver_version(amd::smi::AMDSmiGPUDevice* device,
std::string path = "/sys/module/amdgpu/version";
fp = fopen(path.c_str(), "r");
if (!fp){
if (fp == nullptr){
fp = fopen("/proc/version", "r");
if (!fp) {
if (fp == nullptr) {
status = AMDSMI_STATUS_IO;
return status;
}