From 27cae859100d29948d23f35271b7d106c765ad27 Mon Sep 17 00:00:00 2001 From: "AL Musaffar, Yazen" Date: Mon, 4 Aug 2025 14:40:18 -0500 Subject: [PATCH] [SWDEV-544092] Fix Navi process float conversion (#579) Signed-off-by: AL Musaffar, Yazen --- amdsmi_cli/amdsmi_commands.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/amdsmi_cli/amdsmi_commands.py b/amdsmi_cli/amdsmi_commands.py index 8b728a1671..cddad88098 100644 --- a/amdsmi_cli/amdsmi_commands.py +++ b/amdsmi_cli/amdsmi_commands.py @@ -6978,8 +6978,16 @@ class AMDSMICommands(): proc_info_dict['gtt'] = self.helpers.convert_bytes_to_readable(proc['memory_usage']['gtt_mem']) proc_info_dict['vram'] = self.helpers.convert_bytes_to_readable(proc['memory_usage']['vram_mem']) proc_info_dict['mem_usage'] = self.helpers.convert_bytes_to_readable(proc['mem']) - num_cu = float(proc['cu_occupancy']) - proc_info_dict['cu_occupancy'] = {"current_cu": num_cu, "total_num_cu": total_num_cu} + # Handle cu_occupancy conversion safely + try: + if proc['cu_occupancy'] != "N/A" and total_num_cu != "N/A": + num_cu = float(proc['cu_occupancy']) + proc_info_dict['cu_occupancy'] = {"current_cu": num_cu, "total_num_cu": total_num_cu} + else: + proc_info_dict['cu_occupancy'] = {"current_cu": "N/A", "total_num_cu": total_num_cu} + except (ValueError, TypeError): + proc_info_dict['cu_occupancy'] = {"current_cu": "N/A", "total_num_cu": total_num_cu} + all_process_list.append(proc_info_dict) except amdsmi_exception.AmdSmiLibraryException as e: logging.debug("Failed to get process list for gpu %s | %s", gpu_id, e.get_error_info())