diff --git a/tools/scripts/rcclDiagnostics.py b/tools/scripts/rcclDiagnostics.py index 8b256afce3..3db0affe41 100644 --- a/tools/scripts/rcclDiagnostics.py +++ b/tools/scripts/rcclDiagnostics.py @@ -347,21 +347,25 @@ def get_rocminfo(): gpu_pattern = re.compile(r"Name:\s+(gfx\d+)(?:.*?Marketing Name:\s+([^\n]+))?.*?Compute Unit:\s+(\d+)", re.DOTALL) matches = gpu_pattern.findall(result.stdout) num_gpus = len(matches) - valid_marketing_names = ["MI300X", "MI200", "MI300A", "MI308"] + valid_marketing_names = ["MI300X", "MI300A", "MI300", "MI250X/MI250", "MI200"] gpu_name = "" for name in valid_marketing_names: if name in matches[0][1]: gpu_name = name break if gpu_name == "": - if "gfx942" == matches[0][0] and 304 == int(matches[0][2]): - gpu_name = "MI300X" - elif "gfx942" == matches[0][0] and 80 == int(matches[0][2]): - gpu_name = "MI308" - elif "gfx942" == matches[0][0] and 228 == int(matches[0][2]): - gpu_name = "MI300A" - elif "gfx90a" == matches[0][0] and 228 == int(matches[0][2]): - gpu_name = "MI200" + if "gfx942" == matches[0][0]: + if 304 == int(matches[0][2]): + gpu_name = "MI300X" + elif 228 == int(matches[0][2]): + gpu_name = "MI300A" + else: + gpu_name = f"MI300 with {int(matches[0][2])} CUs" + elif "gfx90a" == matches[0][0]: + if 104 <= int(matches[0][2]): + gpu_name = "MI250X/MI250" + else: + gpu_name = f"MI200 with {int(matches[0][2])} CUs" summary = f"Found {num_gpus} {gpu_name} GPUs" else: summary = "Unable to detect"